On Mon, Apr 24, 2023 at 12:15:12PM -0400, Ben Cotton wrote:
https://fedoraproject.org/wiki/Changes/BiggerESP
This document represents a proposed Change. As part of the Changes process, proposals are publicly announced in order to receive community feedback. This proposal will only be implemented if approved by the Fedora Engineering Steering Committee.
== Summary ==
The Fedora installer includes an EFI System Partition of between 200MB and 600MB by default, of which the lower size is much too small for firmware updates on modern hardware and also for future bootloader features like UKI. This change will increase the minimum size of the ESP to be 500MB, which is also the same value used by Microsoft for Windows 10 and newer.
This refers to the minimum size being changed, but later it mentions the default size being changed. Are the default & minimum sizes effectively the same in this case ?
nitpick - the github change linked is 512 MiB rather than 500 MB.
== Owner ==
- Name: [[User:rhughes| Richard Hughes]]
- Email: richard@hughsie.com
== Detailed Description ==
Modern hardware has UEFI firmware updates that are more than 64MB in size. The OEMs recommend a ESP free space of double the flash size plus 20MB and fwupd now enforces this requirement to ensure flash success. As the ESP is often shared between Windows and Linux, and also used for firmware updates, and soon to be used by UKIs it's not enough to just allocate a few hundreds of megabytes. Windows 10 and 11 allocates an ESP of at least 500MiB. Arch also specifies a minimum of 512 MiB.
My only thought is whether 512 MiB is sufficiently future proofed if we start to make more use of UKIs, given that /boot by comparison is already at 1 GiB by default IIUC ?
== Feedback ==
There is no alternative -- the ESP has to scale up if we want firmware updates to continue to work and to support UKIs for next-generation bootloaders.
== Benefit to Fedora ==
Firmware updates will work on future hardware, and we can boot the kernel using UKIs using next-generation bootloaders.
== Scope ==
- Proposal owners:
We need to change a number in Anaconda: https://github.com/rhinstaller/anaconda/pull/4711
== Upgrade/compatibility impact ==
We can't grow the ESP in size, and so this change will only affect new installs. This is fine, as this will affect new hardware more than old hardware.
== How To Test ==
Install Fedora and observe that /boot/efi has at least 276MB free space, even when installed alongside Windows.
== Dependencies ==
Anaconda would need to be modified, and Fedora would have a / or /home partition that's ~300MB smaller by default than it is now.
For any install which does end up using UKIs on the ESP, the /boot would no longer need to be as large as it is today as it would not have kernel images. In fact /boot could potentially not need to exist at all in any EFI installs using UKIs.
IOW, the increased size for the ESP could potentially be won back by permitting /boot to be smaller, or eliminating /boot. I'm not suggesting this needs to be a pre-requisite of this change proposal though, just a thought for the future. Could be something that is optimized in any cloud image kickstarts that end up using UKIs.
With regards, Daniel