I’m trying to create a new image with following specs:
- based on 5.7.2
- custom splash
- overlay for cap-touch-7inch display (Toradex display)
- isolated changes
- own docker bundle
The last image based on 5.3 and it seems that multiple things are different now.
My main issue is that I’m not able to deploy the correct overlay. I’m referring to this tutorial: TorizonCore Builder Tool - Customizing Torizon OS Images | Toradex Developer Center
As described, I cloned the 2 repositories:
git clone -b toradex_5.15-2.1.x-imx git://git.toradex.com/linux-toradex.git linux
git clone -b toradex_5.15-2.1.x-imx git://git.toradex.com/device-tree-overlays.git device-trees
Then I found the available device trees:
find linux -name “imx8qxp-colibri.dts”
Result:
linux/arch/arm64/boot/dts/freescale/imx8qxp-colibri-aster.dts
linux/arch/arm64/boot/dts/freescale/imx8qxp-colibri-eval-v3.dts
linux/arch/arm64/boot/dts/freescale/imx8qxp-colibri-iris-v2.dts
linux/arch/arm64/boot/dts/freescale/imx8qxp-colibri-iris.dts
What is the difference between those device trees? Is “iris-v2” the latest one?
Then I could list the available overlays:
*torizoncore-builder dto list --device-tree ./linux/arch/arm64/boot/dts/freescale/imx8qxp-colibri-iris-v2.dts *
Overlays compatible with device tree imx8qxp-colibri-iris-v2.dts:
- device-trees/overlays/colibri-imx8x_dsihdmi_overlay.dts
- device-trees/overlays/colibri-imx8x_ov5640_overlay.dts
- device-trees/overlays/colibri-imx8x_panel-cap-touch-10inch-lvds_overlay.dts
- device-trees/overlays/colibri-imx8x_panel-cap-touch-7inch_adapter_overlay.dts
- device-trees/overlays/colibri-imx8x_panel-cap-touch-7inch_overlay.dts
- device-trees/overlays/colibri-imx8x_panel-res-touch-7inch_overlay.dts
- device-trees/overlays/colibri-imx8x_spidev_overlay.dts
- device-trees/overlays/colibri-imx8x_vga-640x480_overlay.dts
Is there a overlay description with more details so I can decide, which one I really need?
I continued with device-trees/overlays/colibri-imx8x_panel-cap-touch-7inch_adapter_overlay.dts:
input:
easy-installer:
local: images/torizon-core-docker-colibri-imx8x-Tezi_5.7.2+build.20.tar
customization:
splash-screen: black.png
filesystem:
- changes22212/
device-tree:
include-dirs:
- tst/linux/include
custom: tst/linux/arch/arm64/boot/dts/freescale/imx8qxp-colibri-eval-v3.dts
overlays:
add:
- tst/device-trees/overlays/colibri-imx8x_panel-res-touch-7inch_overlay.dts
- tst/device-trees/overlays/colibri-imx8x_panel-res-touch-7inch_overlay.dts
# - device-trees/overlays/colibri-imx8x_parallel-rgb_overlay.dts
#- device-trees/overlays/colibri-imx8x_ad7879_overlay.dts
#- device-trees/overlays/display-lt161010_overlay.dts
output:
easy-installer:
local: UCP-PB-40
name: “Output”
bundle:
dir: bundle/bundle230605
Unfortunately the display is black and the device is not reachable. Very strange is that I had an error with torizoncore-builder build after I cloned the linux-toradex.git but the error was gone after I cloned it with --depth 1.
Selecting custom device-tree ‘tst4/linux/arch/arm64/boot/dts/freescale/imx8qxp-colibri-eval-v3.dts’
Error: tst4/linux/include/dt-bindings/input/linux-event-codes.h:1.1-3 syntax error
FATAL ERROR: Unable to parse input tree
error: cannot apply tst4/linux/arch/arm64/boot/dts/freescale/imx8qxp-colibri-eval-v3.dts.
If I open the linux-event-codes.h, the content is:
…/…/uapi/linux/input-event-codes.h
It is also very confusing to me that there are multiple description with different source for the overlays. (on github are 2, 1 of them is depreciated) and the one from the tutorial above is from git.toradex.com.
I tried the approach with torizoncore-builder dt checkout and dto deploy directly on the machine (as described here: Device Tree Overlays on Torizon | Toradex Developer Center) but then I had the following error:
ibri-imx8x_panel-res-touch-7inch_overlay.dts
Downloading image from: https://artifacts.toradex.com/artifactory/torizoncore-oe-prod-frankfurt/dunfell-5.x.y/release/20/colibri-imx8x/torizon/torizon-core-docker/oedeploy/torizon-core-docker-colibri-imx8x-Tezi_5.7.2+build.20.tar
The download may take some time. Please wait…
Download Complete!
Unpacking Toradex Easy Installer image.
Copying Toradex Easy Installer image.
Unpacking TorizonCore Toradex Easy Installer image.
Importing OSTree revision 4e728da6263e899d550e1017432b29a5284d492fca64ced0230fcd01cac63075 from local repository…
1134 metadata, 12730 content objects imported; 531.5 MB content written
Unpacked OSTree from Toradex Easy Installer image:
Commit checksum: 4e728da6263e899d550e1017432b29a5284d492fca64ced0230fcd01cac63075
TorizonCore Version: 5.7.2+build.20
‘device-trees’ directory already exists
warning: --force was used, bypassing checking overlays against the device tree.
device-trees/overlays/colibri-imx8x_panel-res-touch-7inch_overlay.dts:9:35: error: no include path in which to search for dt-bindings/gpio/gpio.h
9 | #include <dt-bindings/gpio/gpio.h>
| ^
device-trees/overlays/colibri-imx8x_panel-res-touch-7inch_overlay.dts:10:50: error: no include path in which to search for dt-bindings/interrupt-controller/irq.h
10 | #include <dt-bindings/interrupt-controller/irq.h>
| ^
device-trees/overlays/colibri-imx8x_parallel-rgb_overlay.dtsi:7.13-19.3: Warning (graph_child_address): /fragment@2/overlay: graph node has single child node ‘port@0’, #address-cells/#size-cells are not necessary
error: cannot apply device-trees/overlays/colibri-imx8x_panel-res-touch-7inch_overlay.dts.`