How to install YOCTO Colibri iMX7 image with sdcard

Colibri iMX7D 512MB
V1.1D 03090138
Colibri Evaluation Board V3.2B 00060083

Hi !
I’ve build the Yocto image Colibri-iMX7_Reference-Multimedia-Image-rt but I’m not able to install it using an SD Card.
I followed the instruction from using-wic-files ,
but sdboot not exist in the U-Boot environment.
In the iMX7 I’ve installed the Toradex Embedded Linux Reference Multimedia Image (5.6.0+build.18) with Toradex Easy Installer 5.6.0+build.9

Some suggestions ?

U-Boot 2020.07-5.6.0+git.266eb389dd1d (Feb 14 2022 - 17:14:43 +0000)

CPU:   Freescale i.MX7D rev1.2 1000 MHz (running at 792 MHz)
CPU:   Extended Commercial temperature grade (-20C to 105C) at 31C
Reset cause: POR
DRAM:  512 MiB
PMIC:  RN5T567 LSIVER=0x01 OTPVER=0x0d
NAND:  512 MiB
MMC:   FSL_SDHC: 0
Loading Environment from NAND... OK
In:    serial
Out:   serial
Err:   serial
Model: Toradex Colibri iMX7 Dual 512MB V1.1D, Serial# 03090138
SEC0: RNG instantiated
Net:   eth0: ethernet@30be0000

Dear @flatz,

If I understood it well, you downloaded an image already as you stated below, right:

Did you try to use run sdboot inside the u-boot of this image, right? What is the error message that you get?

By the way, as you’re building your image with Yocto, in the deploy folder you may find a file called something like:
Colibri-iMX7_Reference-Minimal-Image-Tezi_5.6.0-devel-date+build.0.tar

You can unzip this file and you could install the image using the Toradex Easy Installer GUI using external media.

Please tell me if the above helps or if you’d need more clarification.

Hi gclaudino.tx,

In the U-Boot environment installed by Toradex-Easy-Installed 5.6.0 the sdboot environment variable not exist.
Instead it exist in the U-Boot environment installed with toradex Easy Installer 1.8 (U-Boot 2016.11-2.8.7+g5c2d46b325 (Jun 10 2020 - 17:13:37 +0000).
With this, the command run sdboot work well, the Yocto image start correctly.

But now I have another issue:
with the SD Card inserted into his slot, doing run setsdupdate, I have this error message:
Colibri iMX7 # run setsdupdate
reading colibri_imx7/flash_blk.img
** Unable to read file colibri_imx7/flash_blk.img **
Colibri iMX7 #

This file don’t exist in the colibri_imx7 directory of the boot partition of the sdcard.
There is another system to do this?

Thank You

Dear @flatz, how are you?

Thanks for the answers!

The run setupdate command is a little bit old and is not the recommended option anymore. Did you have time to check this tutorial? It show the most updated procedure to install an image on Toradex modules using external Media. Loading Toradex Easy Installer | Toradex Developer Center

Can you please look at that article and check if this helps you? Otherwise, you can add additional questions here.

Best regards,
Guilherme

Yes,
Following this procedure:
Downloaded Colibri-iMX7_ToradexEasyInstaller_5.6.0+build.9.zip
Extracted in my pc.

Following the instructions in modify-the-toradex-easy-installer-image:
Created the file tezi.its, extracted all images that later are required to repack,
replaced zImage and system.dtb with the zImage and device tree products by my YOCTO build,
modified tezi.its with the correct addresses showed by dumpimage -l tezi.itb (<0x81000000>) of the image and repacked all with mkimage -f tezi.its tezi_new.itb .
Those command had product those warnings:

tezi.its:8.18-20.11: Warning (unit_address_vs_reg): /images/kernel@0: node has a unit name, but no reg property
tezi.its:17.20-19.15: Warning (unit_address_vs_reg): /images/kernel@0/hash@1: node has a unit name, but no reg property
tezi.its:21.15-30.11: Warning (unit_address_vs_reg): /images/fdt@0: node has a unit name, but no reg property
tezi.its:27.20-29.15: Warning (unit_address_vs_reg): /images/fdt@0/hash@1: node has a unit name, but no reg property
tezi.its:31.19-41.11: Warning (unit_address_vs_reg): /images/ramdisk@0: node has a unit name, but no reg property
tezi.its:38.20-40.15: Warning (unit_address_vs_reg): /images/ramdisk@0/hash@1: node has a unit name, but no reg property
tezi.its:45.18-53.11: Warning (unit_address_vs_reg): /configurations/config@1: node has a unit name, but no reg property
tezi.its:50.20-52.15: Warning (unit_address_vs_reg): /configurations/config@1/hash@1: node has a unit name, but no reg property,
and renamed tezi_new.itb to tezi.itb.

Restarting the evaluation board in recovery mode and running recovery-linux.sh from my directory,
I have this error from the ttyUSB debug terminal:

U-Boot 2020.07-5.6.0+git.266eb389dd1d (Mar 28 2022 - 16:15:11 +0000)
CPU: Freescale i.MX7D rev1.2 1000 MHz (running at 792 MHz)
CPU: Extended Commercial temperature grade (-20C to 105C) at 37C
Reset cause: POR
DRAM: 512 MiB
PMIC: RN5T567 LSIVER=0x01 OTPVER=0x0d
MMC: FSL_SDHC: 1
In: serial
Out: serial
Err: serial
Model: Toradex Colibri iMX7S/D
Model: Toradex Colibri iMX7D
Serial Downloader recovery mode, using sdp command
Net:
Error: ethernet@30be0000 address not set.
No ethernet found.
Hit any key to stop autoboot: 0
USB EHCI 1.00
SDP: initialize…
SDP: handle requests…
Downloading file of size 6606872 to 0x82100000… done
Downloading file of size 378 to 0x82000000… done
Jumping to header at 0x82000000
Header Tag is not an IMX image
Loading kernel from FIT Image at 82100000 …
Could not find configuration node
ERROR: can’t get kernel image!

Someone know where is the mistake ?
Thank

Dear @flatz,

Hope you’re doing good. I think that the link I sent you led to a misunderstanding, I’m sorry. So let’s get one step back.

Did you find any file like this on your Yocto Deploy Folder? If yes, I’d suggest you to:

  1. Simply extract it to your Sdcard or a USB Stick
  2. Change the image.json file with "autoinstall":true
  3. Boot your module in recovery mode and use the recovery-linux.sh of a newly extracted Toradex Easy Installer.
  4. Put the SD Card. The image should be installed automatically.

Would this procedure work for you?

Best regards,

Dear @gclaudino.tx ,

Yes, it works .

Thank you.

1 Like