Boot partitions are now 512MiB by default

July 09, 20261 min. read

A change landed in pmbootstrap a while ago that raises the default size of the /boot partition from 256MiB to 512MiB. This was last raised in 2021 from 128MiB to 256MiB in this MR.

This is not to be confused with the boot{_a,_b} partitions on Android phones, those partitions are where Android bootloaders boot the kernel image from, but they are distinct from the partition that is mounted at /boot, which usually resides on a nested GPT on these devices and is therefore not subject to size constraints.

For quite a while now, 256MiB has served us very well, but we've been starting to see issues with larger kernel packages like linux-postmarketos-stable or linux-next, which occupy around 150MiB on /boot on aarch64 systems due to the large number of device tree blobs shipped with the kernels. This would sometimes result in out of space errors when upgrading the kernel package. Some laptops like the Thinkpad X13s also ship with UEFI firmware that creates a several megabytes large file on the ESP, further limiting the space available to us.

In the past, we simply didn't have such one-size-fits-all kernel packages that would ship all DTBs alongside the kernel, which is why we're only starting to see these issues now.

Therefore, we've decided to bump the size to 512MiB by default. This leaves a lot of headroom for growth in kernel package size.

This change will not affect the majority of users. Existing installs are of course untouched and stay at the boot partition size at the time of install. The vast majority of our devices also manage their own GPT, either by installing the OS to an entire disk or by creating a nested GPT on a partition of a block device. In both of these cases, you won't notice a difference except that your root partition will be 256MiB smaller.

If you were doing a split install via pmbootstrap install --split or using the fastboot-bootpart flasher method, pmbootstrap generates two flashable disk images for you, one with the /boot partition and one with your root filesystem. If the partition you were previously flashing the boot partition to is less than 512MiB in size, you will have to find an alternative partition with sufficient space or start using a nested GPT, which is the better supported installation method.