Topics

#yocto sstate cache problem with #raspberrypi #linux build #yocto #raspberrypi #linux


gvkalra@...
 

Hi,

I apply a few small patches in linux-raspberrypi to use a custom logo depending on an environment variable MY_VENDOR_NAME:

FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"

SRC_URI += "\
    file://0001-fbdev-fbmem-add-config-option-to-center-the-bootup-l.patch \
    file://0002-fbdev-fbmem-display-single-copy-of-logo.patch \
    file://0003-video-logo-add-custom-logo.patch \
    file://${@d.getVar('MY_VENDOR_NAME')}.ppm \
    file://custom.cfg \
    "

do_kernel_checkout_append() {
    cp ${WORKDIR}/${MY_VENDOR_NAME}".ppm" ${S}/drivers/video/logo/logo_custom_clut224.ppm
}
I have added MY_VENDOR_NAME to BB_ENV_EXTRAWHITE, and based on the value of the environment variable,
I copy the required logo file (.ppm) to the checked-out kernel source tree (inside do_kernel_checkout_append).

In addition, I build an out-of-tree kernel module (same for all vendors), and it is added to the image through IMAGE_INSTALL.
The kernel module doesn't depend on the MY_VENDOR_NAME variable anywhere.

This works well for me only if I use a different SSTATE_DIR for each MY_VENDOR_NAME.

If I use the same SSTATE_DIR for all the vendors,
the kernel module reports "disagrees about version of symbol module_layout" error, and doesn't get loaded.

Most of my distro is the same for all the vendors and has just minor modifications based on MY_VENDOR_NAME variable.
Is there a way to use the same SSTATE_DIR?

Thanks