rfc: EFI System partition, FAT32, repair and non-persistent mount

Chris Murphy lists at colorremedies.com
Wed Mar 19 20:31:40 UTC 2014


I think dynamically mounted /boot is a separate conversation. It's only relevant here in that if x-systemd.automount,noauto behavior is desired for /boot, then for sure that means we need "a better way" for the EFI System partition because we can't have nested automounts.

As for resources, the automount is super fast. As in, I can't tell it's not already mounted, even when fsck.fat is used at first mount time. All Fedora products use systemd, which is what implements this. So I think that's pretty minimal.

The two easy changes currently on the table for /boot/efi apply only to anaconda:

1. Do run fsck on the EFI System partition. We don't now.
https://bugzilla.redhat.com/show_bug.cgi?id=1077917
2. Change EFI System partition mount option to include both x-systemd.automount,noauto.
https://bugzilla.redhat.com/show_bug.cgi?id=1077984

These changes significantly reduce the likelihood of accumulating ESP corruption, and hopefully fixing it in time if it does occur. But this doesn't solve all the problems, only the corruption angle.

The real solution is to:

1. Anaconda always creates ESPs on each selected device for install.
2. Anaconda always installs bootloader binaries to each selected devices' ESP.
3. Anaconda writes a simple one-time static config, the only variable data are /boot volume UUID, and path prefix pointing to the updated configuration file(s), as EFI/fedora/grub.cfg.
4. Anaconda
+ grub2-mkconfig -o /boot/grub2/grub.cfg
- grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

** By virtue of putting grub.cfg on /boot again, if /boot is on md or Btrfs raid, we get bootloader configuration file syncing for "free" across all disks. The disk ESP contains only generic information so it's also much easier to restore, simple copy is all that's needed. Something one day a DE could do when we ask it to rebuild a replacement raid member device.

5. Bootloader package change to mount each ESP and update them; if bootloader updatability is considered important.

6. Now we can get rid of /boot/efi and any need for persistently mounted ESP.

X. Set x-systemd.automount,noauto on /boot. This is not part of this RFC/RFE, but could be seen as making it easy to go down this road if we want since it only means making an fstab change.


Chris Murphy


More information about the devel mailing list