I am attempting to build a modified kernel (to enable some missing drivers and add associated userland utilities), building a TorizonCore image as described Here.
I have created my own meta-layer with a kernel recipe, userland recipe and an image definition. It built fine… once. Thereafter, any time I touch anything that bitbake thinks needs the kernel recompiled, I get the following errors:
| make[2]: *** No rule to make target 'arch/arm64/boot/dts/freescale/imx8qm-apalis-eval-ar0521.dtb'. Stop.
| /home/gregory-bond/Workspace/TorizonCore/build-torizon/tmp-torizon/work-shared/apalis-imx8/kernel-source/Makefile:1246: recipe for target 'freescale/imx8qm-apalis-eval-ar0521.dtb' failed
| make[1]: *** [freescale/imx8qm-apalis-eval-ar0521.dtb] Error 2
| /home/gregory-bond/Workspace/TorizonCore/build-torizon/tmp-torizon/work-shared/apalis-imx8/kernel-source/Makefile:179: recipe for target 'sub-make' failed
| make: *** [sub-make] Error 2
| ERROR: oe_runmake failed
| WARNING: exit code 1 from a shell command.
| ERROR: Execution of '/home/gregory-bond/Workspace/TorizonCore/build-torizon/tmp-torizon/work/apalis_imx8-tdx-linux/linux-toradex/5.4.47+gitAUTOINC+2521581b9b+gitAUTOINC+2521581b9b-r0/temp/run.do_compile.68095' failed with exit code 1:
| GEN Makefile
| CALL /home/gregory-bond/Workspace/TorizonCore/build-torizon/tmp-torizon/work-shared/apalis-imx8/kernel-source/scripts/atomic/check-atomics.sh
| CALL /home/gregory-bond/Workspace/TorizonCore/build-torizon/tmp-torizon/work-shared/apalis-imx8/kernel-source/scripts/checksyscalls.sh
| CHK include/generated/compile.h
| make[2]: *** No rule to make target 'arch/arm64/boot/dts/freescale/imx8qm-apalis-eval-ar0521.dtb'. Stop.
| /home/gregory-bond/Workspace/TorizonCore/build-torizon/tmp-torizon/work-shared/apalis-imx8/kernel-source/Makefile:1246: recipe for target 'freescale/imx8qm-apalis-eval-ar0521.dtb' failed
| make[1]: *** [freescale/imx8qm-apalis-eval-ar0521.dtb] Error 2
| /home/gregory-bond/Workspace/TorizonCore/build-torizon/tmp-torizon/work-shared/apalis-imx8/kernel-source/Makefile:179: recipe for target 'sub-make' failed
| make: *** [sub-make] Error 2
| WARNING: exit code 1 from a shell command.
|
ERROR: Task (/home/gregory-bond/Workspace/TorizonCore/build-torizon/conf/../../layers/meta-toradex-nxp/recipes-kernel/linux/linux-toradex_5.4-2.1.x.bb:do_compile) failed with exit code '1'
I do not know what the ar0521 device is, we do not mention that anywhere in our meta-layer.
Once I get this error the first time, it is very sticky. Even if I remove my meta-layer and revert to the stock out-of-the-box torizon-core-docker image, I eventually wind up with the same error. If I remove all the build artifacts (apart from the fetched data), then I can sometimes successfully (eventually) build an image again… sometimes.
This sounds like some mis-configured build dependencies. Any clues how to attack this? I’m very new to bitbake/yocto and out of ideas, and google is not helping me much.