For a custom device tree, I have added the dts file and, from bitbake -c devshell virtual/kernel, successfully recompiled the dtb file into arch/arm/boot/dts with make dtbs.
This new file doesn’t work on the Apalis because the format isn’t recognized. I note though that the file on the Apalis for imx6q-apalis-eval in arch/arm/boot/dts is only 57650 bytes long, but the deployed version from the module (and from image/boot) is 77851.
I think some sort of postprocessing is being done on the dtb file after it’s compiled into arch/arm/boot/dts… What is the secret to get this to happen? This seems to be new in BSP 5.0?
BTW I am aware of the ‘overlays’ idea and if the answer is to create an overlay instead of building my own DTB file I am willing to look into that. Specifically, I have three device tree changes from the basic set:
Dual-channel LVDS display (Data Modul 1920x720) on &ldb
Change RTC to a different chip at a different I2C address
Hi @dgribben it seems that the openembedded devshell does not set DTC_FLAGS. It is available in the EXTRA_OEMAKE environment variable within the devshell but I couldn’t get make to function when called as make ${EXTRA_OEMAKE} dtbs. That resulted in a strange argument parsing error which probably had to do with shell globbing and such.
What did work for me was to simply invoke make DTC_FLAGS=-@ dtbs. This configures the DTBs to have device tree overlay compatibility.