YAVIA + Verdin iMX8 Plus – Enter Recovery Mode Without PC

Hello Tewfik,

Yes, USB boot is technically possible on the Verdin iMX8M Plus, but there are important considerations and potential challenges for your autonomous flashing station.

USB Boot Capability

The Verdin iMX8M Plus does support booting from USB devices (1). However, USB boot functionality has some important limitations and requirements that you need to understand.

U-Boot Environment Configuration

For USB boot to work, the U-Boot environment needs to be properly configured. By default, many Toradex modules don’t include USB in their boot targets (1). The boot order is defined in the U-Boot environment as (1):

boot_targets=mmc1 mmc2 dhcp 
distro_bootcmd=for target in ${boot_targets}; do run bootcmd_${target}; done

(1)

To enable USB boot, you would need to add usb0 as a boot target and modify the environment to use distro_bootcmd instead of the default bootcmd=run bootcmd_mmc2 (1).

Known USB Boot Issues

There are documented USB compatibility issues in U-Boot that could affect your setup (2). Some USB devices may not be recognized properly during the boot process, with errors like “USB device not accepting new address” (2). This inconsistency could be problematic for a production flashing station where reliability is crucial.

Alternative Approach: USB Boot Configuration

Based on community discussions, you can configure the system to boot from USB with fallback to eMMC (1). The theoretical approach involves:

  1. Modifying the U-Boot environment file (u-boot-initial-env-sd) to include USB as a boot target (1)
  2. Setting the boot command to use distro_bootcmd so it searches through boot targets in order (1)
  3. Building a custom Torizon OS image using TorizonCore Builder with these modifications (1)

USB Boot Target Configuration

The USB boot target name in U-Boot should be usb0 (1). However, it’s important to note that USB is not included as a boot target by default starting from BSP 6 (1).

Compatibility Considerations

There’s a significant compatibility concern: the compatibility between the U-Boot version running on the eMMC and the image stored on the USB device must be ensured (1). This is crucial for reliable operation in your production environment.

Recommendation

While USB boot is technically possible, SD card boot is more reliable and better supported for autonomous flashing stations. The USB boot method requires more customization and has potential compatibility issues that could affect the reliability of your production setup.

If you still want to pursue USB boot, I recommend thorough testing with your specific USB devices and careful attention to U-Boot environment configuration and compatibility between versions.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.