Verdin-imx8mm - easy installer and custom image in a single place

  • Verdin imx8mm
  • Custom HW - only SD Card
  • YOCTO - Linux BSP: 6.4.0

Hi Toradex community,

I have a verdin-imx8mm module in a custom HW without Ethernet and USB. I have ONLY an SD card.

I know that it is possible to do the AUTOMATIC update by having an SD Card with easy Installer and the customized image in the USB.

Is it possible have the same system but only with an image, since I have no USB devices.

If so, how can I integrate it on Yocto?

Hi, I’m the Toradex AI Assistant. I’m in early beta, and I would appreciate your feedback.
The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hello,

For your Verdin iMX8MM module setup using only an SD card for updates, without Ethernet and USB, you can indeed prepare an SD card that contains both the Toradex Easy Installer and your custom image. This approach allows you to perform an automatic installation of your custom image onto the module.

Here’s how you can achieve this:

  1. Prepare Your Custom Image in Yocto: Ensure your custom image is built using Yocto, following the specifications of BSP 6.4.0. This process involves creating a recipe that defines your image configuration, including any custom packages or modifications you require.

  2. Export Your Custom Image: After building your image with Yocto, you’ll have an image file (typically a .tar file for Linux images) that needs to be prepared for the Toradex Easy Installer. This involves creating a JSON file that describes your image, including metadata such as name, version, and description, as well as technical details like where the image should be installed on the module’s storage.

  3. Prepare the SD Card with Toradex Easy Installer: Download the latest version of the Toradex Easy Installer compatible with the Verdin iMX8MM. You’ll need to write this installer to your SD card. The process typically involves using a tool like dd on Linux or a graphical tool like Etcher on Windows to write the installer image to the SD card.

  4. Add Your Custom Image to the SD Card: With the Toradex Easy Installer on the SD card, you now need to add your custom image to it. This involves copying your image file and its JSON descriptor to the SD card, placing it in the appropriate directory where the Easy Installer expects to find installable images. The exact path can vary, but it’s typically a directory named tezi on the SD card.

  5. Automatic Installation: To enable automatic installation, you’ll need to modify the image.json file of your custom image to include the "autoinstall": true property. This instructs the Toradex Easy Installer to automatically install this image without user intervention when it boots from the SD card.

  6. Boot from SD Card: Insert the prepared SD card into your custom hardware and power on the Verdin iMX8MM module. The Toradex Easy Installer should boot from the SD card, detect your custom image, and proceed with the automatic installation process.

Ensure that your SD card is formatted correctly and that the partition layout

Please, also check if these links can help you solve your problem:

Verdin Development Board | Toradex Developer Center.

Add Your Custom Image to the SD Card β€”> it doesn’t work because easy installer is scanning for an usb or ethernet…

Hello @dinetta,

It is possible to have both easy installer and a custom image on one SD card. However, you should create separate partitions on your SD card for these for this to work. Could you please try that and let us know how that goes?

thank you, it worked by creating 2 partitions as ext4 and using the default Verdin-iMX8MM_Reference-Minimal-Image-Tezi_6.6.0+build.12.

If I create a FAT partition or I use my compiled image, I have these errors:

Fastboot: Normal
Normal Boot
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1…
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Scanning disk mmc@30b40000.blk…
Scanning disk mmc@30b50000.blk…
Card did not respond to voltage select! : -110
Scanning disk mmc@30b60000.blk…
Disk mmc@30b60000.blk not ready
Found 6 disks
No EFI system partition
ERROR: invalid device tree
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1…
Found U-Boot script /boot.scr
6010 bytes read in 1 ms (5.7 MiB/s)

Executing script at 50280000

Loading DeviceTree: imx8mm-verdin-nonwifi-dev.dtb

Anyway if I think that a technician has to create 2 partitions, it is to complicate.

Is there a possibility to have everything in a single partition?

Hello @dinetta,

Were you successful in flashing your custom built image on the hardware by other means? For example from a local webserver or from a USB drive? This is just to make sure that the image is built properly and that it works with the device.

Regarding the FAT partition and having both the easy installer and the OS image in a single partition, I will have to check it internally with our team to see if there are any plans to support these use-cases. I will update you as soon as I have an answer.

Hello @dinetta,

You can achieve this by using a single FAT32 partition on a SD card.

In this partition you can copy the Toradex Easy Installer files and the folder with your custom image which is configured to auto-install.
This way when the device is turned on, it will boot to Toradex Easy Installer and the image will be auto-installed.

Here is an example of how this can be organized:

$ lsblk -l -o NAME,FSTYPE,SIZE,TYPE -d /dev/mmcblk0*
NAME      FSTYPE  SIZE TYPE
mmcblk0          14,8G disk
mmcblk0p1 vfat   14,8G part
$ tree 
.
β”œβ”€β”€ boot.scr
β”œβ”€β”€ image.json
β”œβ”€β”€ imx-boot-recoverytezi
β”œβ”€β”€ imx-boot-sd
β”œβ”€β”€ overlays.txt
β”œβ”€β”€ recovery
β”‚   β”œβ”€β”€ uuu
β”‚   β”œβ”€β”€ uuu.auto
β”‚   └── uuu.exe
β”œβ”€β”€ recovery-linux.sh
β”œβ”€β”€ recovery-windows.bat
β”œβ”€β”€ recovery-windows.README
β”œβ”€β”€ tezi.itb
β”œβ”€β”€ tezi.png
β”œβ”€β”€ Verdin-iMX8MM_Reference-Multimedia-Image-Tezi_6.6.0+build.12
β”‚   β”œβ”€β”€ image.json
β”‚   β”œβ”€β”€ imx-boot
β”‚   β”œβ”€β”€ LA_OPT_NXP_SW.html
β”‚   β”œβ”€β”€ marketing.tar
β”‚   β”œβ”€β”€ prepare.sh
β”‚   β”œβ”€β”€ Reference-Multimedia-Image-verdin-imx8mm.bootfs.tar.xz
β”‚   β”œβ”€β”€ Reference-Multimedia-Image-verdin-imx8mm.tar.xz
β”‚   β”œβ”€β”€ toradexlinux.png
β”‚   β”œβ”€β”€ u-boot-initial-env-sd
β”‚   └── wrapup.sh
└── wrapup.sh

3 directories, 24 files

Please let us know if you have any problems getting this setup.

Best Regards,
Bruno

Hi Bruno,

I have always the same error if I put everything in the same partition:

Normal Boot
Hit any key to stop autoboot: 0
switch to partitions #0, OK
mmc1 is current device
Scanning mmc 1:1…
Found U-Boot script /boot.scr
Failed to load β€˜/boot.scr’

Executing script at 50280000

Wrong image format for β€œsource” command
SCRIPT FAILED: continuing…
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Scanning disk mmc@30b40000.blk…
Scanning disk mmc@30b50000.blk…
Card did not respond to voltage select! : -110
Scanning disk mmc@30b60000.blk…
Disk mmc@30b60000.blk not ready

I also tried with the Dahlia Carrier Board and I downloaded from
https://artifacts.toradex.com/artifactory/tdxref-oe-prod-frankfurt/kirkstone-6.x.y/release/12/verdin-imx8mm/tdx-xwayland/tdx-reference-minimal-image/oedeploy/Verdin-iMX8MM_Reference-Minimal-Image-Tezi_6.6.0+build.12.tar
but I have the same error, so it not my custom Image or HW.

Hello @dinetta,

Thanks for checking on a Dahlia as well.
I have tested this procedure here an it works.

Can you confirm which version of the Toradex Easy Installer is being used?


There are also a few other things which could be different and causing the issue:

  • Original Bootloader may have problems booting the Toradex Easy Installer version being used:

    • Which image is currently installed to the device?
    • Does a single partition work if you install the Reference Minimal Image 6.6.0 from recovery mode first?
  • SD Card Partition Table:

    • Is the SD card using a GPT or MS-DOS partition table?
      • For my testing I used a GPT partition table.
  • SD card Partition formatting:

    • Is the partition on the SD card formatted as FAT32? Or is it still using ext4?
      • ext4 would be expected to work as well, but I need to confirm this, as the initial test was done with FAT32.

Can you check these topics and let us know?
This way we can try to reproduce the same scenario you have and try to come up with a configuration that works.

Best Regards,
Bruno

Hello @bruno.tx ,

I found the problem, I used to format my SD as FAT32 without a GPT table. If I create it, it works.

Thank you for your help :slight_smile:

It would be nice in the future to no longer need to create a partition table, so that we could also use windows as an operating system.

Hello @dinetta,

It is good to know that a GPT partition table is a requirement, we will update the documentation to reflect this.

Unfortunately Windows places some arbitrary restrictions in its partition manager functionality when using an SD card.
It is possible that the command line tools work for this use case on Windows.
Otherwise, there may be third party tools which would be able to change the SD card’s partition table.

Best Regards,
Bruno

1 Like