FOSDEM: Ein Port für BSD von fwupd für Firmware-Updates

Unter Linux ist der Firmware-Updater "fwupd" dank Hersteller-Unterstützung ein Erfolg. Das soll sich nach dem Port auf BSD-Systeme dort fortsetzen.

In Pocket speichern vorlesen Druckansicht 19 Kommentare lesen

(Bild: FOSDEM)

Lesezeit: 4 Min.
Von
  • David Wolski

Nicht nur Mainboards, sondern eine ganze Reihe an Geräten am PC verlangt von Zeit zu Zeit nach neuer Firmware. Unter Linux war der Aktualisierungsprozess meist problematisch oder auch gar nicht möglich, weil Hersteller üblicherweise Firmware-Updates nur mit Windows-Programmen gebündelt auslieferten. Mittlerweile hat sich die Situation gewandelt.

Vor fünf Jahren starteten Gnome-Entwickler zusammen zunächst mit Dell die Entwicklung des Update-Tools "fwupd", das Hardwareherstellern eine Standardschnittstelle für Firmware-Updates unter Linux bietet. Verfügbare, passende Aktualisierungen für erkannte, unterstützte Geräte ruft das Tool aus dem Linux Vendor Firmware Service (LVFS) ab, einem wachsenden Online-Repository. Die Resonanz auf das Projekt war seitens Hardwarehersteller erstaunlich gut und mittlerweile finden sich über 2400 Firmware-Updates von mehr als 100 verschiedenen Herstellern in diesem Verzeichnis. Der darauf zugreifende Linux Vendor Firmware Service konnte noch 2020 die Marke von 20 Millionen heruntergeladenen Firmware-Updates knacken. Ein Port von "fwupd" soll laut einem Talk auf der FOSDEM 21 die Updates von LVFS bald auch für BSD-Systeme verfügbar machen.

Der Kopf hinter dem geplanten Port von Linux zu BSD und hinter dem Talk zur Fosdem 21 ist Norbert Kamiński, Embedded-Entwickler bei der polnischen Firma 3mdeb, die im Auftrag auch selbst Firmware für Hardwarehersteller erstellt. Sowohl Kunden als auch die BSD-Community fragten immer wieder, ob fwupd nicht auch unter BSD laufen könnte. Kamiński war bereits für eine spezielle Version von fwupd für das Linux-basierte VM-Betriebssystem Qubes OS verantwortlich.

Es steht auch ein konkreter Plan, den Port anzugehen. Das erste klar formulierte Ziel ist, fwupd unter FreeBSD zu kompilieren. Denn die große BSD-Variante kann die meisten Abhängigkeiten über den Paketmanager erfüllen.

Unterschiede zwischen Linux und FreeBSD systematisch angehen: Das erste Ziel beim Port von fwupd ist, unerfüllbare Abhängigkeiten zu entfernen und den Code unter FreeBSD zu kompilieren.

(Bild: FOSDEM / Norbert Kamiński)

Zuerst soll das portierte fwupd dazu befähigt werden, angeschlossene USB-Gerät mit Firmware-Updates zu versorgen. Eine noch nicht ganz gelöste Voraussetzung ist die Bibliothek "libgusb", die ihrerseits erst von Linux auf die BSDs portiert werden muss. Diese Arbeit hat bereits ein anderer Entwickler unabhängig von den Bemühungen um fwupd vor drei Jahren begonnen. FreeBSD nutzt für die Enumerierung von USB-Geräten den Device State Change Daemon "devd" – und nicht "udev" wie unter Linux –, was ebenfalls einige Anpassungen nach sich ziehen wird.

Im zweiten Schritt sollen Updates über das Unified Extensible Firmware Interface (UEFI) zu den Fähigkeiten von fwupd hinzukommen. UEFI stellt über den EFI System Resource Table (ESRT) eine Liste von Systemkomponenten im System bereit, die Firmware-Updates akzeptieren.

Die Auflistung von Komponenten durch UEFI setzt die Unterstürzung durch den laufenden Kernel voraus. Und bislang verfügt FreeBSD darüber nicht und die Informationen sind über diesen Weg nicht verfügbar. Außerdem läuft unter Linux fwupd über Systemd im Hintergrund, aber BSD-Systeme verwenden ihre eigenen, traditionellen Init-Systeme mit rc.d-Scripts. Auch diese Unterschiede werden laut Norbert Kamiński noch einige Workarounds verlangen. Im darauffolgenden Frage-Anwort-Chat, der dem aufgezeichneten Talk angehängt war, muss der Entwickler dann auch einige Zweifel zerstreuen. Die Hoffnung ist, dass fwupd erst mal unter FreeBSD kompiliert werden kann, wenn die nicht erfüllbaren Abhängigkeiten entfernt sind.

Konsens besteht darüber, dass dieser Port ein wichtiges Projekt für BSD ist und die LVDF einen Schatz darstellt, zumal die Firmware-Updates kryptografisch signiert sind. Immerhin hat sich mit NLNet auch schon eine Stiftung gefunden, die den Port auf FreeBSD, OpenBSD, NetBSD, und Dragonfly BSD finanziell unterstützt. Die zugehörigen, klar strukturierten Folien zum Talk von Norbert Kamiński finden sich als PDF auf der Website der FOSDEM 21.

(tiw)