En mi CentOS, yum update
aparece el siguiente:
(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
etc.
Estos son los llamados "paquetes de firmware". Por ejemplo, busquemos algunos de ellos que están instalados:
rpm --query --all | grep firmware
y luego consulta su información:
rpm --query --info iwl105-firmware-18.168.6.1-62.2.el7_5.noarch
y obtenemos:
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.
Bueno está bien.
Ni siquiera tengo ese tipo de hardware, ya que esta es una VM.
Entonces, pregunta:
¿Qué hacen realmente los paquetes de firmware?
¿Son instalaciones de "una sola vez" que ejecutan un ejecutable opaco (inmediatamente? En el próximo arranque?) Que verifica si existe el hardware, bombea código binario en el flash del hardware si el hardware está allí (tal vez mientras pregunta al usuario; en Windows en por lo menos, el flasheo del hardware siempre está lleno de ventanas de DOS que aparecen, EULA a los que se debe hacer clic y barras de progreso que se deben soportar), y luego marca el paquete como "instalado".
¿Modifican los initramfs para que un módulo del núcleo cargue un blob binario o algo sucede en el próximo arranque?