Skip to main content
Version: Toradex Easy Installer version 5.0

How to Modify a Toradex Easy Installer Image

Introduction

The objective o this article is to help you to create a modified image of Toradex Easy Installer, with a modified kernel and/or devicetree or roots.

Custom OS image vs Custom Tezi image

There are two entirely different situations that can generat some confusion:

  1. Modify a Toradex Easy Installer image itself
  2. Customize the Operating System image (e.g. TorizonCore or Yocto-based image) to be installed on the System on Module with the aid of Toradex Easy Installer.

If you are in the first situation, this article is for you. However, if you are in the second case, your options are:

Requirements

  • Toradex Easy Installer image downloaded and extracted. Refer to at Download Toradex Easy Installer

  • u-boot-tools installed. You can install ir by running:

    $ apt-get install u-boot-tools

Modify the Toradex Easy Installer Image

To create a modified Toradex Easy Installer image follow the steps below:

  1. Go to the previously downloaded and extracted Tezi folder. For example, for a Verdin iMX8M Plus:

    $ ls ./Verdin-iMX8MP_ToradexEasyInstaller_5.7.2+build.14
    boot-tezi.scr image.json imx-boot overlays.txt recovery recovery-linux.sh recovery-windows.bat tezi.itb tezi.png u-boot.bin wrapup.sh
  2. Use dumpimage to extract the current configuration that is stored on the Tezi U-boot image tezi.itb:

    $ dumpimage -l tezi.itb

    The result of the command should be something simillar to the following snippet:

    FIT description: U-Boot fitImage
    FIT description: U-Boot fitImage for Toradex Easy Installer/5.4.193+gitAUTOINC+b60d3160fd/verdin-imx8mp
    Created: Wed Feb 22 20:07:28 2023
    Image 0 (kernel-1)
    Description: Linux kernel
    Created: Wed Feb 22 20:07:28 2023
    Type: Kernel Image
    Compression: gzip compressed
    Data Size: 10805645 Bytes = 10552.39 KiB = 10.31 MiB
    Architecture: AArch64
    OS: Linux
    Load Address: 0x40000000
    Entry Point: 0x40000000
    Hash algo: sha256
    Hash value: 32d1e3f705faa40dff47179c97d98d07f357db57f9a4ec84203ac09cf7b7ae23
    Image 1 (fdt-imx8mp-verdin-nonwifi-dahlia.dtb)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 87931 Bytes = 85.87 KiB = 0.08 MiB
    Architecture: AArch64
    Load Address: 0x44000000
    Hash algo: sha256
    Hash value: 807bb89a7372b6aac45ef6f0e8b94df54ed51552b1eb1b01d59851637062c214
    Image 2 (fdt-imx8mp-verdin-nonwifi-dev.dtb)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 88481 Bytes = 86.41 KiB = 0.08 MiB
    Architecture: AArch64
    Load Address: 0x44000000
    Hash algo: sha256
    Hash value: ba5650165bb68f2b0990f62b35e09e3d5f3b51bf52657fe06061e055632a835c
    Image 3 (fdt-imx8mp-verdin-nonwifi-yavia.dtb)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 87659 Bytes = 85.60 KiB = 0.08 MiB
    Architecture: AArch64
    Load Address: 0x44000000
    Hash algo: sha256
    Hash value: bc31c29830047042ee3d69a0850a820de8fec46d539d93d2f1932b7984e2d8fa
    Image 4 (fdt-imx8mp-verdin-wifi-dahlia.dtb)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 88345 Bytes = 86.27 KiB = 0.08 MiB
    Architecture: AArch64
    Load Address: 0x44000000
    Hash algo: sha256
    Hash value: 09f5f09644cd4c309030741c59b23da680157814614e1b147b9c9b97f74da04b
    Image 5 (fdt-imx8mp-verdin-wifi-dev.dtb)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 88891 Bytes = 86.81 KiB = 0.08 MiB
    Architecture: AArch64
    Load Address: 0x44000000
    Hash algo: sha256
    Hash value: 3e9e92ac74cf43836725727ce8a49a06a9ff662c4d484ca8dca531f1c4e5db13
    Image 6 (fdt-imx8mp-verdin-wifi-yavia.dtb)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 88069 Bytes = 86.00 KiB = 0.08 MiB
    Architecture: AArch64
    Load Address: 0x44000000
    Hash algo: sha256
    Hash value: 4175a0289e354c2921ee0f6fb730d3bf981e306773ab3794b13ff57b95d87f00
    Image 7 (fdt-display-dpi-lt170410_overlay.dtbo)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 820 Bytes = 0.80 KiB = 0.00 MiB
    Architecture: AArch64
    Load Address: 0x46000000
    Hash algo: sha256
    Hash value: da2af7ded868faa21cbfe500023ecfdcacac5f412cfdfa1f202814fe76abe7d0
    Image 8 (fdt-display-edt5.7_overlay.dtbo)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 831 Bytes = 0.81 KiB = 0.00 MiB
    Architecture: AArch64
    Load Address: 0x46000000
    Hash algo: sha256
    Hash value: dd01f8b5c48d0387c5c26366eced6297ba8c813f699b6d6d3aeca8662eaf4e3f
    Image 9 (fdt-display-edt7_overlay.dtbo)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 831 Bytes = 0.81 KiB = 0.00 MiB
    Architecture: AArch64
    Load Address: 0x46000000
    Hash algo: sha256
    Hash value: 10bd482d128b93ff82e49e66f8815200e9a5c68b9299a501562fc15aa0c6a646
    Image 10 (fdt-display-fullhd_overlay.dtbo)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 839 Bytes = 0.82 KiB = 0.00 MiB
    Architecture: AArch64
    Load Address: 0x46000000
    Hash algo: sha256
    Hash value: 29cdf5061104f24950cd189e9f3a04c4b720f017d7a07534d47137cbbe558bd4
    Image 11 (fdt-display-lt161010_overlay.dtbo)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 863 Bytes = 0.84 KiB = 0.00 MiB
    Architecture: AArch64
    Load Address: 0x46000000
    Hash algo: sha256
    Hash value: f9c171092a8e6daaf01ca41aa7eeb8bedd7774a2f7c509845e018fbf45880d48
    Image 12 (fdt-display-lt170410_overlay.dtbo)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 854 Bytes = 0.83 KiB = 0.00 MiB
    Architecture: AArch64
    Load Address: 0x46000000
    Hash algo: sha256
    Hash value: aeef5513df4c3021157c03b53ee984c48553390e6b027fea8fdd5bd058e99443
    Image 13 (fdt-display-vga_overlay.dtbo)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 831 Bytes = 0.81 KiB = 0.00 MiB
    Architecture: AArch64
    Load Address: 0x46000000
    Hash algo: sha256
    Hash value: 383a27a99e2cba48fc87c9a87ccae92839967e703a57ebcc88b6e6de69eb6f56
    Image 14 (fdt-touch-atmel-mxt_overlay.dtbo)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 426 Bytes = 0.42 KiB = 0.00 MiB
    Architecture: AArch64
    Load Address: 0x46000000
    Hash algo: sha256
    Hash value: b4de3fbe9248f00d0b56e23cbf8e497270b82d366591dcbbe2bf752f1f674129
    Image 15 (fdt-verdin-imx8mp_lt8912_overlay.dtbo)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 1987 Bytes = 1.94 KiB = 0.00 MiB
    Architecture: AArch64
    Load Address: 0x46000000
    Hash algo: sha256
    Hash value: 6d1fede3987e463a71a0e459ed1ef9f67afcac405c2307ac74e60599aefd24a9
    Image 16 (fdt-verdin-imx8mp_mezzanine-lvds-dual-channel_overlay.dtbo)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 2101 Bytes = 2.05 KiB = 0.00 MiB
    Architecture: AArch64
    Load Address: 0x46000000
    Hash algo: sha256
    Hash value: f7479ca7eaf91f7eba530057757316e5619843747d98471fe0819e6380d5d4aa
    Image 17 (fdt-verdin-imx8mp_mezzanine-lvds-single-channel_overlay.dtbo)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 1552 Bytes = 1.52 KiB = 0.00 MiB
    Architecture: AArch64
    Load Address: 0x46000000
    Hash algo: sha256
    Hash value: 948c44e9d04576057e44a7fa08ddd60c6d2f9bcd22868a62292399169f59fe68
    Image 18 (fdt-verdin-imx8mp_mezzanine-ov5640-2_overlay.dtbo)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 2757 Bytes = 2.69 KiB = 0.00 MiB
    Architecture: AArch64
    Load Address: 0x46000000
    Hash algo: sha256
    Hash value: 1a67c77c3cb9545b278eba223fb165c9ae477c77a5ce03b31979b11e0ed0d6e7
    Image 19 (fdt-verdin-imx8mp_mezzanine-ov5640_overlay.dtbo)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 2943 Bytes = 2.87 KiB = 0.00 MiB
    Architecture: AArch64
    Load Address: 0x46000000
    Hash algo: sha256
    Hash value: b12827df3c687d5cc6c7d19088e38bfba7902a02f1b26e8e7b7437ad29293270
    Image 20 (fdt-verdin-imx8mp_mezzanine-touch-atmel-mxt_overlay.dtbo)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 416 Bytes = 0.41 KiB = 0.00 MiB
    Architecture: AArch64
    Load Address: 0x46000000
    Hash algo: sha256
    Hash value: b0cb1126f96952b00dd5f547f6b6935bfcd473692324b89122cba52c35399017
    Image 21 (fdt-verdin-imx8mp_native-hdmi_overlay.dtbo)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 1860 Bytes = 1.82 KiB = 0.00 MiB
    Architecture: AArch64
    Load Address: 0x46000000
    Hash algo: sha256
    Hash value: 99024d914a228a2284800dc01f6200e7019f63099e48e9b49facbc67b0e5e13f
    Image 22 (fdt-verdin-imx8mp_ov5640_overlay.dtbo)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 2983 Bytes = 2.91 KiB = 0.00 MiB
    Architecture: AArch64
    Load Address: 0x46000000
    Hash algo: sha256
    Hash value: 98fcacfa7528d79be30818815b98052671497f524dd534843c204c851952405b
    Image 23 (fdt-verdin-imx8mp_sn65dsi84-lt170410_overlay.dtbo)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 1206 Bytes = 1.18 KiB = 0.00 MiB
    Architecture: AArch64
    Load Address: 0x46000000
    Hash algo: sha256
    Hash value: 3098762ed009646b5602c6251392e60a6b07b96e0ea2f7d9c0ff69e8669cfce5
    Image 24 (fdt-verdin-imx8mp_sn65dsi84_overlay.dtbo)
    Description: Flattened Device Tree blob
    Created: Wed Feb 22 20:07:28 2023
    Type: Flat Device Tree
    Compression: uncompressed
    Data Size: 1866 Bytes = 1.82 KiB = 0.00 MiB
    Architecture: AArch64
    Load Address: 0x46000000
    Hash algo: sha256
    Hash value: fd82be2c9c94bb43980272182af516c5478c22aa58a87069770c6751b6ee6148
    Image 25 (ramdisk-1)
    Description: tezi-initramfs
    Created: Wed Feb 22 20:07:28 2023
    Type: RAMDisk Image
    Compression: uncompressed
    Data Size: 35790848 Bytes = 34952.00 KiB = 34.13 MiB
    Architecture: AArch64
    OS: Linux
    Load Address: 0x60000000
    Entry Point: unavailable
    Hash algo: sha256
    Hash value: ef88c248d2150052ee3a79c8171538905f0341b3e21991ad2f110414f4f479cc
    Default Configuration: 'conf-imx8mp-verdin-nonwifi-dahlia.dtb'
    Configuration 0 (conf-imx8mp-verdin-nonwifi-dahlia.dtb)
    Description: 1 Linux kernel, FDT blob, ramdisk
    Kernel: kernel-1
    Init Ramdisk: ramdisk-1
    FDT: fdt-imx8mp-verdin-nonwifi-dahlia.dtb
    Hash algo: sha256
    Hash value: unavailable
    Configuration 1 (conf-imx8mp-verdin-nonwifi-dev.dtb)
    Description: 0 Linux kernel, FDT blob, ramdisk
    Kernel: kernel-1
    Init Ramdisk: ramdisk-1
    FDT: fdt-imx8mp-verdin-nonwifi-dev.dtb
    Hash algo: sha256
    Hash value: unavailable
    Configuration 2 (conf-imx8mp-verdin-nonwifi-yavia.dtb)
    Description: 0 Linux kernel, FDT blob, ramdisk
    Kernel: kernel-1
    Init Ramdisk: ramdisk-1
    FDT: fdt-imx8mp-verdin-nonwifi-yavia.dtb
    Hash algo: sha256
    Hash value: unavailable
    Configuration 3 (conf-imx8mp-verdin-wifi-dahlia.dtb)
    Description: 0 Linux kernel, FDT blob, ramdisk
    Kernel: kernel-1
    Init Ramdisk: ramdisk-1
    FDT: fdt-imx8mp-verdin-wifi-dahlia.dtb
    Hash algo: sha256
    Hash value: unavailable
    Configuration 4 (conf-imx8mp-verdin-wifi-dev.dtb)
    Description: 0 Linux kernel, FDT blob, ramdisk
    Kernel: kernel-1
    Init Ramdisk: ramdisk-1
    FDT: fdt-imx8mp-verdin-wifi-dev.dtb
    Hash algo: sha256
    Hash value: unavailable
    Configuration 5 (conf-imx8mp-verdin-wifi-yavia.dtb)
    Description: 0 Linux kernel, FDT blob, ramdisk
    Kernel: kernel-1
    Init Ramdisk: ramdisk-1
    FDT: fdt-imx8mp-verdin-wifi-yavia.dtb
    Hash algo: sha256
    Hash value: unavailable
    Configuration 6 (conf-display-dpi-lt170410_overlay.dtbo)
    Description: 0 FDT blob
    Kernel: unavailable
    FDT: fdt-display-dpi-lt170410_overlay.dtbo
    Hash algo: sha256
    Hash value: unavailable
    Configuration 7 (conf-display-edt5.7_overlay.dtbo)
    Description: 0 FDT blob
    Kernel: unavailable
    FDT: fdt-display-edt5.7_overlay.dtbo
    Hash algo: sha256
    Hash value: unavailable
    Configuration 8 (conf-display-edt7_overlay.dtbo)
    Description: 0 FDT blob
    Kernel: unavailable
    FDT: fdt-display-edt7_overlay.dtbo
    Hash algo: sha256
    Hash value: unavailable
    Configuration 9 (conf-display-fullhd_overlay.dtbo)
    Description: 0 FDT blob
    Kernel: unavailable
    FDT: fdt-display-fullhd_overlay.dtbo
    Hash algo: sha256
    Hash value: unavailable
    Configuration 10 (conf-display-lt161010_overlay.dtbo)
    Description: 0 FDT blob
    Kernel: unavailable
    FDT: fdt-display-lt161010_overlay.dtbo
    Hash algo: sha256
    Hash value: unavailable
    Configuration 11 (conf-display-lt170410_overlay.dtbo)
    Description: 0 FDT blob
    Kernel: unavailable
    FDT: fdt-display-lt170410_overlay.dtbo
    Hash algo: sha256
    Hash value: unavailable
    Configuration 12 (conf-display-vga_overlay.dtbo)
    Description: 0 FDT blob
    Kernel: unavailable
    FDT: fdt-display-vga_overlay.dtbo
    Hash algo: sha256
    Hash value: unavailable
    Configuration 13 (conf-touch-atmel-mxt_overlay.dtbo)
    Description: 0 FDT blob
    Kernel: unavailable
    FDT: fdt-touch-atmel-mxt_overlay.dtbo
    Hash algo: sha256
    Hash value: unavailable
    Configuration 14 (conf-verdin-imx8mp_lt8912_overlay.dtbo)
    Description: 0 FDT blob
    Kernel: unavailable
    FDT: fdt-verdin-imx8mp_lt8912_overlay.dtbo
    Hash algo: sha256
    Hash value: unavailable
    Configuration 15 (conf-verdin-imx8mp_mezzanine-lvds-dual-channel_overlay.dtbo)
    Description: 0 FDT blob
    Kernel: unavailable
    FDT: fdt-verdin-imx8mp_mezzanine-lvds-dual-channel_overlay.dtbo
    Hash algo: sha256
    Hash value: unavailable
    Configuration 16 (conf-verdin-imx8mp_mezzanine-lvds-single-channel_overlay.dtbo)
    Description: 0 FDT blob
    Kernel: unavailable
    FDT: fdt-verdin-imx8mp_mezzanine-lvds-single-channel_overlay.dtbo
    Hash algo: sha256
    Hash value: unavailable
    Configuration 17 (conf-verdin-imx8mp_mezzanine-ov5640-2_overlay.dtbo)
    Description: 0 FDT blob
    Kernel: unavailable
    FDT: fdt-verdin-imx8mp_mezzanine-ov5640-2_overlay.dtbo
    Hash algo: sha256
    Hash value: unavailable
    Configuration 18 (conf-verdin-imx8mp_mezzanine-ov5640_overlay.dtbo)
    Description: 0 FDT blob
    Kernel: unavailable
    FDT: fdt-verdin-imx8mp_mezzanine-ov5640_overlay.dtbo
    Hash algo: sha256
    Hash value: unavailable
    Configuration 19 (conf-verdin-imx8mp_mezzanine-touch-atmel-mxt_overlay.dtbo)
    Description: 0 FDT blob
    Kernel: unavailable
    FDT: fdt-verdin-imx8mp_mezzanine-touch-atmel-mxt_overlay.dtbo
    Hash algo: sha256
    Hash value: unavailable
    Configuration 20 (conf-verdin-imx8mp_native-hdmi_overlay.dtbo)
    Description: 0 FDT blob
    Kernel: unavailable
    FDT: fdt-verdin-imx8mp_native-hdmi_overlay.dtbo
    Hash algo: sha256
    Hash value: unavailable
    Configuration 21 (conf-verdin-imx8mp_ov5640_overlay.dtbo)
    Description: 0 FDT blob
    Kernel: unavailable
    FDT: fdt-verdin-imx8mp_ov5640_overlay.dtbo
    Hash algo: sha256
    Hash value: unavailable
    Configuration 22 (conf-verdin-imx8mp_sn65dsi84-lt170410_overlay.dtbo)
    Description: 0 FDT blob
    Kernel: unavailable
    FDT: fdt-verdin-imx8mp_sn65dsi84-lt170410_overlay.dtbo
    Hash algo: sha256
    Hash value: unavailable
    Configuration 23 (conf-verdin-imx8mp_sn65dsi84_overlay.dtbo)
    Description: 0 FDT blob
    Kernel: unavailable
    FDT: fdt-verdin-imx8mp_sn65dsi84_overlay.dtbo
    Hash algo: sha256
    Hash value: unavailable
  3. Create a file named tezi.its and modify it accordingly to the output from dumpimage. Be careful with the following entries/properties:

    PropertyDescriptionValue
    archRelated to the Architecture on the outputCan and can be arm (for ARM architectures) or arm64 (for AARCH64 architectures).
    algoValue of Hash algo of the related field on the outputFor this example, for Image 0 (kernel-1), it is sha256
    loadValue of Load AddressFor this example, it is <0x40000000>
    entryValue of Entry PointFor this example, it is <0x40000000>
    compressionRelated to the Compression formatIn this example, it is gzip
    tezi.its
    /dts-v1/;

    / {
    description = "U-Boot fitImage for Toradex Easy Installer";
    #address-cells = <1>;

    images {
    kernel {
    description = "Linux Kernel";
    data = /incbin/("./zImage");
    type = "kernel";
    arch = "arm64";
    os = "linux";
    compression = "gzip";
    load = <0x40000000>;
    entry = <0x40000000>;
    hash {
    algo = "sha256";
    };
    };
    fdt-0 {
    description = "Flattened Device Tree blob";
    data = /incbin/("./system.dtb");
    type = "flat_dt";
    arch = "arm64";
    compression = "none";
    hash {
    algo = "sha256";
    };
    };
    ramdisk-0 {
    description = "tezi-initramfs";
    data = /incbin/("./ramdisk");
    type = "ramdisk";
    arch = "arm64";
    os = "linux";
    compression = "none";
    hash {
    algo = "sha256";
    };
    };
    };
    configurations {
    default = "config-1";
    config-1 {
    description = "Boot Linux kernel with FDT blob + ramdisk";
    kernel = "kernel";
    fdt = "fdt-0";
    ramdisk = "ramdisk-0";
    hash {
    algo = "sha256";
    };
    };
    };
    };
  4. Extract all images that later are required to repack, which are the Kernel image (zImage), the initramfs (ramdisk) the and the default devicetree binary (system.dtb):

    $ dumpimage tezi.itb -T flat_dt -p 0 -o zImage
    $ dumpimage tezi.itb -T flat_dt -p 1 -o ramdisk
    $ dumpimage tezi.itb -T flat_dt -p 2 -o system.dtb

    With all parts in hands, you are able to modify the original image available and replace the parts you want to change.

  5. Repack the FIT image with the by using the mkimage command:

    $ mkimage -f tezi.its tezi_new.itb

    The resulting tezi_new.itb can be used as a new Toradex Easy Installer image.

Changing the Default Devicetree Overlay

Inside the root of your Toradex Easy Installer folder, you should have an overlays.txt file that will be read directly when booting up.

$ ls ./Verdin-iMX8MP_ToradexEasyInstaller_5.7.2+build.14 | grep overlays.txt
overlays.txt

In this file you can see the variable fdt_overlays, read by the bootloader in the boot process, which contains the devicetree overlays to be aplied on top of the system Devicetree.

$ cat ./Verdin-iMX8MP_ToradexEasyInstaller_5.7.2+build.14/overlays.txt
fdt_overlays=verdin-imx8mp_native-hdmi_overlay.dtbo verdin-imx8mp_lt8912_overlay.dtbo

You can modify this file or, in other words, modify the fdt_overlays variable by adding one of the available overlays or removing the default ones.

You can also modify the overlays.txt file for a Toradex Easy Installer loaded in eMMC by manually mounting /boot to modify overlays.txt. Using Apalis iMX8 as an example:

$ mount -t vfat /dev/mmcblk0p1 /boot/
$ ls /boot/
Image.gz imx8qm-apalis-v1.1-eval.dtb
boot.scr imx8qm-apalis-v1.1-ixora-v1.1.dtb
dpfw.bin imx8qp-apalis-v1.1-eval.dtb
dtbs imx8qp-apalis-v1.1-ixora-v1.1.dtb
hdmitxfw.bin overlays
imx8qm-apalis-eval.dtb overlays.txt
imx8qm-apalis-ixora-v1.1.dtb
mmcblk Drive and partitioning

The mmcblk drive and partition can change depending on the module and the Toradex Easy Installer version.

All the available overlays from Toradex are included in Toradex Easy Installer FIT image. If you want to add your custom overlay, please follow the above mentioned documentation to create your own device tree overlay for your own custom FIT image.

Note about Devicetree Overlays

Please note that overlays are only supported on eMMC devices. They are not supported on UBIFS (NAND Flash) devices like Colibri iMX7 (256MB and 512MB variants), Colibri iMX6ULL (256MB and 512MB variants), plus Apalis TK1.



Send Feedback!