内置固件

固件可以内置到内核中,这意味着将固件直接构建到 vmlinux 中,以便避免必须从文件系统查找固件。相反,可以直接在内核内部查找固件。您可以使用内核配置选项启用内置固件

  • CONFIG_EXTRA_FIRMWARE

  • CONFIG_EXTRA_FIRMWARE_DIR

有几个原因可能会让您考虑使用 CONFIG_EXTRA_FIRMWARE 将固件构建到内核中

  • 速度

  • 访问启动设备需要固件,并且用户不希望将固件塞入启动 initramfs 中。

即使您有这些需求,也有几个原因可能会使您无法使用内置固件

  • 法律 - 固件与 GPL 不兼容

  • 某些固件可能是可选的

  • 固件升级是可能的,因此新的固件将意味着完全重建内核。

  • 某些固件文件可能非常大。远程处理子系统是处理此类固件的子系统的一个示例

  • 固件可能需要从某些特定设备的动态位置抓取,例如某些 WiFi 芯片组的校准数据。此校准数据对于每个售出的设备可能是唯一的。