Linux

linux如何為內置驅動模組載入韌體

  • September 14, 2016

我了解到韌體子系統使用 udevd 將韌體複製到創建的 sysfs ‘data’ 條目。

但是,如果 udevd 尚未啟動的內置驅動程序模組,這將如何工作?

我正在使用 3.14 核心。

蒂亞!

我通讀了核心原始碼,尤其是drivers/base/firmware_class.c,發現

CONFIG_FW_LOADER_USER_HELPER 

將啟動udev韌體載入變體(顯然僅在 udev 執行時可用於可載入模組)。但正如LKML中提到的,這似乎是一種過時的方法。

此外,確切地說,內置模組所需的韌體是通過 a 載入initramfsfw_get_filesystem_firmware()kernel_read()

CONFIG_FIRMWARE_IN_KERNEL可以使用、CONFIG_EXTRA_FIRMWARE_DIRCONFIG_EXTRA_FIRMWARE核心配置選項將韌體映像建構到核心本身中。這對於您不能或不想在執行時從使用者空間提供韌體的情況(例如,當訪問引導設備需要相關韌體並且您不想使用 initrd 時)可能很有用)。

以下是韌體載入可用選項的更詳細說明:https ://wiki.tizen.org/wiki/Usage_and_Mechanism_of_kernel_function_%22request_firmware()%22#Load_firmware_from_kernel_image

引用自:https://unix.stackexchange.com/questions/261725