fwupd
fwupd is a daemon that provides a safe, reliable way of applying firmware updates on Linux. Vendors can upload device firmware images to the Linux Vendor Firmware Service (LVFS) web portal. These firmware images are in turn distributed to devices running the firmware update daemon.
fwupd is colloquially referred to as Linux Vendor Firmware Service (LVFS), which is the name of the web portal used by vendors to upload device firmware.
Installation
Emerge
root #emerge --ask sys-apps/fwupdUSE flags
USE flags for sys-apps/fwupd Aims to make updating firmware on Linux automatic, safe and reliable
+archive
Use app-arch/libarchive for archives support
+gnutls
Prefer net-libs/gnutls as SSL/TLS provider (ineffective with USE=-ssl)
amdgpu
Build and install AMD dGPU (Navi3x and above) plugin
bash-completion
Enable bash-completion support
bluetooth
Enable Bluetooth Support
cbor
Enable CBOR support for coSWID and uSWID via dev-libs/libcbor
elogind
Enable session tracking via sys-auth/elogind
flashrom
Enable flashrom plugin via sys-apps/flashrom
gtk-doc
Build and install gtk-doc based developer documentation for dev-util/devhelp, IDE and offline use
introspection
Add support for GObject based introspection
lzma
Support for LZMA compression algorithm
minimal
Install a very minimal build (disables, for example, plugins, fonts, most drivers, non-critical features)
modemmanager
Build and install Modem Manager plugin
nvme
Build and install NVMe plugin
policykit
Enable PolicyKit (polkit) authentication support
protobuf
Enable protobuf plugins
readline
Enable support for libreadline, a GNU line-editing library that almost everyone wants
seccomp
Enable seccomp (secure computing mode) to perform system call filtering at runtime to increase security of programs
selinux
!!internal use only!! Security Enhanced Linux support, this must be set by the selinux profile or breakage will occur
spi
Install Intel-SPI plugin
synaptics
Install synaptics plugin
systemd
Enable use of systemd-specific libraries and features like socket activation or session tracking
test
Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently)
tpm
Install Trusted Platform Module plugin
uefi
Enable UEFI support
valgrind
Enable annotations for accuracy. May slow down runtime slightly. Safe to use even if not currently using dev-debug/valgrind
verify-sig
Verify upstream signatures on distfiles
The above list of USE flag is not comprehensive. Use equery (part of the app-portage/gentoolkit package) for a full list:
user $equery uses sys-apps/fwupdConfiguration
Service
OpenRC
Start fwupd:
root #rc-service fwupd startStart fwupd at boot:
root #rc-update add fwupd defaultsystemd
fwupd.service is launched through systemd via D-Bus automatically whenever it is needed.
Usage
Get help on what fwupd can do:
user $fwupdmgr --helpList detected and supported devices. When the device is listed but not displayed, a plugin (e.g. the uefi USE flag) is missing.
user $fwupdmgr get-devicesRefresh metadata from remote server:
user $fwupdmgr refreshCheck available updates for the user devices:
user $fwupdmgr get-updatesInstall updates:
user $fwupdmgr updateTroubleshooting
fwupdmgr: /usr/lib64/libxmlb.so.2: no version information available (required by /usr/lib64/fwupd-2.0.16/libfwupdplugin.so)
dev-libs/libxmlb was updated after installation of sys-apps/fwupd . These warning are safe to ignore, but to get rid of them, rebuild fwupd against new libxmlb:
root #emerge --oneshot sys-apps/fwupdSee also
- Linux firmware — is a package distributed alongside the Linux kernel that contains firmware binary blobs necessary for partial or full functionality of certain hardware devices.
- Kernel — a central part of the Gentoo operating system (OS)
- BIOS Update — describes how to apply a BIOS update on a Gentoo system.
External Resources
- UEFI revocation database: https://uefi.org/revocationlistfile