Thank you both for confirming the direction.
I’ve followed along with the documentation and I now have the following tcbuild.yaml
configuration. torizoncore-builder build
and torizoncore-builder deploy ...
both complete successfully, but it doesn’t seem like the device tree overlays are being installed properly. I apologize if this is elementary troubleshooting. This is my first time working with TorizonOS.
input:
easy-installer:
local: torizon-docker-verdin-imx8mp-Tezi_7.2.0+build.13.tar
customization:
splash-screen: splash.png
device-tree:
include-dirs:
- linux/include/
# >> Custom device tree source:
custom: linux/arch/arm64/boot/dts/freescale/imx8mp-verdin-wifi-mallow.dts
overlays:
add:
- device-trees/overlays/verdin-imx8mp_imx676_overlay.dts
- device-trees/overlays/verdin-imx8mp_hdmi_overlay.dts
kernel:
modules:
- source-dir: imx676-driver/
autoload: false
output:
easy-installer:
# >> Output directory of the customized image (REQUIRED):
local: torizon-docker-verdin-imx8mp-Tezi_7.2.0+build.13.CUSTOM
name: "CUSTOM IMAGE"
Output of the build command:
$ torizoncore-builder build
Building image as per configuration file 'tcbuild.yaml'...
=>> Handling input section
Unpacking Toradex Easy Installer image.
Unpacking TorizonCore Toradex Easy Installer image.
Importing OSTree revision 789c47c5e2f5cd8d1aa177ed9db1da6ae097ea69188980e51bf534e463966269 from local repository...
1271 metadata, 9767 content objects imported; 650.0 MB content written
0 metadata, 0 content objects imported; 0 bytes content written
Unpacked OSTree from Toradex Easy Installer image:
Commit checksum: 789c47c5e2f5cd8d1aa177ed9db1da6ae097ea69188980e51bf534e463966269
TorizonCore Version: 7.2.0+build.13
=>> Handling customization section
=> Setting splash screen
splash screen merged to initramfs
=> Handling device-tree subsection
=> Selecting custom device-tree 'linux/arch/arm64/boot/dts/freescale/imx8mp-verdin-wifi-mallow.dts'
'imx8mp-verdin-wifi-mallow.dts' compiles successfully.
warning: removing currently applied device tree overlays
Device tree imx8mp-verdin-wifi-mallow.dtb successfully applied.
=> Adding device-tree overlay 'device-trees/overlays/verdin-imx8mp_imx676_overlay.dts'
'verdin-imx8mp_imx676_overlay.dts' compiles successfully.
/tmp/tmpisk45d6p: Device Tree Blob version 17, size=88668, boot CPU=0, string block size=6708, DT structure block size=81904
'verdin-imx8mp_imx676_overlay.dtbo' can successfully modify the device tree 'imx8mp-verdin-wifi-mallow.dtb'.
Overlay verdin-imx8mp_imx676_overlay.dtbo successfully applied.
=> Adding device-tree overlay 'device-trees/overlays/verdin-imx8mp_hdmi_overlay.dts'
'verdin-imx8mp_hdmi_overlay.dts' compiles successfully.
/tmp/tmpb6nk6o5k: Device Tree Blob version 17, size=88652, boot CPU=0, string block size=6708, DT structure block size=81888
'verdin-imx8mp_hdmi_overlay.dtbo' can successfully modify the device tree 'imx8mp-verdin-wifi-mallow.dtb'.
Overlay verdin-imx8mp_hdmi_overlay.dtbo successfully applied.
=> Building module located at 'imx676-driver/'
make: Entering directory '/workdir/imx676-driver'
make -C /storage/linux M=/workdir/imx676-driver
make[1]: Entering directory '/storage/linux'
CC [M] /workdir/imx676-driver/imx676_mipi.o
LD [M] /workdir/imx676-driver/imx676.o
MODPOST /workdir/imx676-driver/Module.symvers
CC [M] /workdir/imx676-driver/imx676.mod.o
LD [M] /workdir/imx676-driver/imx676.ko
make[1]: Leaving directory '/storage/linux'
make: Leaving directory '/workdir/imx676-driver'
Kernel module(s) successfully built and ready to deploy.
All kernel module(s) have been built and prepared.
=>> Handling output section
Applying changes from STORAGE/kernel.
Applying changes from STORAGE/splash.
Applying changes from STORAGE/dt.
Commit f4e46505ce406f84e102323ffbb15971c08b63fcef59e168e7c0213ca7ae2f13 has been generated for changes and is ready to be deployed.
Deploying commit ref: tcbuilder-20250502173729
Pulling OSTree with ref tcbuilder-20250502173729 from local archive repository...
Commit checksum: f4e46505ce406f84e102323ffbb15971c08b63fcef59e168e7c0213ca7ae2f13
TorizonCore Version: 7.2.0+build.13-tcbuilder.20250502173732
Default kernel arguments: quiet logo.nologo vt.global_cursor_default=0 plymouth.ignore-serial-consoles splash fbcon=map:3
1271 metadata, 9768 content objects imported; 650.1 MB content written
Pulling done.
Deploying OSTree with checksum f4e46505ce406f84e102323ffbb15971c08b63fcef59e168e7c0213ca7ae2f13
Bootloader found in unpacked image: U-Boot
Deploying done.
Copy files not under OSTree control from original deployment.
Packing rootfs...
Packing rootfs done.
=>> Build command successfully executed!
Output of the deploy command (SSH):
$ torizoncore-builder deploy --remote-host 10.4.7.10 --remote-username torizon --remote-password ####### --reboot
Pulling OSTree with ref base (checksum 789c47c5e2f5cd8d1aa177ed9db1da6ae097ea69188980e51bf534e463966269) from local archive repository...
Starting http server to serve OSTree.
OSTree server listening on "localhost:32981".
Starting OSTree pull on the device...
Deploying new OSTree on the device...
Deploying successfully finished.
Device reboot initiated...
The board seems to receive these new builds, but I don’t see any changes:
$ sudo ostree admin status
Password:
* torizon 789c47c5e2f5cd8d1aa177ed9db1da6ae097ea69188980e51bf534e463966269.5
Version: 7.2.0+build.13
origin refspec: tcbuilder:789c47c5e2f5cd8d1aa177ed9db1da6ae097ea69188980e51bf534e463966269
torizon 789c47c5e2f5cd8d1aa177ed9db1da6ae097ea69188980e51bf534e463966269.4 (rollback)
Version: 7.2.0+build.13
origin refspec: tcbuilder:789c47c5e2f5cd8d1aa177ed9db1da6ae097ea69188980e51bf534e463966269
Please let me know if the output of any other commands would be helpful to see.