Hi,
I’m having an issue with my Yocto build for the iMX8QM. I’ve previously built custom Yocto-based images for an iMX6Q without problem, but for some reason I’m running into this issue, despite following the (seemingly) exact same process I documented for the iMX6Q.
I’ve cloned the linux-toradex kernel source and have made some file changes (touchscreen Kconfig file, touchscreen Makefile, etc.), and produced their respective patch files. I’ve included each of the patch files in a recipes-kernel/linux/linux-toradex-4.14-2.3.x directory in my custom meta layer, and have added each to the SRC_URI entry of the linux-toradex_4.14-2.3.x.bbappend file in the recipes-kernel/linux/ directory. Tree representation as follows:
/home/path/meta-mylayer/
├── conf
│ ├── layer.conf
│ └── machine
│ └── mymachine.conf
├── recipes-bsp
│ └── u-boot
│ └── u-boot-toradex
├── recipes-images
│ └── images
│ ├── mylayer-image.bb
│ └── tdx-extra.inc
└── recipes-kernel
└── linux
├── linux-toradex-4.14-2.3.x
│ ├── 0001-TouchscreenKconfig.patch
│ ├── 0002-TouchscreenMakefile.patch
│ ├── 0003-DeviceTree.patch
│ ├── mylayer_defconfig
│ ├── logo_custom_clut224.ppm
└── linux-toradex_4.14-2.3.x.bbappend
My linux-toradex_4.14-2.3.x.bbappend file is as follows:
FILESEXTRAPATHS_prepend := "${THISDIR}/linux-toradex-4.14-2.3.x:"
SUMMARY = "Mylayer Configuration"
SRC_URI += " \
file://0001-TouchscreenKconfig.patch \
file://0002-TouchscreenMakefile.patch \
file://0003-DeviceTree.patch \
file://mylayer_defconfig \
file://logo_custom_clut224.ppm \
"
do_unpack_append() {
import os
os.system("cp ${PWD}/logo_custom_clut224.ppm ${PWD}/git/drivers/video/logo/")
}
COMPATIBLE_MACHINE = "(mx6|mx7|mx8|mymachine)"
As per my earlier comment, the above approach is how I’ve setup my previous iMX6Q-based builds which have worked as expected. The issue I’m having at the moment, is that despite bitbake virtual/kernel
compiling without error, the build process always uses the default ‘defconfig’ file, not my mylayer_defconfig file as per the .bbappend file. The other aspects of the .bbappend appear to work (the logo_custom_clu224.ppm file is integrated into the video/logo drivers, and elements of the device tree patch appear to be included in the final output as well (I haven’t tested/review this exhaustively though).
My custom meta layer has the highest priority, so my understanding was that the mylayer_defconfig file would be used? I’ve seen some other similar questions where people had to move the custom defconfig file to other locations within the build process from within their .bbappend file (e.g. from within a do_preconfigure_prepend() command), but I didn’t have to do this with my iMX6Q process so don’t feel like that’s the right answer. I feel like I’m missing something more obvious here. Any guidance would be greatly appreciated!