Re: How to develop kernel modules on the target?


Bruce Ashfield
 

On Mon, Dec 28, 2020 at 2:06 PM p32 via lists.yoctoproject.org
<p32=tuta.io@...> wrote:

Hello,

The execution of "make scripts prepare" did actually solve the issue, thank you very much for your help!

However, the need to manually execute this command on the target platform made me look into the kernel-devsrc recipe (https://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/recipes-kernel/linux/kernel-devsrc.bb?h=zeus) to see if it is possible to let the build host execute this step. Some comments imply that this is the case. Consider, for instance, the one in line 257:

Ensure we don't race against "make scripts" during cpio

Unfortunately, I was unable to figure out how to do this. Is there a way to let the recipe trigger this step automatically?
Nope. There is no way to do this on the build host. Not without
complex use of qemu-user to generate and package for the target
architecture. We cannot package the output of scripts in the target
package, since it matches the host architecture and this will trigger
a QA error.

If you happen to be x86 build host and x86 target (or ARM/ARM), you
can partially get away with just invoking the steps .. but this needs
to be in your own layer and is a hack, and not appropriate for core.

About 4 years ago, we were partially through doing this work, when the
person doing the qemu parts stopped working on the project. The
partial work is captured in bugzilla.

Cheers,

Bruce

Thanks!


--
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II

Join yocto@lists.yoctoproject.org to automatically receive all group messages.