Trên CentOS của tôi, một thông yum update
báo sau:
(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
Vân vân.
Chúng được gọi là "gói phần mềm". Ví dụ: hãy tìm một vài trong số chúng được cài đặt:
rpm --query --all | grep firmware
và sau đó truy vấn thông tin của nó:
rpm --query --info iwl105-firmware-18.168.6.1-62.2.el7_5.noarch
và chúng tôi nhận được:
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.
Được rồi
Tôi thậm chí không có loại phần cứng đó, vì đây là VM.
Vì vậy, câu hỏi:
Các gói phần mềm thực sự làm gì?
Có phải chúng là các cài đặt "one-shot" chạy chương trình thực thi mờ (ngay lập tức? Trong lần khởi động tiếp theo?) Để kiểm tra xem phần cứng có tồn tại hay không, bơm mã nhị phân vào flash của phần cứng nếu phần cứng có ở đó (có thể trong khi hỏi người dùng; trên Windows tại ít nhất, flash phần cứng luôn luôn đầy các cửa sổ DOS bật lên, EULAs phải được nhấp qua và các thanh tiến trình phải chịu đựng), và sau đó đánh dấu gói là "đã cài đặt".
Họ có sửa đổi initramfs để một blob nhị phân được tải bởi mô-đun hạt nhân hoặc điều gì đó xảy ra ở lần khởi động tiếp theo không?