内核在启动过程的哪个阶段加载固件文件?

内核在启动过程的哪个阶段加载固件文件?

我有AMD radeonGPU 需要加载许多固件文件。

我的系统从 initrd(初始 ram 磁盘)启动,我现在很困惑在启动过程的哪个阶段需要加载固件文件。此外,内核驱动程序amdgpu是“静态”编译的(不是作为可加载模块)。

我尝试将所有必需的固件文件复制到初始 RAM 磁盘上,但内核要么无法找到它们,要么需要在文件系统可用之前加载它们。无论如何,它报告:

faild to load firmware file amdgpu/polaris10_mc.bin

唯一可行的方法实际上是将固件文件包含在内核中(CONFIG_FIRMWARE_IN_KERNEL):

[*]   Include in-kernel firmware blobs in kernel binary

我更喜欢从磁盘加载固件文件,这是标准方法。

为什么内核不从我的初始 RAM 磁盘加载固件文件?

GPU 驱动程序是否编译为可加载模块或“静态”有什么区别吗?

相关内容