На моем CentOS появляется yum update
следующее:
(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
и т.п.
Это так называемые "пакеты прошивки". Например, давайте найдем несколько из них, которые установлены:
rpm --query --all | grep firmware
а затем запросить его информацию:
rpm --query --info iwl105-firmware-18.168.6.1-62.2.el7_5.noarch
и мы получаем:
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.
Ладно, хорошо.
У меня даже нет такого оборудования, так как это виртуальная машина.
Итак, вопрос:
Что на самом деле делают пакеты прошивки?
Являются ли они «однократными» установками, которые запускают непрозрачный исполняемый файл (немедленно? При следующей загрузке?), Который проверяет, существует ли оборудование, накачивает двоичный код во флэш-память оборудования, если оборудование есть (возможно, при запросе пользователя; в Windows в по крайней мере, перепрошивка оборудования всегда чревата всплывающими окнами DOS, EULA, по которым нужно было щелкнуть, и индикаторами выполнения, которые должны быть выполнены), а затем помечает пакет как «установленный».
Они изменяют initramfs так, чтобы двоичный двоичный объект загружался модулем ядра, или что-то происходит при следующей загрузке?