Hi,
I am working with a SolidRun i.MX8MP board. I have the default image (core-image-inimal-imx8mpsolidrun.wic.zst) flashed to both SD card and eMMC. I want the board to boot from eMMC user partition 1 (mmcblk2p1) but it boots from mmcblk2boot0 .
Observations
Booting from SD card:
mmc dev
switch to partitions #0, OK
mmc1 is current device
SD card boots correctly from the user partition.
Kernel loads imx8mp-hummingpulse.dtb
Custom changes I made in U-Boot (e.g., board messages, DTB selection) are reflected.
Booting from eMMC:
mmc dev
switch to partitions #0, OK
mmc2(part 0) is current device
U-Boot loads from boot0.
Default DTB imx8mp-cubox.dtb is loaded not imx8mp-hummingpulse.dtb.
Changes I made in U-Boot are not reflected at all.
eMMC info:
mmc info
Boot area 0: 4 MiB
Boot area 1: 4 MiB
User area: 29.1 GiB
Boot areas not write-protected
I tried Setting U-Boot variables alone but its not working
setenv mmcdev 2
setenv mmcpart 1
Uboot still loaded from boot0 — user partition changes ignored.
I stop U-Boot during startup using the UART console and print boot_targets; the output is (mmc1 mmc2 usb pxe dhcp). I change it to mmc2 mmc1 usb pxe dhcp using setenv and save it with saveenv. After reflashing a new image, I check boot_targets again, and it still shows mmc2 mmc1 usb pxe dhcp, so the changes I made persist even after flashing the new image
This confirms that ROM always executes boot0, never the user partition.
Is there any way I can boot from eMMC partition(mmcblk2p1) ?
Thanks