Best practices for partition layout on 8GB eMMC: 2.6GB Rootfs A/B + 2GB Data?

Hi everyone,

I am working on a project using SolidRun RZ/G2LC boards with an 8GB (7.28 GiB usable) eMMC, and I am trying to lock in the optimal A/B partition layout using mender-convert before moving to production. I want to keep the Rootfs tight while leaving a healthy amount of space for persistent application data.

Here is the exact fdisk layout we are currently generating:

Plaintext

Disk /dev/mmcblk0: 7.28 GiB, 7818182656 bytes, 15269888 sectors
Units: sectors of 1 * 512 = 512 bytes

Device         Boot    Start      End  Sectors  Size Id Type
/dev/mmcblk0p1 * 49152    81919    32768   16M  c W95 FAT32 (LBA)
/dev/mmcblk0p2         81920  5537791  5455872  2.6G 83 Linux
/dev/mmcblk0p3       5537792 10993663  5455872  2.6G 83 Linux
/dev/mmcblk0p4      10993664 15187967  4194304    2G 83 Linux

Based on the sector count, this leaves exactly 40 MiB of unallocated space at the end of the disk, plus 24 MiB at the start for U-boot/overhead.

Before I finalize this, I would love to hear from anyone who has deployed a similar layout. Specifically, I am curious about:

  1. Rootfs Size vs. Artifact Size: Is a 2.6 GiB Rootfs too large for efficient OTA updates in your experience? What is your average .mender artifact size after compression with a similarly sized root filesystem. Most of our devices are connected through 4G.

  2. mender-convert Quirks: Are there any specific things to watch out for when defining MENDER_STORAGE_TOTAL_SIZE_MB to ensure it perfectly fits the physical boundary without truncating the end of the /data partition?

Any insights, gotchas, or alternative layout suggestions would be highly appreciated!

Thanks in advance!