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

Lennart Poettering mzerqung at 0pointer.de
Tue Mar 18 16:13:28 UTC 2014


On Mon, 17.03.14 23:02, Chris Murphy (lists at colorremedies.com) wrote:

> 1. EFI System partition is being mounted persistently at /boot/efi,
> and I'd like to put an end to that because there's no good reason to
> do it. None of the binaries on it are regularly being updated, and if
> they are, the volume should be mounted on demand rather than
> persistently. 

So, systemd actually contains a logic that will automatically create an
autofs mount point on /boot for the ESP that has been used for
booting. This logic is automatically disabled if /boot is non-empty or
if another partition is listed for /boot in /etc/fstab. This setup makes
things simple, and avoids mucking with the ESP if it is not actually
accessed, but still makes it available without any manual mounting. 

Fedora takes a different approach though, and will mount an explicit
boot partition to /boot and the ESP to /boot/efi, and do so
unconditionally without involving autofs.  Fedora could add
"x-systemd-automount" to the mount options of /boot/efi, and thus
turning /boot/efi into an autofs too.

I think mounting the ESP into a subdir of the boot partition is an
awkward choice. Among other things this makes it impossible to make both
/boot and /boot/efi autofs file systems. I wished Fedora wouldn't nest
these mounts...

> 2. Right now we aren't doing an fsck on the single ESP we do mount. If
> we're going to continue to mount it on every boot despite the
> arguments against doing so, shouldn't /etc/fstab fspassno be set to 1
> for /boot/efi? I have experienced ESP file system corruption and
> /boot/efi wouldn't mount as a result, which hangs the system and
> eventually drops it to an obscure emergency shell.
> 
> Affected by this change are anaconda to set fspassno to 1; dracut to
> include mkfs.msdos initramfs; and possibly to fsck so that it runs
> mkfs.msdos with -a which currently it doesn't do, instead it runs it
> interactively which isn't suitable for boot time fixing. If we don't
> have the will to be checking and fixing a file system critical for
> booting, maybe we shouldn't be persistently mounting it rw (back to 1
> above)?

Yeah, Fedora really should set passno to 1 for all physical file systems
it mounts, and that certainly includes the ESP.

(The ESP logic in systemd mentioned above, of course does pull in an
fsck by default for the ESP).

Lennart

-- 
Lennart Poettering, Red Hat


More information about the devel mailing list