How to Flash U-Boot to Both /dev/mmcblk0boot0 and /dev/mmcblk0boot1 Partitions in WIC Image for Verdin i.MX95?

Hi, I’m the Toradex AI Assistant.

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? :+1: :-1:


(1) (2) (3) (4)

Factory Flashing U-Boot to Both Boot Partitions on Verdin i.MX95

Boot Partition Configuration from Linux

For eMMC modules like the Verdin i.MX95, you can configure U-Boot in both boot partitions using the following approach once the system is running (1):

Enable Boot Partition and Configure Bus Settings

root@apalis-imx6:~# mmc bootpart enable 1 1 /dev/mmcblk0
root@apalis-imx6:~# mmc bootbus set single_hs x1 x8 /dev/mmcblk0

(1)

Write U-Boot to Boot Partitions

To populate both boot partitions, you would need to disable read-only protection and write to both partitions (1):

root@colibri-imx6:~# echo 0 > /sys/block/mmcblk0boot0/force_ro
root@colibri-imx6:~# echo 0 > /sys/block/mmcblk0boot1/force_ro

(1)

Then write U-Boot to both partitions:

root@colibri-imx6:~# dd if=u-boot-binary of=/dev/mmcblk0boot0
root@colibri-imx6:~# dd if=u-boot-binary of=/dev/mmcblk0boot1

Verify Boot Configuration

You can verify the boot partition configuration using (1):

root@apalis-imx6:~# mmc extcsd read /dev/mmcblk0 | grep -e BOOT_INFO -e BOOT_SIZE_MULTI -e PARTITION_CONFIG -e BOOT_BUS_CONDITIONS

(1)

U-Boot Commands for Boot Partition Management

From U-Boot, you can manage boot partitions using (1):

mmc bootbus dev boot_bus_width reset_boot_bus_width boot_mode

(1)

Important Considerations

The documentation notes several key points (1):

  • Changing boot_config takes effect immediately and does not require any power-cycle
  • Setting boot_partition back to 0x00 allows switching back to the current way of booting
  • By default eMMC boot partitions are read-only and disabling via force_ro is only temporary and does not persist
  • The Toradex Easy Installer handles this configuration in wrap-up scripts

Limitations of Current Documentation

The available sources don’t provide specific guidance for:

  • WIC plugin configuration for targeting boot0/boot1 directly during factory flashing
  • UUU script examples for writing to both boot partitions simultaneously
  • Verdin i.MX95-specific factory flashing procedures for boot partition mirroring

For comprehensive factory flashing solutions that populate both boot partitions during initial programming, you may need to implement a post-flash script that runs the boot partition population commands after the initial WIC image deployment.

**