內建韌體

韌體可以構建到核心中,這意味著直接將韌體構建到 vmlinux 中,從而避免從檔案系統中查詢韌體。相反,可以直接在核心內部查詢韌體。您可以使用核心配置選項啟用內建韌體

  • CONFIG_EXTRA_FIRMWARE

  • CONFIG_EXTRA_FIRMWARE_DIR

您可能希望考慮使用 CONFIG_EXTRA_FIRMWARE 將韌體構建到核心中的原因有以下幾個:

  • 速度

  • 訪問啟動裝置需要韌體,並且使用者不想將韌體塞入啟動 initramfs 中。

即使您有這些需求,也可能有一些原因導致您無法使用內建韌體

  • 法律問題 - 韌體與 GPL 不相容

  • 某些韌體可能是可選的

  • 韌體可以升級,因此新的韌體將意味著完整的核心重建。

  • 某些韌體檔案可能非常大。remote-proc 子系統就是一個處理這些型別韌體的子系統示例

  • 韌體可能需要動態地從某些裝置特定的位置抓取出來,例如某些 WiFi 晶片組的校準資料。此校準資料對於每個售出的裝置可能是唯一的。