web-dev-qa-db-ja.com

initramfs.cpioとrootfs.cpioの違い

2つの違いは何ですか?

Initramfs.cpioだけを使用できますか、それとも両方を使用する必要がありますか?

実際、私のrootfs.cpioファイルは7 Mbで、initramfs.cpioはわずか0.5 MBなので、initramfs.cpioのみを使用できるかどうかを考えていました。

1
user2799508

それはすべてあなたが達成しようとしていることに依存します。

Rootfsは、ramfs(または、有効になっている場合はtmpfs)の特別なインスタンスです。ほとんどのシステムは、rootfsを介して別のファイルシステムをマウントし、それを無視します。 ramfsの空のインスタンスが占めるスペースの量はごくわずかです。

Linuxカーネルには、gzip圧縮された「cpio」形式のアーカイブが含まれています。このアーカイブは、カーネルの起動時にrootfsに抽出されます。抽出後、カーネルはrootfsにファイル「init」が含まれているかどうかを確認し、含まれている場合はPID 1として実行します。見つかった場合、このinitプロセスは、システムの検索とマウントを含む残りの部分を起動する責任があります。実際のルートデバイス(存在する場合)。埋め込まれたcpioアーカイブが抽出された後にrootfsにinitプログラムが含まれていない場合、カーネルは古いコードにフォールスルーしてルートパーティションを見つけてマウントし、そこから/ sbin/initのバリアントを実行します。

1
phoops