Hi,
I am new to this dist-list and I am not sure if this is the right forum. My
apologies beforehand if this is not the right list.
Problem statement:
I am evaluating Yocto for a project. We have a workflow where linux kernel is
built from a local git repo separately from the root file system.
I made a recipe to build rootfs using yocto to our target, I deployed both
images (Kernel built from our git repo + rootfs generated by Yocto) ... all
this works great.
Now I want to add a couple of kernel modules provided by a third party vendor.
If the module is built along with our kernel build system (and deployed to
target), they work fine.
Is there a way to build kernel modules with Yocto and point them to the
includes of our git kernel repo just to satisfy the kernel dependencies?
In attempts to explore options, I made a yocto kernel recipe to build a kernel
from our internal git repo.
I made also yocto recipes to build the kernel modules which resolve
dependencies for kernel header files with above yocto kernel recipes.
All above builds fine, I can deploy the rootfs which includes the .ko files I
need, I even ask yocto to autoinitialize the modules on boot.
Rootfs fails to load the modules like this:
[FAILED] Failed to start Load Kernel Modules.
See 'systemctl status systemd-modules-load.service' for details.
When I try to insmod the module manually it fails with a vermagic error like
this:
# insmod hello-mod.ko
hello: version magic '4.9.13_1.0.0_hgv+g68f8dea22b SMP preempt mod_unload
ARMv7 p2v8 ' should be '4.9.13 SMP preempt mod_unload ARMv7 p2v8 '
insmod ERROR: could not insert module hello.ko: Invalid module format
I've read enough and it seems like this is because the kernel image deployed
generated with our separate workflow has a uname as 4.9.13 and it seems like
yocto adds the string _1.0.0_hgv+g68f8dea22b to the vermagic... of the kernel
modules, which seems to come from the kernel recipe I generated to satisfy the
dependencies to build the module.
I want to know if there is a way to keep building our kernel separately from
the root file system and kernel modules with yocto.
This is just because our workflows are separate for the project we're working
on. If we build the kernel with yocto, the internal workflows will change and
we are evaluating the options we have.
Thanks, I'll appreciate any help and if this is not the right dist-list, please
let me know where it's best to get help.
--Hernan
--
_______________________________________________
linux-yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/linux-yocto