[poky] [PATCH 0/2] RFC: enable building of out-of-tree modules

Darren Hart dvhart at linux.intel.com
Wed Mar 2 15:34:31 PST 2011


On 03/02/2011 10:00 AM, Darren Hart wrote:
> From: Darren Hart<dvhart at linux.intel.com>
> 
> The following patches provide a mechanism to address [BUGID #241] through
> two additions to module.bbclass which build and clean the hostprogs. The
> second patch adds an example kernel module.
> 
> When building with the hello-world-mod, the resulting rootfs is missing
> all the other kernel modules (/lib/modules/KERNEL_VER/extras contains
> hello-world.ko, but /lib/modules/KERNEL_VER/kernel is missing). The
> sysroots has all the modules, but the rootfs generated by the image
> recipe only has the hello-world module. This is the last wrinkle to
> iron out, any ideas on how to address this would be appreciated.

CC'ing Saul and Mark hoping they may have some packaging insight into why this
might be happening.

These patches are now available in my contrib/dvhart/modules branch.

I've tried with both rpm and ipk root_fs packaging and get the same result. If
I include hello-world-mod in the image, the /lib/modules/KERNELVER/kernel
directory isn't present in the final rootfs, for example:

BUILDING WITHOUT hello-world-mod in the image:

dvhart at rage:build$ ls tmp/sysroots/qemux86/lib/modules/2.6.37.2-yocto-standard+
build  extra  kernel  modules.builtin  modules.order  source
dvhart at rage:build$ ls tmp/sysroots/qemux86/lib/modules/2.6.37.2-yocto-standard+/kernel/fs
autofs4  binfmt_misc.ko  cifs  configfs  jbd2  minix  nls  ocfs2  quota  reiserfs  romfs
dvhart at rage:build$ ls tmp/work/qemux86-poky-linux/poky-image-sato-1.0-r0/rootfs/lib/modules/2.6.37.2-yocto-standard+
kernel             modules.ccwmap   modules.devname      modules.isapnpmap  modules.seriomap  modules.symbols.bin
modules.alias      modules.dep      modules.ieee1394map  modules.ofmap      modules.softdep   modules.usbmap
modules.alias.bin  modules.dep.bin  modules.inputmap     modules.pcimap     modules.symbols
dvhart at rage:build$ ls tmp/work/qemux86-poky-linux/poky-image-sato-1.0-r0/rootfs/lib/modules/2.6.37.2-yocto-standard+/kernel/fs/
nls
dvhart at rage:build$ ls tmp/work/qemux86-poky-linux/poky-image-sato-1.0-r0/rootfs/lib/modules/2.6.37.2-yocto-standard+/kernel/fs/nls/
nls_utf8.ko


BUILDING WITH hello-world-mod in the image:

dvhart at rage:build$ ls tmp/sysroots/qemux86/lib/modules/2.6.37.2-yocto-standard+
build  extra  kernel  modules.builtin  modules.order  source
dvhart at rage:build$ ls tmp/sysroots/qemux86/lib/modules/2.6.37.2-yocto-standard+/extra/
hello_world.ko
dvhart at rage:build$ ls tmp/sysroots/qemux86/lib/modules/2.6.37.2-yocto-standard+/kernel/fs
autofs4  binfmt_misc.ko  cifs  configfs  jbd2  minix  nls  ocfs2  quota  reiserfs  romfs
dvhart at rage:build$ ls tmp/work/qemux86-poky-linux/poky-image-sato-1.0-r0/rootfs/lib/modules/2.6.37.2-yocto-standard+
extra              modules.ccwmap   modules.devname      modules.isapnpmap  modules.seriomap  modules.symbols.bin
modules.alias      modules.dep      modules.ieee1394map  modules.ofmap      modules.softdep   modules.usbmap
modules.alias.bin  modules.dep.bin  modules.inputmap     modules.pcimap     modules.symbols


Still digging, but I'm mostly just stumbling around in the dark.

--
Darren

> Gary, can you try the module.bbclass with your module to see if it
> builds successfully?
> 
> Thanks,
> 
> Darren Hart (2):
>    module: build and clean hostprogs for each module
>    hello-world-mod: add a module for testing module.bbclass
> 
>   meta/classes/module.bbclass                        |   21 ++-
>   meta/recipes-kernel/hello-world-mod/files/COPYING  |  340 ++++++++++++++++++++
>   meta/recipes-kernel/hello-world-mod/files/Makefile |   14 +
>   .../hello-world-mod/files/hello_world.c            |   33 ++
>   .../hello-world-mod/hello-world-mod.bb             |   15 +
>   5 files changed, 422 insertions(+), 1 deletions(-)
>   create mode 100644 meta/recipes-kernel/hello-world-mod/files/COPYING
>   create mode 100644 meta/recipes-kernel/hello-world-mod/files/Makefile
>   create mode 100644 meta/recipes-kernel/hello-world-mod/files/hello_world.c
>   create mode 100644 meta/recipes-kernel/hello-world-mod/hello-world-mod.bb
> 
> _______________________________________________
> poky mailing list
> poky at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/poky


-- 
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel



More information about the poky mailing list