Richard Hughes, skaberen af projektet PackageKit, som aktivt deltager i udviklingen af GNOME, har præsenteret udgivelsen af pakken fwupd 2.0.0, der tilbyder en baggrundsproces til organisation af firmwareopdateringer og værktøjet fwupdmgr til styring af firmware, kontrol af nye versioner og download af firmware. Koden til projektet er skrevet i C og distribueres under LGPLv2.1-licensen.
Projektet tilbyder OEM-producenter og firmwareudviklere en service til upload af firmware til det specialiserede centraliserede katalog LVFS (Linux Vendor Firmware Service), som kan anvendes i Linux-distributioner ved hjælp af værktøjet fwupd. I øjeblikket er der tilbudt firmware til mere end 1600 enheder fra 160 producenter i kataloget. Brugen af det centraliserede katalog fritager producenterne for behovet for at skabe pakker til distributioner og muliggør overførsel af firmware i en '.cab'-arkiv med yderligere metadata, som også anvendes ved offentliggørelse af firmware til Windows.
Fwupd understøtter både automatisk firmwareopdatering uden brugerens indgriben samt udførelse af operationen efter bekræftelse eller anmodning fra brugeren. Fwupd og LVFS anvendes i RHEL, Fedora, Ubuntu, SUSE, Debian og mange andre distributioner til automatiserede firmwareopdateringer, og de understøttes også i applikationsadministratorer som GNOME Software og KDE Discover. Fwupd er ikke begrænset til skrivebordssystemer og kan også bruges til firmwareopdatering på smartphones, tablets, servere og internet-of-things-enheder.
I den nye version:
- Baggrundsprocessen er blevet overført fra brugen af GObject-bindingen GUsb til direkte adgang til libusb og sysfs, hvilket har gjort det muligt at flytte emuleringen af enheder til biblioteket libfwupdplugin og implementere emuleringen af firmwareopdateringer på fiktive hidraw- og nvme-enheder, svarende til emuleringen ved hjælp af fiktive USB-enheder. Denne mulighed har gjort det muligt at udføre yderligere tests, der afslører problemer med firmwareopdateringer, som opstår efter ændringer i fwupd.
- GUdev-biblioteket, der giver GObject-bindings til libudev, er blevet fjernet fra afhængighederne. I stedet opretter fwupd-processen nu en netlink-socket til at analysere udev-begivenheder, der videresendes via netlink. Denne ændring har betydet en betydelig reduktion i hukommelsesforbruget og en nedsættelse af CPU-belastningen ved opstart og under drift, samt gjort det lettere at tilføje support til ueventd, hvilket i fremtiden vil muliggøre, at fwupd understøtter Android-platformen.
- Der er tilføjet optimeringer for at reducere hukommelsesforbruget under streaming af firmware fra arkiver til enheder (i stedet for at kopiere firmwaren til hukommelsen bruges der nu transmission gennem en filbeskrivelse).
- Support for new devices added:
- Algoltek kortlæser med USB-interface
- AMD Kria SoM
- Cable Matters USB Hub
- Cinterion FDL-enheder (Firmware Download Modem)
- CY6611 EZ-USB HX3PD
- Dell K2 Dock
- Elan 0C9F biometriske sensorer
- HP Fleetwood og Hendrix dockstationer
- Huddly L1, S1 og Crew
- Jabra PanaCast
- Lenovo Legion HID2
- Lenovo ThinkSmart Bar
- Logitech Lemmy
- Logitech Sight
- Logitech touchskærme
- MediaTek convertere
- Parade PS185
- Qualcomm S5gen2 BLE
- Telink Dual Keyboard
- Understøttelse af forældede formater til validering af metadata og firmware er afsluttet.
- Kommando-linje værktøjer, der tidligere blev erklæret forældede, er blevet fjernet.
- En API til upload af rapporter til gnome-firmware er blevet tilføjet.
- Der er tilføjet understøttelse af Darwin-platformen i byggesystemet.
- Der er tilføjet mulighed for at udskrive filernes liste fra ESP i JSON-format (fwupdtool esp-list —json).
- Muligheden for at angive emulerede enheder i indstillingerne er blevet tilføjet.
Kilde: opennet.ru
