Deploy Yocto Build to USB for Toradex Easy Installer - What is needed?

Howdy,

I think I’ve got my Yocto build completed and would like to try copy it to USB and install the image using the Toradex Easy Installer. However, I can’t seem to find the right article or forum post that discusses what is required from the build/deploy/images/colibri-imx8x folder.

I tried dumping everything onto a USB and the USB image does show up in the Easy Installer as an option, but when I try to install the image an error appears that the installer can’t open a tar.xz file.

Is there an article or overview of what needs to be copied from the Yocto images folder to the USB for a successful install image?

Thanks,
Austin

Please check this article.

@amcelroy,

For Toradex Easy Installer (TEZI) YP needs to build a TEZI image. That is enabled by adding IMAGE_CLASSES:append = " image_type_tezi". This variable is typically configured in the machine configuration file. It is also by default enabled by all Toradex machine definitions. In your case meta-toradex-nxp/conf/machine/colibri-imx8x.conf.

Then inside the build/deploy/images/colibri-imx8x folder you will find an image <image-name>-colibri-imx8x-<timestamp>-Tezi_1.0.tar. Copy that file on a USB drive. When TEZI is running on your board it will detect the TEZI image on the USB drive and add it to the list of installable images.

Cheers,
:rjs

@alex.tx @RudolfStreif I tried copying just the file named (in my case) Colibri-iMX8X_Reference-Multimedia-Image-Tezi_6.2.0-devel-20230216214905+build.0.tar to a freshly formatted FAT USB. This file is the only file on the USB. The Toradex Easy Installer did not find the image in either USB slot on the Aster carrier board. Do I need to rename the file?

Edit: I extracted the .tar file and copied the files in that over to the USB and used the top slot on the Aster carrier board and it looks like things are going well.

Epilogue: I feel like this might be a gap in the documentation, as it didn’t seem obvious, at least to this n00b. Thank you both for the help. I really appreciate all the time and effort Toradex has put into the documentation and it has made the process of bringing up a custom image so much easier.

@amcelroy,

Sorry, my bad. I forgot to add that you have to extract the TEZI tar file. I should read me own documentation. TEZI needs to read the image.json file in the directory to get the installer package information.

:rjs

@RudolfStreif

It would be helpful to have a table or list that discusses the must have items from a Yocto build for the Toradex Easy Installer along with what each item does. Also, if modifying a reference recipe or making a new one, what is important to add or leave in to generate the Tezi file?

Maybe something like:

To use the Toradex Easy Installer to load a custom distribution, it is best to generate a Tezi .tar file. Unzip the *Tezi*.tar file onto a FAT32 formatted USB. After extraction, the USB should contain:

  • Image.json - Contains information used by the Toradex Easy Installer
  • marketing.tar - Educational splash screens displayed during installation
  • Reference-Multimedia-Image*.tar.xz - The root filesystem with compiled binaries
  • imx-boot - TODO: add note
  • prepare.sh - TODO: add note
  • Reference-Multimedia-Image*.bootfs.tar.xz - TODO: add note
  • u-boot-initial-env-sd - TODO: add note
  • wrapup.sh - TODO: add note

@amcelroy,

Full disclosure here: I am not affiliated with Toradex (my forum handle does not have a .tx suffix). I am just trying to support others in the sense of community spirit with hopefully helpful responses.

  • Reference-Multimedia-Image*.tar.xz - The root filesystem with compiled binaries - correct, flashed to a partition called root on the hardware user partition of the eMMC.
  • Reference-Multimedia-Image*.bootfs.tar.xz - The boot partition, flashed to a partition called boot on the hardware user partition of the eMMC. Contains device tree, device tree overlays, Linux kernel image.
  • imx-boot: u-boot bootloader image, flashed to the hardware boot partition of the eMMC
  • prepare.sh : script executed by TEZI installer before executing the installation
  • u-boot-initial-env-sd: u-boot environment, I don’t know at this time where this is used, if at all
  • wrapup.sh: script executed by TEZI installer after executing the installation

The TEZI installer image uses the meta-toradex-bsp-common/recipes-bsp/tezi-metadata to provide the following files:

  • prepare.sh
  • wrapup.sh
  • toradexlinux-png (the icon image displayed next to the name of the image, see icon in image.json)
  • marketing.tar (the archive with the slides shown during installation, see marketing in image.json)
  • LA_OPT_NXP_SW.html (a license file, see license in json.image)

You can easily customize it by creating a bbappend in your own layer. I did that for a customer of mine who is going to use Toradex modules.

TEZI is a great idea as it comes preinstalled on all modules. It simplifies the production flashing of the eMMC on the module. Without either an SD card would be necessary (requires SD card slot on custom carrier board or use a dev board to flash each module) or bootstrap the module via USB SDL/fastboot.

:rjs

1 Like

I really appreciate your responses as a community member, thanks for your help.

The image does install on the Colibri iMX8X module using the Tezi .tar file, though it isn’t booting, so off to the next troubleshooting step!

Please check this article - Configuration Files | Toradex Developer Center