Richard Hughes, tvůrce projektu PackageKit, aktivně se podílející na vývoji GNOME, představil vydání balíčku fwupd 2.0.0, který nabízí pozadí procesu pro organizaci aktualizace firmwaru a nástroj fwupdmgr pro správu firmwaru, kontrolu nových verzí a stahování firmwaru. Kód projektu je napsán v jazyce C a je distribuován pod licencí LGPLv2.1.
Projekt poskytuje OEM výrobcům a vývojářům firmwaru službu pro nahrávání firmwaru do speciálního centralizovaného katalogu LVFS (Linux Vendor Firmware Service), který lze používat v distribucích Linuxu pomocí nástroje fwupd. V současnosti je v katalogu nabídka firmwaru pro více než 1600 zařízení od 160 výrobců. Použití centralizovaného katalogu zbavuje výrobce nutnosti vytvářet balíčky pro distribuce a umožňuje přenos firmwaru ve formátu archivu '.cab' s dodatečnými metadaty, které se také používají při zveřejňování firmwaru pro Windows.
Ve fwupd je podpořen jak režim automatické aktualizace firmwaru, bez nutnosti jakýchkoli akcí ze strany uživatele, tak provedení operace po potvrzení nebo žádosti uživatele. Fwupd a LVFS se používají v RHEL, Fedora, Ubuntu, SUSE, Debian a mnoha dalších distribucích pro automatizované aktualizace firmwaru a jsou také podporovány v manažerech aplikací GNOME Software a KDE Discover. Přitom fwupd není omezen na desktopové systémy a je vhodný pro aktualizaci firmwaru na smartphonech a tabletech. serverech a zařízeních internetu věcí.
V novém vydání:
- Pozadí procesu bylo přeneseno z použití GObject-vazby GUsb na přímý přístup k libusb a sysfs, což umožnilo přesunout emulaci zařízení do knihovny libfwupdplugin a implementovat emulaci aktualizace firmwaru na fiktivních zařízeních hidraw a nvme, analogicky k emulaci pomocí fiktivních USB zařízení. Taková možnost umožnila realizovat další testy, které odhalují problémy s aktualizací firmwaru, které vznikají po provedení určitých změn ve fwupd.
- Byla vyloučena knihovna GUdev, která poskytuje GObject-vrstva na libudev. Místo GUdev nyní proces fwupd vytváří netlink-socket pro zpracování událostí udev přenášených přes netlink. Tato změna vedla k významnému snížení spotřeby paměti a zátěže CPU při spuštění a během provozu, a také usnadnila přidání podpory pro ueventd, což v budoucnu umožní implementaci podpory platformy Android v fwupd.
- Byly přidány optimalizace ke snížení spotřeby paměti při streamování firmware z archivů do zařízení (místo kopírování firmware do paměti se nyní používá přenos prostřednictvím souborového popisovače).
- Byla přidána podpora nových zařízení:
- Čtečky karet Algoltek s USB rozhraním
- AMD Kria SoM
- Cable Matters USB Hub
- Zařízení založená na Cinterion FDL (Firmware Download Modem)
- CY6611 EZ-USB HX3PD
- Dell K2 Dock
- Biometrické senzory Elan 0C9F
- Dockovací stanice HP Fleetwood a Hendrix
- Huddly L1, S1 a Crew
- Jabra PanaCast
- Lenovo Legion HID2
- Lenovo ThinkSmart Bar
- Logitech Lemmy
- Logitech Sight
- Dotykové obrazovky Logitech
- MediaTek převodníky
- Parade PS185
- Qualcomm S5gen2 BLE
- Telink Dual Keyboard
- Byla zastavena podpora zastaralých formátů ověřování metadat a firmware.
- Byly odstraněny příkazové řádkové nástroje, které byly dříve označeny jako zastaralé.
- Bylo přidáno API pro nahrávání zpráv do gnome-firmware.
- Do systému build přidána podpora platformy Darwin.
- Byla přidána podpora pro výstup seznamu souborů z ESP ve formátu JSON (fwupdtool esp-list —json).
- Byla přidána možnost specifikovat v nastavení emulované zařízení.
Zdroj: opennet.ru
