Fa poc es va donar a conèixer el llançament de fwupd 2.0, una eina de codi obert utilitzada per gestionar i actualitzar el microprogramari de diversos dispositius a Linux. El seu propòsit és facilitar la instal·lació i l'actualització de microprogramari en maquinari sense necessitat d'accedir a les eines específiques del fabricant o reiniciar en un sistema operatiu diferent.
fwupd utilitza el servei d'actualitzacions de microprogramari LVFS (Linux Vendor Firmware Service), on els fabricants pugen les seves actualitzacions de microprogramari. Actualment, el catàleg de LVFS inclou firmware per a més de 1,600 dispositius de 160 fabricants.
L'ús de aquest directori centralitzat elimina la necessitat que els fabricants generin paquets específics per a cada distribució, permetent transferir firmware en un fitxer «.cab» que inclou metadades addicionals, similar al que es fa en publicar firmware per a Windows.
Els usuaris poden descarregar i instal·lar aquestes actualitzacions directament des de la seva distribució Linux, facilitant una gran quantitat de processos, ja que admet tant el mode d'actualització automàtica del microprogramari, així com l'opció d'executar l'operació després de confirmar-lo.
Entre les principals característiques que es destaquen de fwupd, podrem trobar les següents:
- Suport per a una àmplia gamma de dispositius (UEFI, USB, Thunderbolt, pantalles, etc.).
- Instal·lació i actualització de microprogramari sense reiniciar o sense sortir de l'entorn de treball.
- Integració amb l'administrador de paquets i les actualitzacions del sistema.
- Compatible amb moltes distribucions de Linux
- És una solució còmoda i segura per mantenir actualitzat el microprogramari
- És compatible amb els gestors d'aplicacions GNOME Software i el KDE Discover.
- No només es limita a sistemes descriptori, també és adequat per actualitzar el microprogramari en dispositius com telèfons intel ligents, tauletes, servidors i dispositius dInternet de les coses.
Què hi ha de nou a fwupd 2.0?
En aquesta nova versió de fwupd 2.0, s'ha transferit el procés en segon pla de l'ús de l'enllaç GObject de GUsb a l'accés directe a libusb i sysfs. Aquest canvi ha permès moure l'emulació del dispositiu a la biblioteca libfwupdplugin i implementar l'emulació d'actualitzacions de microprogramari en dispositius ficticis hidraw i nvme, similarment a l'emulació que es realitza amb dispositius USB ficticis. Gràcies a aquesta característica, s'han pogut realitzar proves addicionals que identifiquen problemes amb les actualitzacions que poden sorgir després de fer certs canvis en fwupd.
Així mateix, la biblioteca GUdev, que proporciona enllaços GObject sobre libudev, ha estat eliminada de les dependències. En canvi, el procés fwupd ara crea un socket netlink per analitzar esdeveniments udev transmesos a través daquest. Aquest canvi ha resultat en una reducció significativa en el consum de memòria i la càrrega de CPU tant a l'inici com durant l'operació, a més de simplificar la incorporació del suport ueventd, cosa que en el futur permetrà que fwupd sigui compatible amb la plataforma Android.
S'han fet optimitzacions per disminuir el consum de memòria en transferir firmware des de fitxers a dispositius; en lloc de copiar el microprogramari a la memòria, ara sutilitza la transferència a través dun descriptor de fitxer. També s'ha afegit suport per a una varietat de dispositius nous.
A més, s'ha interromput la compatibilitat amb metadades heretades i formats de verificació de microprogramari, i s'han eliminat les utilitats de línia d'ordres que anteriorment estaven en desús. També s'ha afegit una API per carregar informes a gnome-firmware i el sistema de compilació ara inclou suport per a la plataforma Darwin.
Finalment, s'ha afegit la capacitat de mostrar una llista de fitxers ESP en format JSON (utilitzant l'ordre fwupdtool esp-list –json) i s'ha incorporat l'opció d'especificar dispositius emulats a la configuració.
Finalment si estàs interessat a poder conèixer més sobre això, pots consultar els detalls al següent enllaç.
Com instal·lar fwupd a Linux?
Per als interessats en poder instal·lar fwupd, han de saber que, a la majoria de les distribucions, ja ve preinstal·lat. No obstant això, si no el tens instal·lat, pots fer-ho amb la següent ordre segons la teva distribució:
Ubuntu i derivats:
sudo apt install fwupd
Fedora:
sudo dnf install fwupd
Arch Linux i basats en aquest:
sudo pacman -S fwupd
Com fer servir fwupd?
El mode d'ús de fwupd és força senzill i es basa en l'execució d'ordres i la forma correcta de fer-ho és actualitzar sempre la base de dades de microprogramari disponible, abans de passar a l'actualització del microprogramari de dispositius. Això ho podem fer teclejant:
sudo fwupdmgr refresh
Per a veure quins dispositius són compatibles amb fwupd, així com el seu estat actual i si tenen actualitzacions disponibles, ho poden fer amb la següent ordre:
fwupdmgr get-devices
Quan hagis llistat els dispositius, poden verificar si hi ha actualitzacions de microprogramari disponibles executant:
fwupdmgr get-updates
Si hi ha actualitzacions de microprogramari disponibles, pots aplicar-les executant:
sudo fwupdmgr update
Per a mostrar una llista de les actualitzacions de microprogramari que s'han instal·lat a través de fwupd, poden fer-ho amb la següent ordre:
fwupdmgr history