We’re preparing a factory flashing flow for Verdin i.MX95 where U‑Boot must be present in both eMMC boot partitions (/dev/mmcblk0boot0 and /dev/mmcblk0boot1 ) so that a future field upgrade can switch partitions safely. With the default .wic image flashed via uuu , U‑Boot ends up only in boot0 ; boot1 remains empty . We can populate boot1 afterwards from a running target, but we need this to happen as part of the first flash at the factory .
Environment:
What happens today:
What we already tried:
What we’re looking for (requests):
I will be on vacation for a week and may not reply during this period. If you are in a hurry, you can create a new ticket. My other colleagues will support you. Thanks for your understand.
B.R
Attached is a UUU script to download bootloader to both emmc boo0 and boot1 partition on imx8mp. you can modify the file name in this script to make it fit for i.MX95 image.
B.R
You can refer to i.MX93 eMMC Secondary Boot. The script there is for burning eMMC boot0 and boot1. This part is the same for iMX95 and iMX93.
i.MX93_emmc_boot_part_secondary_boot.uuu
uuu_version 1.2.39
SDPS: boot -f imx-boot-imx93-11x11-lpddr4x-evk-sd.bin-flash_singleboot-LF_v6.6.3_1.0.0
SDPV: delay 1000
SDPV: write -f imx-boot-imx93-11x11-lpddr4x-evk-sd.bin-flash_singleboot-LF_v6.6.3_1.0.0 -skipspl
SDPV: jump
#FB: ucmd setenv emmc_dev 1
FB: ucmd setenv part 1
FB: ucmd setenv boot_offset 0x0
FB: ucmd setenv fastboot_dev mmc
FB: ucmd setenv mmcdev ${emmc_dev}
FB: ucmd if test ${part} != 7; then mmc dev ${emmc_dev} ${part}; else mmc dev ${emmc_dev}; fi
FB: ucmd setenv fastboot_buffer ${loadaddr}
FB: download -f imx-boot-imx93-11x11-lpddr4x-evk-sd.bin-flash_singleboot-LF_v6.1.55-2.2.0
#FB: download -f imx-boot-imx93-11x11-lpddr4x-evk-sd.bin-flash_singleboot-LF_v6.6.3_1.0.0
FB: ucmd echo ${fastboot_bytes}
FB: ucmd setexpr blks ${fastboot_bytes} / 0x200; setexpr blks ${blks} + 1
FB: ucmd mmc write ${loadaddr} ${boot_offset} ${blks}
# Secondary boot
FB: ucmd setenv part 2
FB: ucmd if test ${part} != 7; then mmc dev ${emmc_dev} ${part}; else mmc dev ${emmc_dev}; fi
#FB: download -f imx-boot-imx93-11x11-lpddr4x-evk-sd.bin-flash_singleboot-LF_v6.1.55-2.2.0
FB: download -f imx-boot-imx93-11x11-lpddr4x-evk-sd.bin-flash_singleboot-LF_v6.6.3_1.0.0
FB: ucmd echo ${fastboot_bytes}
FB: ucmd setexpr blks ${fastboot_bytes} / 0x200; setexpr blks ${blks} + 1
FB: ucmd mmc write ${loadaddr} ${boot_offset} ${blks}
FB: ucmd setenv part 1
FB: ucmd if env exists emmc_ack; then ; else setenv emmc_ack 0; fi;
FB: ucmd mmc partconf ${emmc_dev} ${emmc_ack} ${part} 0
FB: done
I recommend you refer to i.MX93 eMMC Secondary Boot. The mechanism of this part of iMX95 is the same as that of iMX93.