[yocto] Shared State Cache and STAGING_KERNEL_DIR

Koehler, Yannick yannick.koehler at hpe.com
Mon Jun 26 06:05:28 PDT 2017


  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