web-dev-qa-db-ja.com

initrdとinitramfsの違いは何ですか?

initrdinitramfsの違いは何ですか?

12
Sen

Initrdは廃止され、Initramfsに置き換わりました。Initramfsには、initrdの弱点がいくつかありません。

  • Initrdでは、少なくとも1つのファイルシステムドライバーをカーネルにコンパイルする必要があります
  • Initrdによって作成されたdiskは、固定サイズでなければなりません
  • Initrd上のすべての読み取り/書き込みは、冗長的に(不必要に)メインメモリにバッファされます。

それがすべてだと思います。


このupdate-initramfsコマンドはどのようにして/boot/initrd.imgを生成しますか?

必要なファイルをcpioarchiveにします。これはバイナリアーカイブ形式です(tarと非常によく似ていますが、広範ではありません) Linuxで使用されます)、gzipを使用してcompressそのアーカイブを使用します。 Gzipはアーカイブの保存ではなく、単なる圧縮です(これが.tar.gzアーカイブファイルを取得する理由です)。

起動時に、アーカイブはuncompressedおよびunpackedaram-disk.

次も参照してください。 コンピュータの起動方法

12
Stefano Palazzo
  • initrdはブロックデバイスベースで、initramfsはファイルベースです。

  • initrdを使用して、ファイルシステムイメージを作成しました。 initramfsを使用すると、カーネルがtmpfsに抽出するファイルでアーカイブを作成します。

3
karthick87