
Firmware- und BIOS-Updates waren unter Linux lange eine Qual. Hersteller lieferten ihre Tools nur für DOS oder Windows. Wer ein Update wollte, musste eine Platte ausbauen, Windows installieren, Treiber suchen, Herstellertool laden — für ein Update. So macht das keinen Spaß.
fwupd hat das grundlegend geändert. Ein paar GNOME-Entwickler haben zusammen mit Dell ein einheitliches Update-Framework gebaut. Hersteller müssen sich nicht mehr um Installer und Betriebssystem-Support kümmern — sie stellen ihre Firmware-Images in einem zentralen Repository (LVFS) bereit, und fwupd verteilt sie.
Was kann fwupd?
fwupd aktualisiert BIOS/UEFI, Thunderbolt-Controller, NVMe-Firmware, Intel ME, Netzwerkkarten, Logitech-Empfänger und vieles mehr. Über 1.000 Geräte werden unterstützt. Es läuft als Daemon im Hintergrund, prüft täglich auf neue Updates und kann sie automatisch installieren oder ankündigen. Gnome und KDE bringen grafische Frontends mit, auf der Kommandozeile geht es genauso einfach.
Geräte prüfen
Testgerät: ein Lenovo ThinkPad X1 Carbon. fwupdmgr get-devices zeigt, welche Hardware erkannt und unterstützt wird:
root@errorlap:~# fwupdmgr get-devices
20N588101
│
├─Thunderbolt Controller:
│ Current version: 20.00
│ Vendor: Lenovo (TBT:0x0109)
│ Device Flags: • Internal device
│ • Updatable
│ • Requires AC power
│ • Device stages updates
│
├─SAMSUNG MZVLB256HB88-000L7:
│ Summary: NVM Express Solid State Drive
│ Current version: 4M2QEXH7
│ Vendor: Samsung Electronics Co Ltd
│ Device Flags: • Internal device
│ • Updatable
│
├─System Firmware:
│ Current version: 0.1.65
│ Vendor: LENOVO
│ Device Flags: • Updatable
│ • Needs a reboot after installation
│ • Cryptographic hash verification is available
│
└─UEFI Device Firmware (3×):
Current version: 192.64.1551 / 0.1.19 / 1.1.8
Device Flags: • Updatable
• Needs a reboot after installation
Bei diesem Gerät werden Thunderbolt-Controller, NVMe-SSD, System-Firmware und drei UEFI-Komponenten erkannt. Die Device Flags zeigen Voraussetzungen — zum Beispiel „Requires AC power“ (Netzteil anschließen) und „Needs a reboot“ (Neustart nach dem Update).
Updates suchen und installieren
Zuerst den Firmware-Katalog aktualisieren — fwupd merkt auch selbst, wenn der Datenstand zu alt ist, und bietet das automatisch an:
root@errorlap:~# fwupdmgr refresh --force Fetching metadata https://cdn.fwupd.org/downloads/firmware.xml.gz Downloading… [***************************************] Successfully downloaded new metadata: 5 local devices supported
Dann fwupdmgr get-updates — hier gab es Updates für die System-Firmware (0.1.65 → 0.1.70, fünf BIOS-Versionen mit Security-Fixes und Bugfixes) und die Intel ME (192.64.1551 → 192.71.1681, unter anderem 16 CVEs). Die Changelogs kommen direkt vom Hersteller über LVFS.
Installation mit fwupdmgr update:
root@errorlap:~# fwupdmgr update Upgrade available for UEFI Device Firmware from 192.64.1551 to 192.71.1681 20N588101 must remain plugged into a power source for the duration of the update to avoid damage. Continue with update? [Y|n]: y Downloading 192.71.1681 for UEFI Device Firmware... Decompressing… [***************************************] Authenticating… [***************************************] Updating UEFI Device Firmware… Scheduling… [***************************************] Successfully installed firmware An update requires a reboot to complete. Restart now? [y|N]:
Beim Neustart übernimmt das UEFI — man sieht den Fortschritt auf dem Bildschirm (Fotos unten). Danach die Kontrolle:
root@errorlap:~# fwupdmgr get-updates Devices that have been updated successfully: • System Firmware (0.1.65 → 0.1.70) • UEFI Device Firmware (192.64.1551 → 192.71.1681)
Sauber. Beide Updates eingespielt, keine Fehler. fwupd fragt am Ende noch, ob man einen anonymen Report hochladen möchte — das hilft den Herstellern, erfolgreiche und fehlgeschlagene Updates auf realer Hardware zu erkennen.
Was man wissen sollte
fwupd nutzt für BIOS-Updates den UEFI Capsule Update-Mechanismus. Das Firmware-Image wird in die EFI System Partition geschrieben, beim nächsten Boot übernimmt das UEFI die Installation. Dafür braucht das Gerät eine EFI System Partition und ein UEFI, das Capsule Updates unterstützt. Ältere BIOS-only-Systeme oder Hersteller ohne LVFS-Unterstützung fallen raus.
Es steht und fällt mit den Herstellern. Lenovo, Dell, HP und Intel sind gut dabei. Wenn euer Gerät nicht unterstützt wird — kurze Mail an den Hersteller-Support, warum sie nicht mit LVFS zusammenarbeiten. Jede Anfrage hilft.
Für FreeBSD-Nutzer: fwupd wurde 2021 auf der FOSDEM als BSD-Port vorgestellt und läuft mittlerweile auch auf FreeBSD. Die Abdeckung ist noch geringer als unter Linux, aber die Basis steht.
Wer noch Fragen hat — schreibt mir.




GEIL! Hab das zufällig gefunden. Der Weg ist mir komplett neu, das hat TOP funktioniert. Vor allem bei meinen Logitech Geräten. Mein Dongel hat ein Security Update bekommen, daran hätte ich selbst nie gedacht.
Ich bekomme bei mir eine Fehlermeldung:
fwupdmgr update
WARNING: UEFI capsule updates not available or enabled in firmware setup
See https://github.com/fwupd/fwupd/wiki/PluginFlag:capsules-unsupported for more information.
Devices with no available firmware updates:
• APPLE SSD SM0512G
• Bluetooth USB Host Controller
No updatable devices
Hat da jemand eine Idee?
Was sind UEFI-Capsule-Updates?
UEFI-Capsule-Updates sind eine standardisierte Methode, um Firmware-Updates direkt über das Betriebssystem einzuspielen. Sie bieten mehrere Vorteile:
Nun schaut es so aus, als wenn du da etwas von Apple einsetzt. Ich kann dir leider nicht beantworten, ob und wie du diese Funktion dort aktivieren kannst. Nicht jeder Hersteller bietet den Support an, ich würde jetzt eigentlich sagen: „Frag doch mal beim Hersteller nach, ob sie es unterstützen können, mit einem Link auf https://fwupd.org/lvfs/docs/vendors“ Ich denke aber, dass Apple da kaum „ja“ zu sagen wird 😉