カーネルは起動プロセスのどの段階でファームウェアファイルをロードしますか?

カーネルは起動プロセスのどの段階でファームウェアファイルをロードしますか?

AMD radeon多くのファームウェアファイルをロードする必要があるGPUがあります。

私のシステムは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ドライバがロード可能なモジュールにコンパイルされるのか「静的」にコンパイルされるのかによって異なりますか?

関連情報