RFC: enable building of out-of-tree modules
cover RFC: enable building of out-of-tree modules
From: Darren Hart <[email protected]>
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.
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
Quoted 6 lines · Darren Hart
From: Darren Hart<[email protected]>
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.
Quoted 6 lines
When building with the hello-world-mod, the resulting rootfs is missing all the other kernel modules (
/lib/modules/KERNEL_VER/extrascontains hello-world.ko, but/lib/modules/KERNEL_VER/kernelis 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@rage:build$ ls tmp/sysroots/qemux86/lib/modules/2.6.37.2-yocto-standard+ build extra kernel modules.builtin modules.order source dvhart@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@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@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@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@rage:build$ ls tmp/sysroots/qemux86/lib/modules/2.6.37.2-yocto-standard+ build extra kernel modules.builtin modules.order source dvhart@rage:build$ ls tmp/sysroots/qemux86/lib/modules/2.6.37.2-yocto-standard+/extra/ hello_world.ko dvhart@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@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
Quoted 24 lines
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.bbclassmeta/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.ccreate mode 100644 meta/recipes-kernel/hello-world-mod/hello-world-mod.bb_______________________________________________
poky mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/poky
Signature · 3 lines
Darren Hart Intel Open Source Technology Center Yocto Project - Linux Kernel
Quoted 14 lines · Darren Hart
Quoted 6 lines · Darren Hart
From: Darren Hart<[email protected]>
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.
Quoted 6 lines
When building with the hello-world-mod, the resulting rootfs is missing all the other kernel modules (
/lib/modules/KERNEL_VER/extrascontains hello-world.ko, but/lib/modules/KERNEL_VER/kernelis 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.
Quoted 3 lines
CC'ing Saul and Mark hoping they may have some packaging insight into why this might be happening.
Darren,
I messed around with your branch tonight (after my migraine went away finally). I set in my local.conf
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += " hello-world-mod "
I tried it at first and it seemed to fail, but I cleanall'ed both hello-world-mod and task-poky-boot and that seemed to do the trick. Might have been a stale task-poky-boot was not getting rebuilt properly.
I saw both a /lib/modules/<KERNELVER>/extra and
/lib/modules/<KERNELVER>/kernel in my images.
Sau!
Quoted 67 lines
These patches are now available in my contrib/dvhart/modules branch.
I've tried with both rpm and ipk
root_fspackaging and get the same result. If I include hello-world-mod in the image, the/lib/modules/KERNELVER/kerneldirectory isn't present in the final rootfs, for example:BUILDING WITHOUT hello-world-mod in the image:
dvhart@rage:build$ ls tmp/sysroots/qemux86/lib/modules/2.6.37.2-yocto-standard+ build extra kernel modules.builtin modules.order source dvhart@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@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@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@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.koBUILDING WITH hello-world-mod in the image:
dvhart@rage:build$ ls tmp/sysroots/qemux86/lib/modules/2.6.37.2-yocto-standard+ build extra kernel modules.builtin modules.order source dvhart@rage:build$ ls tmp/sysroots/qemux86/lib/modules/2.6.37.2-yocto-standard+/extra/ hello_world.ko dvhart@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@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.symbolsStill digging, but I'm mostly just stumbling around in the dark.
--
DarrenQuoted 24 lines
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.bbclassmeta/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.ccreate mode 100644 meta/recipes-kernel/hello-world-mod/hello-world-mod.bb_______________________________________________
poky mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/poky