linux如何为内置驱动模块加载固件

ste*_*enp 8 linux kernel udev firmware

我了解到固件子系统使用 udevd 将固件复制到创建的 sysfs 'data' 条目。

但是,如果 udevd 尚未启动的内置驱动程序模块如何工作?

我使用的是 3.14 内核。

蒂亚!

ste*_*enp 2

我通读了内核源代码,特别是drivers/base/firmware_class.c,并发现

CONFIG_FW_LOADER_USER_HELPER 
Run Code Online (Sandbox Code Playgroud)

将激活udev固件加载变体(显然仅适用于 udev 运行时的可加载模块)。但正如LKML中提到的,这似乎是一种过时的方法。

此外,准确地说,内置模块所需的固件是initramfs通过fw_get_filesystem_firmware()a加载的。kernel_read()