2つの違いは何ですか?
initramfs.cpioだけを使用できますか?それとも両方を使うべきですか?
実際、私のrootfs.cpioファイルは7MBで、initramfs.cpioはわずか0.5MBであるため、initramfs.cpioを使用しても構いません。
答え1
それはすべてあなたが達成したいものに依存します。
Rootfsはramfs(または有効になっている場合はtmpfs)の特別なインスタンスです。ほとんどのシステムはrootfsに他のファイルシステムをマウントして無視します。 ramfsの空のインスタンスは非常に少量のスペースを占めています。
Linuxカーネルには、カーネルの起動時にrootfsで抽出されるgzipで圧縮された「cpio」形式のアーカイブが含まれています。解凍後、カーネルはrootfsに "init"ファイルが含まれていることを確認し、含まれている場合はPID 1として実行します。見つかった場合、initプロセスは、実際のルートデバイス(存在する場合)の検索とマウントを含む、システムの残りの部分を完了することを担当します。組み込みのcpioアーカイブをrootfsに抽出した後、rootfsにinitプログラムがない場合、カーネルはレガシーコードを使用してルートパーティションを見つけてマウントし、ここで/ sbin / initのいくつかのバリエーションを実行します。