Hello!

Kernel modules depend on a specific version of the kernel package that includes 
the Git commit hash of the kernel source tree at compile time (KERNEL_VERSION). 
When using a patched kernel source this Git commit hash changes each time the 
patches get applied, making each kernel binary effectively unique. This 
KERNEL_VERSION, however, is not part of the shared state hash signature, as for 
this purpose it gets replaced by the plain LINUX_VERSION.

Building out-of-tree kernel modules depend on a locally compiled kernel. Doing 
this in a clean working directory leads to a freshly patched kernel source 
which in turn results in a new KERNEL_VERSION. The out-of-tree kernel module 
then RDEPENDS on a kernel package with this new KERNEL_VERSION. As the shared 
state signature of the newly compiled kernel matches the existing one (the 
LINUX_VERSION hasn't changed) the new kernel is not packaged and doesn't end up 
in the package feed.

Consequently installation of the out-of-tree kernel module fails as the 
required kernel package is not available.

I have tried to make the packages aware of the specific KERNEL_VERSION. But as 
this variable gets re-assigned during parsing I get unstable basehash values.

Another approach would be to apply the patches in the upstream repository to 
circumvent the need for local patching.

Is there an easier way?

Christian

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#64358): https://lists.yoctoproject.org/g/yocto/message/64358
Mute This Topic: https://lists.yoctoproject.org/mt/109804058/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to