直接檔案系統查詢¶
直接檔案系統查詢是核心執行的最常見的韌體查詢形式。核心直接在根檔案系統中查詢韌體,路徑在“韌體搜尋路徑”部分中記錄。 檔案系統查詢在 fw_get_filesystem_firmware() 中實現,它使用常見的核心核心檔案載入器工具 kernel_read_file_from_path()。允許的最大路徑是 PATH_MAX -- 目前是 4096 個字元。
建議將 /lib/firmware 路徑保留在根檔案系統上,避免為它們設定單獨的分割槽,以避免可能的查詢競爭,並避免使用下面記錄的自定義回退機制。
韌體和 initramfs¶
構建到核心中的驅動程式也應該將韌體整合到用於引導核心的 initramfs 中,否則可能會與載入驅動程式和實際根檔案系統尚未準備就緒發生衝突。 將韌體塞入 initramfs 可以解決此競爭問題,但請注意,使用 initrd 不足以解決相同的競爭問題。
存在一些情況,有理由不想將韌體包含到 initramfs 中,例如處理遠端proc子系統的大型韌體檔案。對於這種情況,使用使用者空間回退機制是目前唯一可行的解決方案,因為只有使用者空間才能確定實際根檔案系統何時準備好並掛載。