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