I'm using Raspberry PI Compute Module 4 for development. My RPI-cm4 has onboard EMMC 8GB memory. We are following below layout
For bootloader, we are using u-boot.
U-Boot> mmc list
mmcnr@7e300000: 1
mmc@7e340000: 0 (eMMC)
U-Boot> mmc part
Partition Map for MMC device 0 -- Partition Type: DOS
Part Start Sector Num Sectors UUID Type
1 2048 247808 dda41d44-01 0c
2 249856 60821504 dda41d44-02 83
U-Boot>
When I give mmc hw partition
U-Boot> mmc hwpartition
Partition configuration:
No enhanced user data area
No GP1 partition
No GP2 partition
No GP3 partition
No GP4 partition
U-Boot>
My requirement is to create a partition to support the following,
- To store configuration files and these files will be used by the application services.
- To support multi boot. Firmware upgrade from the multiple banks. When bank0 is not active, then kernel and rootfs should load from bank 1. And Also, I need to do all of this using boot script like automation, u-boot should do all check when creating partition using script.
My questions:
- What is the best approach to store the config files. I saw software and hardware partition. What is the difference. If I create a partition part 3 in MMC device 0 like part 1 and 2, can I mount it as a file system and use it in application to access config files or do I really need hw partition?
- How to automate the partition creation using u-boot script for multibank boot support?
I'm new to embedded domain.

I’m not really sure how to explain what the difference is between hardware and software partitions. I do know this, in your case a software partition would most likely fit for your needs, because you are storing configuration files.
For automating partitions for multibank, you could give a go at this script. I am not sure if it would work well or not.
(Sorry for the vague answer)