STM32MP157C SoM eMMC partitions


I have managed to create a Linux image running from the SD card but I would like to have it run from the eMMC. Is there a description of the partition table, in particular what are the /dev/mmcblk1boot0 and /dev/mmcblk1boot1 partitions ? Can I simply write the content of the SD card (mmcblk0) to the eMMC storage (mmcblk1) or are there any additional steps I need to take?

Best regards


1 Like

/dev/mmcblk1boot0 and /dev/mmcblk1boot1 are preserve partitions, they have no function.

What steps need to be taken to migrate SD image to emmc? I imagine the low level bootloader should be specificly told where to find uboot. How does this happen?

I use buildroot and my reply will focus on that but switching to another build system should be easy.

The boot device selection is handled by the ROM based on what values are read from the boot pins (with the Odyssey board, you can only choose eMMC or SD-Card boot with the boot switch).

You need to write the FSBL (in my case u-boot SPL but it can also be TF-A) in STM32 format to the /dev/mmcblk1boot0 partition and then the entire Buildroot image to /dev/mmcblk1.

It is required to be run when booted from the SD-Card.

I have a basic flashing script which I use to update the eMMC with a new image once I have an image from buildroot.

1 Like

Thanks so much. I was able to get it working with my Yocto build.