Skip to content

UEFI Plugin, ESP locations

Mario Limonciello edited this page Feb 4, 2020 · 1 revision

Intro

On most systems fwupd.service is dbus activated and launched by systemd. The daemon will attempt to detect the mounted EFI system partition from common locations (/boot/efi, /boot, and /efi). If the EFI system partition is not mounted in one of these locations, the service will attempt to mount it on it's own.

This behavior can be overridden by using the variable OverrideESPMountPoint in /etc/fwupd/uefi.conf to explicitly set the EFI system partition location to use.

systemd

Due to systemd confinement rules fwupd will not be able to create immediate subdirectories of /boot or /efi preventing updates from working if the subdirectory EFI doesn't exist under one of those mount points.

By default with automatically detected EFI system partition this behavior will manifest as an error Failed to create '/boot/EFI/$(distro)/fw' in the UpdateError for the UEFI device.

If you have manually set the mount point location using OverrideESPMountPoint it may manifest as the UEFI device not showing up and in the daemon's verbose log this message: invalid OverrideESPMountPoint=/boot specified in config: /boot/EFI does not exist

Resolution

If you are using /boot/ or /efi for your EFI system partition location, manually create the subdirectory EFI and restart the daemon.

mkdir -p /boot/EFI

or

mkdir -p /efi/EFI
Clone this wiki locally