fwupd

From Gentoo Wiki
(Redirected from LVFS)
Jump to:navigation Jump to:search

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

From March 2024 fwupd requires sys-fs/udisks:2 to function properly, thus first let's install it:

root #emerge --ask sys-fs/udisks:2

And fwupd:

root #emerge --ask sys-apps/fwupd

USE 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
+gusb Enable dev-libs/libgusb support
+sqlite Add support for sqlite - embedded sql database
amdgpu Build and install AMD dGPU (Navi3x and above) plugin
amt Build and install Intel AMT 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
fastboot Build and install fastboot plugin
flashrom Enable flashrom plugin via sys-apps/flashrom
gnutls Prefer net-libs/gnutls as SSL/TLS provider (ineffective with USE=-ssl)
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
logitech Build and install Logitech bulk controller plugin
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
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)
test-full Enable tests known not to play nicely with the sandbox
tpm Install Trusted Platform Module plugin
uefi Enable UEFI support

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/fwupd

Configuration

Service

OpenRC

Start fwupd:

root #rc-service fwupd start

Start fwupd at boot:

root #rc-update add fwupd default

systemd

fwupd.service is launched through systemd via D-Bus automatically whenever it is needed.

Usage

Get help on what fwupd can do:

user $fwupdmgr --help

List 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-devices

Refresh metadata from remote server:

user $fwupdmgr refresh

Check available updates for the user devices:

user $fwupdmgr get-updates

Install updates:

user $fwupdmgr update

See 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 — the core of the operating system.
  • BIOS Update — describes how to apply a BIOS update on a Gentoo system.

External Resources