initrdとIntramfsの混乱の使用

initrdとIntramfsの混乱の使用

initrdまたはinramfsの目的についての私の理解は、カーネルがRAMに一時ファイルシステムをマウントしてドライバやその他のエントリをロードし、実際のrootfs(場所に関係なく)をマウントできるようにすることです。

この記事を読んだ後は、起動中にrootfsをマウントする方法を知らせるために、可能なすべてのシナリオをハードコーディングせずに共通のカーネル展開を維持できることが主な目標であるようです。

この場合、initrdまたはinramfsはほぼ常にカスタマイズされているようです。

しかし、私が理解していないことは、特定のケースでinramfsがマウントされたときに何をすべきかを知らせるためにカーネルコードを変更する必要があるということです。たとえば、特定のスクリプトを実行したり、実際にドライバをロードして使用したりするなどの操作が可能です。

ベストアンサー1

ポイントはカーネルRAM(ページングではない)を保存することです。すべてを含むカーネルを構築する代わりに、いくつかの重要なドライバを含め、残りはモジュールとして使用できるカーネルを構築します。ブート時にカーネルは、pcieなど、見つかったさまざまなバスを調べて、見つかったさまざまなエントリのドライバであると主張するモジュールを見つけようとします。これらのモジュールはRAMに残り、残りのモジュールは廃棄されます。一般に、initrd にはすべての可能なモジュール、または少なくとも多数のモジュールが含まれます。

おすすめ記事