I’m looking to build a custom OE-Core image for use with my custom device tree, kernel and u-boot binaries. I’ve built the custom device tree, kernel and u-boot (including SPL) binaries outside the OE-Core environment. I’ve verified that each of these binaries works correctly by using them in place of the standard files in the ‘Apalis-iMX6_Console-Image-Tezi_3.0b2.65’ file from here. I.e. I can flash the modified files via a USB stick using the Easy Installer, and the console image boots correctly on my custom carrier board, running my custom kernel.
With the device tree, kernel and u-boot customisations and associated processes understood, I’ve turned my attention to the OE-Core process. I will endeavour to create a custom layer for my board/application in due course, but for the time being I’m looking to make a few changes to the standard LinuxImageV2.8 image via the OE-Core/build/conf/local.conf file. Namely I’m looking to add some Qt5 packages, and remove X11 and Wayland as I’ll be using eglfs. If I make the required local.conf changes and bitbake the standard console-tdx-image, I am able to flash the module and verify that the Qt5 packages are indeed installed, and am able to run the cinematicexperience program with the -platform eglfs flag. Success!
This is where I run into some issues. From what I’ve read, I should be able to replace the .dtb, u-boot.img (and SPL) and zImage files generated by the bitbake build in the ‘Apalis-iMX6_Console-Image-Tezi_2.8b6-20191002.tar’ folder in the OE-Core/deploy/images/apalis-imx6 directory with my custom equivalents, as I did earlier with the ‘Apalis-iMX6_Console-Image-Tezi_3.0b2.65’ image. This obviously requires extracting the bootfs folder, removing the standard .dtb and zImage files, adding my custom .dtb and zImage files then recompressing the folder in the tar.xz format. Similarly, the u-boot.img and SPL files can be swapped out, as well as the uEnv.txt file as I’ve made a few variable changes (namely vidargs for my custom board’s LVDS interface). I also make some minor changes to image.json.
I’m able to flash the module using the Easy Installer, but when I try and boot the device the console shows the following:
Booting from internal eMMC chip... reading imx6q-apalis-custom.dtb ** Unable to read file imx6q-apalis-custom.dtb ** reading zImage ** Unable to read file zImage ** emmcboot failed
The *bootfs.tar.xz folder on the USB stick used for flashing has both the imx6q-apalis-custom.dtb and zImage files, so I’m not sure why this error is occurring? As mentioned above, if I don’t make these changes, the standard imx6q-apalis-eval.dtb and zImage are read without issue.
Any ideas as to what I’m doing wrong?