Ричард Хюз (Richard Hughes), създател на проекта PackageKit, активно участващ в разработката на GNOME, представи версията на пакета fwupd 2.0.0, предлагащ фонов процес за организиране на обновления на фърмуера и утилита fwupdmgr за управление на фърмуерите, проверка за наличието на нови версии и изтегляне на фърмуера. Кодът на проекта е написан на езика C и се разпространява под лицензия LGPLv2.1.
Проектът предлага на OEM производителите и разработчиците на фърмуер услуга за качване на фърмуер в специален централизован каталог LVFS (Linux Vendor Firmware Service), който може да се използва в дистрибуции на Linux с инструмента fwupd. В момента в каталога са налични фърмуери за над 1600 устройства от 160 производители. Използването на централизован каталог освобождава производителите от необходимостта да създават пакети за дистрибуции и позволява предаване на фърмуери в архив .cab с допълнителни метаданни, които също се използват при публикуването на фърмуери за Windows.
В fwupd се поддържа както режим на автоматично обновление на фърмуерите, без необходимост от действия от страна на потребителя, така и извършването на операция след потвърждение или запитване от потребителя. Fwupd и LVFS се използват в RHEL, Fedora, Ubuntu, SUSE, Debian и много други дистрибуции за автоматизирано обновление на фърмуерите, а също така се поддържат в мениджърите на приложения GNOME Software и KDE Discover. Важно е да се отбележи, че fwupd не е ограничен само до настолни системи и е подходящ за обновление на фърмуери на смартфони, таблети, сървъри и устройства за интернет на нещата.
В новото издание:
- Фоновият процес е преминал от използването на GObject обвивката GUsb на директно обръщение към libusb и sysfs, което е дало възможност за изнасяне на емуляцията на устройства в библиотеката libfwupdplugin и реализиране на емуляция на обновление на фърмуери на фиктивни устройства hidraw и nvme, подобно на емуляцията с фиктивни USB устройства. Тази възможност е позволила реализиране на допълнителни тестове, идентифициращи проблеми с обновлението на фърмуерите, възникнали след изменения в fwupd.
- От зависимостите е изключена библиотеката GUdev, която предоставя обвивки на GObject над libudev. Вместо GUdev, процесът fwupd сега създава netlink сокет за обработка на събития udev, предавани чрез netlink. Това изменение доведе до значително намаляване на потреблението на памет и намаляване на натоварването на CPU при стартиране и по време на работа, а също така улесни добавянето на поддръжка на ueventd, което в бъдеще ще позволи добавяне на поддръжка на платформата Android в fwupd.
- Добавени са оптимизации за намаляване на потреблението на памет по време на стрийминг на фърмуери от архиви към устройства (вместо да се копират фърмуерите в паметта, сега се използва предаване чрез файлов дескриптор).
- Добавена е поддръжка за нови устройства:
- Кардридери Algoltek с USB интерфейс
- AMD Kria SoM
- Cable Matters USB Hub
- Устройства на базата на Cinterion FDL (Firmware Download Modem)
- CY6611 EZ-USB HX3PD
- Dell K2 Dock
- Биометрични сензори Elan 0C9F
- Dock-станции HP Fleetwood и Hendrix
- Huddly L1, S1 и Crew
- Jabra PanaCast
- Lenovo Legion HID2
- Lenovo ThinkSmart Bar
- Logitech Lemmy
- Logitech Sight
- Сенсорни екрани Logitech
- Конвертори MediaTek
- Parade PS185
- Qualcomm S5gen2 BLE
- Telink Dual Keyboard
- Поддръжката на остарялите формати за верификация на метаданни и фърмуери е прекратена.
- Премахнати са командните утилити, които преди това бяха обявени за остарели.
- Добавен е API за качване на отчети в gnome-firmware.
- В системата за изграждане е добавена поддръжка на платформата Darwin.
- Добавена е поддръжка за извеждане на списък с файлове от ESP в JSON формат (fwupdtool esp-list —json).
- Добавена е възможност за настройване на емулирани устройства.
Източник: opennet.ru
