内建固件¶
固件可以构建到内核中,这意味着直接将固件构建到 vmlinux 中,从而避免从文件系统中查找固件。相反,可以直接在内核内部查找固件。您可以使用内核配置选项启用内建固件
CONFIG_EXTRA_FIRMWARE
CONFIG_EXTRA_FIRMWARE_DIR
您可能希望考虑使用 CONFIG_EXTRA_FIRMWARE 将固件构建到内核中的原因有以下几个:
速度
访问启动设备需要固件,并且用户不想将固件塞入启动 initramfs 中。
即使您有这些需求,也可能有一些原因导致您无法使用内建固件
法律问题 - 固件与 GPL 不兼容
某些固件可能是可选的
固件可以升级,因此新的固件将意味着完整的内核重建。
某些固件文件可能非常大。remote-proc 子系统就是一个处理这些类型固件的子系统示例
固件可能需要动态地从某些设备特定的位置抓取出来,例如某些 WiFi 芯片组的校准数据。此校准数据对于每个售出的设备可能是唯一的。