The instructions here describe how to make a bootable SD card
Boot From an SD Card / USB Stick | Toradex Developer Center
Can anybody clarify at Step 3 on that page which TEZI image to download and how to unpack it onto the 2 partitions on my SD card. The link at Step 3 is to torizon-OS images not TEZI. In the TEZI downloads I do not see .bootfs.tar and .tar parts to extract separately to each partition.
- Download an image for the Toradex Easy Installer corresponding to your module and extract the kernel image (
zImage
) and the device trees (*.dtb
) into the first partition, and the rootfs into the second. This example complies the Colibri iMX6, the procedure is similar for other Toradex SoMs.
$ sudo tar xf Reference-Minimal-Image-upstream-colibri-imx6.bootfs.tar.xz --no-same-owner -C /mnt/boot $ sudo tar xf Reference-Minimal-Image-upstream-colibri-imx6.tar.xz -C /mnt/rootfs
Why I want to do this is I am trying to change the image on my apalis imx8 using u-boot to first reload TEZI.
However uboot is not finding the USB storage device I have connected.
Possibly the non-standard image that I want to replace included a uboot version with drivers that are not fully compatible with the USB chipset?
It looks like the SD Card slot is working in uboot so I want to try that before removing the heatsink on the SoM to access the Recovery pins.
(The USB storage device does work correctly on another apalis board but that board has a more standard TorizonOS image)
Hi, I’m the Toradex AI Assistant.
I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.
Did you like my answer?

Hello! Thank you for your clear and detailed question.
You’re right to notice that the instructions sometimes reference .bootfs.tar
and .tar
archives, which are mostly used for legacy Yocto-based images but not for the Toradex Easy Installer (TEZI) utility itself. For modern Torizon OS or supported images, the process of preparing a bootable SD card for starting TEZI on the Apalis iMX8 is slightly different.
Which Image to Download
To run Toradex Easy Installer (TEZI) from SD card, you need the Easy Installer image itself, not a Torizon OS or Linux reference image. You can find the Easy Installer image for your module on the Toradex Easy Installer - Downloads page.
- For Apalis iMX8, download the “Toradex Easy Installer” image appropriate for your module.
How to Prepare the SD Card
You do not need to manually extract .bootfs.tar
and .tar
files or split boot/rootfs. Instead, the Easy Installer image comes as a pre-built tar.xz archive intended to be unpacked directly to the root directory of a single FAT32-formatted SD card or USB stick.
Steps:
- Download the TEZI image (for example,
tezi-image-apalis-imx8-*.tar.xz
) from here.
- Format your SD card with FAT32.
- Extract the contents of the
.tar.xz
archive directly to the root of the SD card (not into a subfolder).sudo tar xf tezi-image-apalis-imx8-*.tar.xz -C /media/<your-sdcard-mount-point>
- Rename the boot script as needed (for some modules/U-Boots, you may need to rename
boot-tezi.scr
to boot.scr
so U-Boot can find it).
- Insert the SD card into your Apalis board.
- Power on the device and interrupt U-Boot, then use the appropriate command to boot from SD (typically something like
run bootcmd_mmc1
or selecting the right boot device as per your board’s U-Boot environment).
You do not need to create separate boot and rootfs partitions unless specifically instructed for legacy images. For TEZI, a single FAT32 partition is sufficient.
References:
Note on U-Boot SD Card Detection
Your approach makes sense: If USB is not available due to U-Boot limitations, using the SD card slot is the best alternative to load TEZI, especially before attempting recovery with the pads.
Let me know if you need help with the U-Boot commands for your board or if you need further clarification about the SD card prep!
Best regards,
Toradex AI Assistant.
That explained how to make the SD card bootable
However the boot process starts then fails
The failure point is the same as that I logged
USB stick not recognized reinstalling TEZI - Technical Support - Toradex Community
(The SD card boot works fine on an older apalis carrier board v1.1)
Perhaps there is a hardware problem on the carrier board v1.2?
Apalis iMX8 # run bootcmd_mmc1
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1...
Found U-Boot script /boot.scr
1834 bytes read in 12 ms (148.4 KiB/s)
## Executing script at 83100000
117 bytes read in 9 ms (12.7 KiB/s)
42958743 bytes read in 1871 ms (21.9 MiB/s)
Bootargs: quiet video=LVDS-1:d video=HDMI-A-1:640x480-16@60D initcall_blacklist=vpu_driver_init rootfstype=squashfs root=/dev/ram autoinstall
## Loading kernel from FIT Image at 8a000000 ...
Using 'conf-freescale_imx8qm-apalis-v1.1-eval.dtb' configuration
Trying 'kernel-1' kernel subimage
Description: Linux kernel
Type: Kernel Image
Compression: gzip compressed
Data Start: 0x8a0000f4
Data Size: 7740927 Bytes = 7.4 MiB
Architecture: AArch64
OS: Linux
Load Address: 0x96000000
Entry Point: 0x96000000
Hash algo: sha256
Hash value: a0cd44cfd64480c66c3639a01cbe893325bcf0d37f55f6998d5060aa317fc2ef
Verifying Hash Integrity ... sha256+ OK
## Loading ramdisk from FIT Image at 8a000000 ...
Using 'conf-freescale_imx8qm-apalis-v1.1-eval.dtb' configuration
Trying 'ramdisk-1' ramdisk subimage
Description: tezi-initramfs
Type: RAMDisk Image
Compression: uncompressed
Data Start: 0x8a949364
Data Size: 33214464 Bytes = 31.7 MiB
Architecture: AArch64
OS: Linux
Load Address: 0xa0000000
Entry Point: unavailable
Hash algo: sha256
Hash value: 139892036f28fd01c91af86b480b2f8684dfe600b81b250bdbdb5efb983db374
Verifying Hash Integrity ... sha256+ OK
Loading ramdisk from 0x8a949364 to 0xa0000000
## Loading fdt from FIT Image at 8a000000 ...
Using 'conf-freescale_imx8qm-apalis-v1.1-eval.dtb' configuration
Trying 'fdt-freescale_imx8qm-apalis-v1.1-eval.dtb' fdt subimage
Description: Flattened Device Tree blob
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x8a7e4ee0
Data Size: 176904 Bytes = 172.8 KiB
Architecture: AArch64
Load Address: 0x87000000
Hash algo: sha256
Hash value: bdcc1f2da28c9de93fa8f00beef004aaa7739ccebb6538f720c3457105c2d909
Verifying Hash Integrity ... sha256+ OK
Loading fdt from 0x8a7e4ee0 to 0x87000000
## Loading fdt from FIT Image at 8a000000 ...
Using 'conf-apalis-imx8_hdmi_overlay.dtbo' configuration
Trying 'fdt-apalis-imx8_hdmi_overlay.dtbo' fdt subimage
Description: Flattened Device Tree blob
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x8a942a10
Data Size: 2205 Bytes = 2.2 KiB
Architecture: AArch64
Load Address: 0x870f0000
Hash algo: sha256
Hash value: 27494b5832931c90815246243ccb652a83cd02323ba42a9e462ab3f69d128a96
Verifying Hash Integrity ... sha256+ OK
Loading fdt from 0x8a942a10 to 0x870f0000
## Loading fdt from FIT Image at 8a000000 ...
Using 'conf-apalis-imx8_spi1_spidev_overlay.dtbo' configuration
Trying 'fdt-apalis-imx8_spi1_spidev_overlay.dtbo' fdt subimage
Description: Flattened Device Tree blob
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x8a948d38
Data Size: 551 Bytes = 551 Bytes
Architecture: AArch64
Load Address: 0x870f0000
Hash algo: sha256
Hash value: c7227d70301c294cd83d6cc779016ca8f1ac5289cbb3a03fcbde223b7f0d7fe4
Verifying Hash Integrity ... sha256+ OK
Loading fdt from 0x8a948d38 to 0x870f0000
## Loading fdt from FIT Image at 8a000000 ...
Using 'conf-apalis-imx8_spi2_spidev_overlay.dtbo' configuration
Trying 'fdt-apalis-imx8_spi2_spidev_overlay.dtbo' fdt subimage
Description: Flattened Device Tree blob
Type: Flat Device Tree
Compression: uncompressed
Data Start: 0x8a949064
Data Size: 551 Bytes = 551 Bytes
Architecture: AArch64
Load Address: 0x870f0000
Hash algo: sha256
Hash value: 8a1c004369d8f1318cace660c7581c3016c2952099acc4864abc2da5f5ba535f
Verifying Hash Integrity ... sha256+ OK
Loading fdt from 0x8a949064 to 0x870f0000
Booting using the fdt blob at 0x87000000
Uncompressing Kernel Image
Loading Ramdisk to fb6a1000, end fd64e000 ... OK
ERROR: Failed to allocate 0x2e34c bytes below 0xffe00000.
device tree - allocation error
FDT creation failed! hanging...### ERROR ### Please RESET the board ###
Hi @Gideon1!
Just to confirm, you are trying to use an SD card to boot an image (Yocto-based, for example) and not to boot the TEZI, correct? If that’s the case, it seems the Toradex AI may have misinterpreted your intent and assumed you were attempting to launch TEZI from the SD card.
Also, could you please share some details about your hardware? Specifically, the SoM and Carrier Board version. I would like to test it on our side to see if we can reproduce the error.
Best regards.
The hardware is Apalis:
imx8QM (v1.1E)
On Apalis v1.2A carrier board
I had previously used TEZI with an internet connection to download Acontis EC Master version 5. (dated 20210117 - so quite old)
Where I ran into the problems described above I was trying to revert to TEZI to then reload another version of Torizon OS.
My suspicion is that the Acontis v5.1.0 image has a problem with uboot on my hardware.
During other tests I have used the “unofficial” uboot method to reinstall TEZI - connect serial debug from host; hit a key during the power up to stop autoboot; run bootcmd_usb0. However with that Acontis image installed using uboot trying images on a usb stick or a SD card both failed to install. (The same sticks and cards worked fine under uboot on on other Toradex boards starting from other OS images).
My problem has been solved by
1/ using recovery mode (see my other post + notes on jumper settings to get recovery to work).
2/ Direct from Acontis I have received v6 (2024-06-19) of their EC Master image. That does support Uboot back to TEZI
Hi @Gideon1!
I understand it now, and I’m glad you were able to resolve the issue.
Also, I marked your answer as a solution and will consider this topic solved.
Best regards.