[yocto] Shared State Cache and STAGING_KERNEL_DIR
Koehler, Yannick
yannick.koehler at hpe.com
Mon Jun 26 06:05:28 PDT 2017
Hi,
I am in need of assistance. I have a package that install headers required for a kernel modules build out-of-tree. To enable the kernel module to build, I install the required header files under STAGING_KERNEL_DIR, and it works for the first build, subsequent builds failed due to the shared state cache artefact missing the files installed in the STAGING_KERNEL_DIR folder as this is not part of the output content looked at to build the .ipk files (I assume).
As such, I would like to understand what would be the correct approach for me to have headers shared across multiple package at the kernel level. I understand that for user space, we install to /usr/include and that then gets packaged and re-install to the sysroot using STAGING_INCDIR. Is there a similar system for kernel level sharing of header files?
I am thinking of 2 approach to solve my solution, one would be to install the header under STAGING_INCDIR and then add a CFLAGS to my kernel module to include the STAGING_INCDIR during compilation. This looks like a hack to me since this folder was not intended to be used for kernel space building.
Second solution I can think of, is to instruct the Shared State Cache system to look for output change in STAGING_KERNEL_DIR and record those, so that they get somehow restored. I have attempted to do so by adding
do_install[sstate-outputdirs] += "${STAGING_KERNEL_DIR}"
statement, but it didn't appear to have worked successfully.
Any help would be appreciated.
--
Yannick Koehler
More information about the yocto
mailing list