PC UNIXの起動と起動ファイルの解読

YAMAMORI Takenori ●yamamori

■コラム■Linuxのinitrdについて 〜rootのマウントは実は2回〜

Linuxにおいては,通常のrootファイルシステムのマウントの前に, initrdによる仮のrootファイルシステムがマウントされる場合があります. initrdはおもに,rootファイルシステムのマウント前にSCSIドライバを読み込むために 使用されます.
(それ以外の使用法もあります)
※参考:initrdをうまく使い、CD-ROM のみで起動する Linuxゲーム

initrdのファイル名は通常,initrd.imgなどとなっていますが, これはext2ファイルシステムのイメージをgzipで圧縮したものです. initrdはLILOなどのブートローダによって,カーネルであるvmlinuzとともに 読み込まれます.カーネルはinitrdをRAMディスクとして展開し, これを仮のrootファイルシステムとしてマウントします.

このあとカーネルは,マウントしたRAMディスクのrootディレクトリにある, linuxrcというコマンドを実行します. linuxrcは通常はシェルスクリプトで,この中にinsmodコマンドなどが記述されており, ここでSCSIドライバが読み込まれます.

linuxrcの実行が終了すると,カーネルはRAMディスクを解放し, ロードされたSCSIドライバを使って通常のrootファイルシステムをマウントし, 起動処理を続行します.


To『PC UNIXの起動と起動ファイルの解読』[index]


このページは、技術評論社 「SoftwareDesign 2001年9月号、『起動ファイルから解読するPC UNIX』の原稿を元に、Web 用に再構成したものです。
To 謎の処理系 SunOS 4.1.4 [Home]
yamamori