the problem with these two recipes is that my other overlays are deleted all what i find after extracting my bootfs are the new overlays
this is from an old build :
Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!
Did you like my answer?
Hello!
It seems you’re encountering issues with your Yocto recipes where existing overlays are being removed when you add new ones. To address this, it’s crucial to ensure that you are appending to the TEZI_EXTERNAL_KERNEL_DEVICETREE and TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT variables rather than overwriting them. You should use the += operator to append new overlays, which helps preserve the existing ones. Here’s an example:
This approach should prevent the deletion of existing overlays by adding the new ones to the list.
Regarding the long build times, here are some steps you can take:
Check for Syntax Errors: Ensure there are no syntax errors in your recipes that might cause the build process to hang. Double-check the use of backslashes and spaces.
Review Build Logs: Examine the build logs for any errors or warnings that could indicate what is causing the delay.
Resource Allocation: Make sure your build environment has sufficient resources (CPU, RAM, disk space) to handle the build process efficiently.
Incremental Builds: If possible, try performing an incremental build to see if it reduces the build time.
By following these steps, you should be able to resolve the issues with your device tree overlays and improve the build process efficiency.
Best regards,
Toradex AI Assistant
Please, also check if these links can help you solve your problem:
FILESEXTRAPATHS:prepend := "${THISDIR}/device-tree-overlays:"
SRC_URI += "\
file://apalis-imx8_can_bus_overlay.dts \
file://apalis-imx8_disable-cm40-uart_overlay.dts \
file://apalis-imx8_hmp_overlay.dts \
"
#compiles and makes the overlay available to be used
TEZI_EXTERNAL_KERNEL_DEVICETREE += "\
apalis-imx8_can_bus_overlay.dtbo \
apalis-imx8_disable-cm40-uart_overlay.dtbo \
apalis-imx8_hmp_overlay.dtbo \
"
#add the already compiled overlay to overlays.txt
TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT += "\
apalis-imx8_can_bus_overlay.dtbo \
apalis-imx8_disable-cm40-uart_overlay.dtbo \
apalis-imx8_hmp_overlay.dtbo \
"
do_collect_overlays:prepend() {
cp ${WORKDIR}/apalis-imx8_can_bus_overlay.dts ${S}
cp ${WORKDIR}/apalis-imx8_disable-cm40-uart_overlay.dts ${S}
cp ${WORKDIR}/apalis-imx8_hmp_overlay.dts ${S}
}
this is the error that shows
ERROR: device-tree-overlays-toradex_5.15-2.2.x-imx+gitAUTOINC+939f660fed-r0 do_deploy: apalis-imx8_hdmi_overlay.dtbo is not installed in your boot filesystem, please make sure it's in TEZI_EXTERNAL_KERNEL_DEVICETREE or being provided by virtual/dtb.
ERROR: device-tree-overlays-toradex_5.15-2.2.x-imx+gitAUTOINC+939f660fed-r0 do_deploy: ExecutionError('/home/rania/pixii_os/pixii_os/build/tmp/work/apalis_imx8-tdx-linux/device-tree-overlays/toradex_5.15-2.2.x-imx+gitAUTOINC+939f660fed-r0/temp/run.do_deploy.7635', 1, None, None)
ERROR: Logfile of failure stored in: /home/rania/pixii_os/pixii_os/build/tmp/work/apalis_imx8-tdx-linux/device-tree-overlays/toradex_5.15-2.2.x-imx+gitAUTOINC+939f660fed-r0/temp/log.do_deploy.7635
ERROR: Task (/home/rania/pixii_os/pixii_os/build/../layers/meta-toradex-nxp/recipes-kernel/linux/device-tree-overlays_git.bb:do_deploy) failed with exit code '1'
From this, we can see that the error is pointing you to the solution: add your overlay to TEZI_EXTERNAL_KERNEL_DEVICETREE.
Please find below an example of how I add overlays to my Yocto builds.
I start by creating the bbappend for device tree overlays. Please note that the target for your .bbapend depends on the module you will build for and if it will be based on upstream or downstream kernel. See below the available device-tree-overlays recipes on BSP 7:
In your case, since you are using Apalis iMX8QM, I expect you are using downstream-based Linux Kernel, therefore you will need to create the .bbappend for meta-toradex-nxp/recipes-kernel/linux/device-tree-overlays_git.bb. This can be done manually or using the recipetool command. From what I can see, you already know the drill to create the .bbappend, so I will skip the creation details.
And the actual device tree overlay file is located in meta-grilo-experiments/recipes-kernel/linux/device-tree-overlays/my-device-tree_overlay.dts
With this, the outcome will be: all the overlays will be available, but only my-device-tree_overlay.dtbo will be enabled. You can use the variables TEZI_EXTERNAL_KERNEL_DEVICETREE and TEZI_EXTERNAL_KERNEL_DEVICETREE_BOOT according to your requirements to deploy and pre-enable the device tree overlays you need. To know what they do, please check the comments on toradex-devicetree.bbclass « classes - meta-toradex-bsp-common.git - Toradex BSP layer, recipes common to all modules.