Sul mio CentOS, viene yum update
visualizzato quanto segue:
(6/38): iwl1000-firmware-39.31.5.1-62.el7_39.31.5.1-62.2.el7_5.noarch.drpm
(7/38): iwl105-firmware-18.168.6.1-62.el7_18.168.6.1-62.2.el7_5.noarch.drpm
(8/38): iwl135-firmware-18.168.6.1-62.el7_18.168.6.1-62.2.el7_5.noarch.drpm
(9/38): iwl2000-firmware-18.168.6.1-62.el7_18.168.6.1-62.2.el7_5.noarch.drpm
(10/38): iwl2030-firmware-18.168.6.1-62.el7_18.168.6.1-62.2.el7_5.noarch.drpm
(11/38): iwl3160-firmware-22.0.7.0-62.el7_22.0.7.0-62.2.el7_5.noarch.drpm
eccetera.
Questi sono i cosiddetti "pacchetti firmware". Ad esempio, troviamo alcuni di essi installati:
rpm --query --all | grep firmware
e quindi interroga le sue informazioni:
rpm --query --info iwl105-firmware-18.168.6.1-62.2.el7_5.noarch
e otteniamo:
Summary : Firmware for Intel(R) Centrino Wireless-N 105 Series Adapters
Description :
This package contains the firmware required by the iwlagn driver
for Linux to support the iwl105 hardware. Usage of the firmware
is subject to the terms and conditions contained inside the provided
LICENSE file. Please read it carefully.
Ok bene.
Non ho nemmeno quel tipo di hardware, in quanto si tratta di una macchina virtuale.
Quindi, domanda:
Cosa fanno effettivamente i pacchetti firmware?
Sono installazioni "one-shot" che eseguono un eseguibile opaco (immediatamente? Al prossimo avvio?) Che controlla se esiste l'hardware, inserisce il codice binario nella memoria flash dell'hardware se l'hardware è presente (forse mentre lo chiede all'utente; su Windows a almeno, il flashing dell'hardware è sempre irto di finestre DOS che si aprono, di EULA su cui è necessario fare clic e di barre di avanzamento che devono essere sopportate), quindi contrassegna il pacchetto come "installato".
Modificano initramfs in modo che un BLOB binario sia caricato da un modulo del kernel o succeda qualcosa al prossimo avvio?