Could someone explain the role of mmcblk0boot1? I understand that is contains a copy of u-boot which is in mmcblk0boot0. But how is it used? Does the first stage loader fallback to it if a boot attempt from mmcblk0boot0 fails? Can the first stage be instructed to use it (via POR state pins or similar) instead of boot0?
I’m interested in the scenario where a corrupt uboot gets flashed to a remote device that needs to recover without manual intervention. TEZI isn’t a readily available option in this case.
I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.
Did you like my answer?
Hello! I’d be happy to explain the roles of the eMMC boot partitions, especially as they relate to the Colibri iMX8X.
eMMC Boot Partitions: mmcblk0boot0 vs mmcblk0boot1
On Toradex modules with eMMC (like the iMX8X), the chip provides two special “boot area” partitions:
mmcblk0boot0
mmcblk0boot1
plus the normal user area (mmcblk0).
On Toradex reference designs, only one boot partition is actively used for U-Boot: typically mmcblk0boot0. The other (mmcblk0boot1) is, by default, left empty and is available for custom uses such as redundancy or image backup.
Key points:
U-Boot is usually installed into mmcblk0boot0.
The U-Boot environment is also stored in the same boot partition.
mmcblk0boot1 can optionally be used for redundancy (for example, as a backup copy of U-Boot), but Toradex’s standard images and tools do not implement switching or automatic fallback between partitions by default.
The eMMC’s boot partition selection is configured by the eMMC’s PARTITION_CONFIG register. You can manually select which partition to boot from using the mmc partconf command from U-Boot.
Is There an Automatic Fallback?
No, there is no automatic fallback between boot0 and boot1 at the hardware or ROM level on i.MX SoCs.
The SoC boots from the partition indicated in the eMMC’s configuration register (PARTITION_CONFIG).
If the image in the configured boot partition is corrupt, the device will not automatically try the other.
No POR (Power-On Reset) state pins are available to easily switch between boot partitions at boot time.
You can manually configure the system to use mmcblk0boot1 as the boot source, but this must be done beforehand (e.g., as part of a custom dual-bootloader update strategy).
This is not something the boot ROM or U-Boot will handle themselves in case of failure. You would need custom logic (in U-Boot or as part of a higher-level software update strategy) to manage switching between partitions.
For true remote recovery after a corrupt U-Boot, you must implement your own mechanism. For example, a redundant bootloader with watchdog resets and partition switching via software update process—or use a hardware mechanism (such as a microcontroller or secure element) to reconfigure the eMMC partition register.
In Summary
mmcblk0boot1 is a second eMMC boot partition, available for custom redundancy.
No automatic fallback—the SoC will not switch boot partitions on failure.
Boot partition selection is controlled via eMMC registers, not by first-stage loader logic or external pins.
Recovery strategies require custom handling beyond the default Toradex implementation.
For more about eMMC boot partitions and configuration, please see:
If you need more technical details about setting up a redundant U-Boot using both boot partitions, let me know!