Richard Hughes, de oprichter van het PackageKit-project en actief betrokken bij de ontwikkeling van GNOME, heeft de release van fwupd 2.0.0 aangekondigd. Dit pakket biedt een achtergrondproces voor het beheren van firmware-updates en een utiliteit, fwupdmgr, voor het beheren van firmware, het controleren op nieuwe versies en het downloaden van firmware. De code van het project is geschreven in de C-taal en wordt verspreid onder de LGPLv2.1-licentie.
Het project biedt OEM-fabrikanten en firmware-ontwikkelaars een service voor het uploaden van firmware naar een speciale gecentraliseerde catalogus, de LVFS (Linux Vendor Firmware Service), die gebruikt kan worden in Linux-distributies via de fwupd-tool. Momenteel zijn er firmware-updates beschikbaar voor meer dan 1600 apparaten van 160 fabrikanten in de catalogus. Het gebruik van een gecentraliseerde catalogus elimineert de noodzaak voor fabrikanten om pakketten voor distributies te maken en stelt hen in staat om firmware in een ā.cabā-archief met extra metadata te verzenden, die ook gebruikt worden bij het publiceren van firmware voor Windows.
In fwupd wordt zowel een automatische firmware-update-modus ondersteund, zonder dat de gebruiker enige actie hoeft te ondernemen, als de mogelijkheid om de operatie na bevestiging of verzoek van de gebruiker uit te voeren. Fwupd en LVFS worden toegepast in RHEL, Fedora, Ubuntu, SUSE, Debian en veel andere distributies voor geautomatiseerde firmware-updates, en worden ook ondersteund in de application managers van GNOME Software en KDE Discover. Daarbij is fwupd niet beperkt tot desktop-systemen en is het geschikt voor firmware-updates op smartphones, tablets, servers en internet of things-apparaten.
In de nieuwe release:
- Het achtergrondproces is overgestapt van het gebruik van de GObject-wrapper GUsb naar directe aanroepen van libusb en sysfs, wat het mogelijk maakte om de emulatie van apparaten in de libfwupdplugin-bibliotheek te plaatsen en firmware-updates te emuleren op fictieve hidraw- en nvme-apparaten, vergelijkbaar met de emulatie van fictieve USB-apparaten. Deze mogelijkheid heeft extra tests mogelijk gemaakt die problemen met firmware-updates aan het licht brengen, die optreden na wijzigingen in fwupd.
- De GUdev-bibliotheek, die GObject-bindings boven libudev biedt, is uitgesloten van de afhankelijkheden. In plaats van GUdev maakt het fwupd-proces nu een netlink-socket aan voor het parseren van udev-gebeurtenissen die via netlink worden verzonden. Deze wijziging heeft geleid tot een significante vermindering van het geheugengebruik en een lagere CPU-belasting bij de opstart en tijdens het draaien, en heeft het ook eenvoudiger gemaakt om ondersteuning voor ueventd toe te voegen, wat in de toekomst de implementatie van Android-ondersteuning in fwupd mogelijk zal maken.
- Er zijn optimalisaties toegevoegd om het geheugengebruik tijdens het streamen van firmware uit archieven naar apparaten te verlagen (in plaats van firmware in het geheugen te kopiƫren, wordt nu het proces via een bestandsdescriptor uitgevoerd).
- Ondersteuning voor nieuwe apparaten toegevoegd:
- Algoltek kaartlezers met USB-interface
- AMD Kria SoM
- Cable Matters USB Hub
- Cinterion FDL (Firmware Download Modem) gebaseerde apparaten
- CY6611 EZ-USB HX3PD
- Dell K2 Dock
- Elan 0C9F biometrische sensoren
- HP Fleetwood en Hendrix dockingstations
- Huddly L1, S1 en Crew
- Jabra PanaCast
- Lenovo Legion HID2
- Lenovo ThinkSmart Bar
- Logitech Lemmy
- Logitech Sight
- Logitech aanraakschermen
- MediaTek converters
- Parade PS185
- Qualcomm S5gen2 BLE
- Telink Dual Keyboard
- Ondersteuning voor verouderde formaatvalidatie van metadata en firmware is stopgezet.
- Verouderde commandoregelhulpmiddelen zijn verwijderd.
- API toegevoegd voor het uploaden van rapporten naar gnome-firmware.
- Ondersteuning voor het Darwin-platform is toegevoegd aan het build-systeem.
- Ondersteuning voor het afdrukken van een lijst van bestanden uit ESP in JSON-formaat (fwupdtool esp-list ājson) is toegevoegd.
- Er is een optie toegevoegd om emulatie-instellingen voor apparaten op te geven.
Bron: opennet.ru
