According to the Linux kernel documentation:
MMC boot partitions as supported and exposed as
/dev/mmcblkXboot0 and /dev/mmcblkXboot1, where X is the index of the
parent /dev/mmcblkX.
The boot partitions are present in the eMMC on a Librem 5:
$ lsblk -p /dev/mmcblk0boot[0,1]
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
/dev/mmcblk0boot0 179:32 0 4M 1 disk
/dev/mmcblk0boot1 179:64 0 4M 1 disk
Instead, the bootloader is written by scripts to an offset on the eMMC in the unallocated space. It is also possible doing that by hand.
There are several propositions to utilise the boot partitions:
- “Robust A/B Bootloader&Recovery Installs and Updates (to interoperable, hardware separated eMMC boot partitions)” in Librem5/OS-issues#347
- “Use dedicated boot partition for bootloader” by @dos in Librem5/librem5-flash-image#13
- “WIP: Enable boot image generation” in Librem5/image-builder!88
- “Place u-boot in the boot MMC area” by @dcz in Librem5/librem5-devkit-tools#10
They mention, among other things, the following advantages:
- A/B scheme
- generic OS installation
The A/B scheme means the bootloader is installed to a different partition during an update without overwriting the current bootloader. If the bootloader update goes wrong, the device remains bootable with the older bootloader.
Moving the bootloader and all the device-specific files to the dedicated partitions should also allow the installation of generic images of the operating system. For instance, that should simplify the installation of other distributions on Librem 5.