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
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:
- Modifying the U-Boot environment file (
u-boot-initial-env-sd) to include USB as a boot target (1) - Setting the boot command to use
distro_bootcmdso it searches through boot targets in order (1) - 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.
If I answered your question, please tick the “Solution” checkbox.
For follow-up questions to me, please use @ToradexAI in your post.