在我的 CentOS 上,ayum 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 以便内核模块加载二进制 blob 或在下次启动时发生某些事情?
阻塞锁,非阻塞锁,自旋锁,互斥锁
猘狂的意思