Exception when running dto deploy command to apply device overlay to image

Hi Community,

I’m trying add device tree overlay of Capacitive Touch Display 10.1" LVDS to Toradex Apalis iMX8 through the steps provided here (First approch). I’m using Ixora V1.2A board.
But after executing the last command, i get the follwing error.

torizoncore-builder dto deploy --remote-host 192.168.2.110 --remote-username torizon --remote-password tata1234 --force --reboot device-trees/overlays/apalis-imx8_lvds_overlay.dts                          

Downloading image from: https://artifacts.toradex.com/artifactory/torizoncore-oe-prod-frankfurt/dunfell-5.x.y/release/17/apalis-imx8/torizon/torizon-core-docker/oedeploy/torizon-core-docker-apalis-imx8-Tezi_5.7.0+build.17.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 63b00ac16186607a7cc8acdd18cb2b180307d84974717852d94ecfa24907792b from local repository…
1137 metadata, 12777 content objects imported; 531.5 MB content written
Unpacked OSTree from Toradex Easy Installer image:
Commit checksum: 63b00ac16186607a7cc8acdd18cb2b180307d84974717852d94ecfa24907792b
TorizonCore Version: 5.7.0+build.17
An unexpected Exception occured. Please provide the following stack trace to
the Toradex TorizonCore support team:

Traceback (most recent call last):
File “/builder/torizoncore-builder”, line 217, in
mainargs.func(mainargs)
File “/builder/tcbuilder/cli/dto.py”, line 357, in do_dto_deploy
dt_cli.do_dt_checkout(args)
File “/builder/tcbuilder/cli/dt.py”, line 47, in do_dt_checkout
if args.update:
AttributeError: ‘Namespace’ object has no attribute ‘update’

Any help will be appreciated.

Regards,
Hareendran

Hi @hareendran-tl ,

This error with the dto deploy command is a known issue we’re currently working on. In the meantime I’d recommend instead following Approach 1 for development and production i.e. using the build command as instructed here: Device Tree Overlays on Torizon | Toradex Developer Center.

With this you can specify which overlays to add using the tcbuild.yaml file and output a custom image in a folder.

After this you can deploy it directly via SSH using the following commands:

torizoncore-builder images unpack <folder that has the built image>
torizoncore-builder deploy --remote-host <your-IP> --remote-username torizon --remote-password <your-password> --reboot

See if this works for you.

Best regards,
Lucas Akira

Hi @lucas_a.tx ,

I have tried the approch you mentioned and all the steps are completed successsfully without an error, and the OSTree commit hash is also same, so new custom image of TorizonCore is active on the device.

Even though, the display is still not working. It just powering on and reamins in standby condition.
I used the below tcbuild.yaml file

input:
  easy-installer:
    local: torizon-core-docker-apalis-imx8-Tezi_5.7.0+build.17.tar

customization:
  device-tree:
    include-dirs:
      - device-trees/include/
    custom: device-trees/dts-arm64/imx8qm-apalis-v1.1-ixora-v1.2.dts
    overlays:
      add:
        - device-trees/overlays/apalis-imx8_lvds_overlay.dts
output:
  easy-installer:
    local: torizon-core-docker-apalis-imx8-Tezi_5.7.0.CUSTOM

Hi @hareendran-tl ,

Regarding the image customization using torizoncore-builder build you seem to do everything correctly.

But in order for the Capacitive Touch Display 10.1" LVDS to work you need to add more overlays in your image, as specified in this table: Device Tree Overlays on Torizon | Toradex Developer Center.

For your case:

  • Apalis iMX8
  • Ixora V1.2
  • Kernel toradex_5.4-2.3.x-imx
    (Downstream from NXP, the default kernel version in our TorizonCore releases for ARM64 devices)

You have to add the following overlays in this order:

input:
  easy-installer:
    local: torizon-core-docker-apalis-imx8-Tezi_5.7.0+build.17.tar

customization:
  device-tree:
    include-dirs:
      - device-trees/include/
    custom: device-trees/dts-arm64/imx8qm-apalis-v1.1-ixora-v1.2.dts
    overlays:
      add:
        - device-trees/overlays/apalis-imx8_lvds_overlay.dts
        - device-trees/overlays/apalis-imx8_atmel-mxt_overlay.dts
        - device-trees/overlays/display-lt170410_overlay.dts
output:
  easy-installer:
    local: torizon-core-docker-apalis-imx8-Tezi_5.7.0.CUSTOM

With this you should see the Torizon logo as a splash screen on the display when booting the image.

Let me know if this works.

Best regards,
Lucas Akira

1 Like

Hi @lucas_a.tx ,

Thanks for your support.
The updated tcbuild.yaml file helps me to enable the display.

By the way, is there a way to enable virtual keyboard? I’m runnig a qt application following this reference.

Regards,
Hareendran M G

Hi @hareendran-tl ,

Glad that solved your display issue!

About enabling a virtual keyboard, you can check this topic here if you’re using Weston: Virtual keyboard in Weston?

You can also check the Qt virtual keyboard package as referenced in the article you’ve linked: Qt C++ Application Development on Torizon Using Visual Studio Code | Toradex Developer Center

Best regards,
Lucas Akira

Hi @lucas_a.tx ,

Thank you for sharing these resources. I’ll check into it.

Regards,
Hareendran M G