Linux 固件
外观
(从 Firmware 重定向而来)
Linux 固件 是随 Linux 内核 分发的固件 二进制大文件 的集合,对于某些硬件设备的全部或部分功能是必需的。这些二进制大文件从未被允许包含在 GPL 许可的作品中,但允许单独分发。
通常需要 固件 的硬件类型
安装
要安装 linux-firmware 元软件包 来拉取所有常用固件。这是大多数用户的推荐方式。为了节省一些空间,您可以选择仅安装系统使用的单个硬件厂商的固件。
警告 缺少必要的固件可能会导致您的系统无法运行。
linux-firmware 拉取的首要软件包
- linux-firmware-amdgpu — AMD Radeon GPU,
- linux-firmware-atheros — 高通 Atheros Wi-Fi 和蓝牙适配器,
- linux-firmware-broadcom — Broadcom 和 Cypress 网络适配器,
- linux-firmware-cirrus — Cirrus Logic 音频设备,
- linux-firmware-intel — Intel 音频设备、蓝牙适配器、GPU、网络适配器、NPU、网络摄像头和其他各种设备,
- linux-firmware-mediatek — 联发科 和 Ralink 网络适配器,
- linux-firmware-nvidia — NVIDIA GPU 和 SoC,
- linux-firmware-other — 未分类的各种设备,
- linux-firmware-radeon — ATI Radeon GPU,
- linux-firmware-realtek — 瑞昱 网络和蓝牙适配器。
可选包
- linux-firmware-liquidio — Cavium LiquidIO 服务器适配器,
- linux-firmware-marvell — Marvell 网络适配器,
- linux-firmware-mellanox — Mellanox Spectrum 交换机,
- linux-firmware-nfp — Netronome 流量处理器,
- linux-firmware-qcom — 高通 SoC,
- linux-firmware-qlogic — QLogic 网络设备。
第三方包
- alsa-firmware — alsa-tools 中的加载程序和热插拔固件加载程序,请参见 ALSA#固件,
- sane-gt68xx-firmware — 基于 gt68xx 的扫描仪,
- sigrok-firmware-fx2lafw — FX2 逻辑分析仪,
- sof-firmware — Sound Open Firmware。
技巧与提示
检测已加载的固件
有时您需要了解系统加载了哪些固件,以便调试或选择要安装的固件包。这可以通过使用 动态调试 来实现
- 将
dyndbg="func fw_log_firmware_info +p"添加到 内核参数 中。
- 注意 根据 引导加载程序 的不同,引号可能需要转义。
- 修改内核参数后列出已加载的固件
# journalctl -kg 'loaded f'
Jan 01 00:00:00 example kernel: amdgpu 0000:03:00.0: Loaded FW: amdgpu/psp_13_0_0_sos.bin, sha256: SHA_sum Jan 01 00:00:00 example kernel: amdgpu 0000:6d:00.0: Loaded FW: amdgpu/vcn_3_1_2.bin, sha256: SHA_sum … Jan 01 00:00:00 example kernel: bluetooth hci0: Loaded FW: mediatek/BT_RAM_CODE_MT7922_1_1_hdr.bin, sha256: SHA_sum Jan 01 00:00:00 example kernel: mt7921e 0000:0a:00.0: Loaded FW: mediatek/WIFI_RAM_CODE_MT7922_1.bin, sha256: SHA_sum …