在我的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.
好吧好吧。
我什至没有那种硬件,因为这是VM。
所以,问题:
固件包实际上是做什么的?
它们是否是“一次性安装”,并且运行一个不透明的可执行文件(立即在下一次启动时运行?),该可执行文件检查硬件是否存在,如果硬件存在,则将二进制代码泵入硬件的闪存中(也许在询问用户时;在Windows上,网址为至少,硬件闪烁总是充满了弹出的DOS窗口,必须单击的EULA和必须承受的进度条),然后将软件包标记为“已安装”。
他们是否修改了initramfs,以便内核模块加载二进制blob或在下次引导时发生某些情况?