私は見つけようとするチキンと卵の種類のパズルを持っています。
最初のポイント:
initramfsの目的の1つが必要なドライバ(RAIDなど)を提供してデフォルトのファイルシステムをロードすることであり、initramfsがそのファイルシステムに存在する場合は正確にどのように機能しますか?
2番目のポイント:
一部のソースでは、カーネルがinitramfsをロードすると言うようです。この場合、カーネルがinitramfsが最初にアクセスを提供する必要があるファイルシステムにある場合、まずカーネルにどのようにアクセスできますか?
答え1
Linuxでは、initramfsはカーネルではなくブートローダによってメモリにロードされます。また、ブートローダはカーネルをロードしてカーネルにinitramfsの場所を知らせるので、カーネルが起動したときにメモリからinitramfsを見つけて起動するために使用できます。システム。 (これは次のとおりです。マルチブート仕様.)
ブートローダー、幼虫多くのシステムには、initramfs(およびカーネル)を含むファイルシステムにアクセスできるドライバが含まれています。これには、RAIDモジュール、ファイルシステムドライバ、LVMモジュール、復号化モジュールなどが含まれます。 (一部の単純なブートローダはこのような広範なサポートを提供していないため、カーネルとinitramfsの保存可能性が制限されます。)