アスタリスク インフラTECH wiki

初期RAMディスク

最終更新:

kawakami

- view
メンバー限定 登録/ログイン
Linuxでは、メモリ上にファイルシステムを作成できるRAMディスクと呼ばれる機能や
ファイルをファイルシステムとして、マウントすることのできるループバックマウントという
機能を持っています。

上記のような機能を使って、ファイルとして用意されているファイルシステムを
RAMディスクとしてメモリ上に展開させ、それを暫定的なルートファイルシステムとして
カーネルを起動し、その後実際のルートファイルシステムをマウントする。
という起動方法を取ることができます。

この起動用のRAMディスクを初期RAMディスク(Initial RAM Disk:initrd)といいます。
例えばルートファイルシステムがSCSIハードディスク上にある場合、
初期RAMディスクにSCSIドライバを用意しておくことで、起動中のカーネルから
ディスクにアクセスできるようになります。
但しこの場合、BIOSレベルでSCSIアクセスが可能であることが前提となります。

初期RAMディスクには、ファイルシステムイメージを圧縮したinitrdと、
cpioアーカイブを圧縮したinitramfsの2種類があります。
最近のディストリビューションでは、一般的にinitramfsが利用されています。
2種類の初期RAMディスクを作成するコマンドは以下になります。

  • ファイルシステムイメージを圧縮した初期RAMディスクinitrd
mkinitrd [RAMディスクイメージファイル] [カーネルバージョン]

  • cpioアーカイブを圧縮した初期RAMディスクinitramfs
mkinitramfs -o [RAMディスクイメージファイル] [カーネルバージョン]

#mkinitramfs -o initrd-2.6.30.img 2.6.27
カーネル2.6.30用の初期RAMディスク/boot/initrd-2.6.30.imgを作成します。
目安箱バナー