initrdで/をLVMに。 « shivaken
initrd, 通常はブートに必要なモジュールの読み込みや初期化を行うために使われる。
例えば、rootのファイルシステムがext3で、
ext3のモジュールはそのパーティションにある、と言う場合、
なんとかしてext3モジュールをカーネルにロードさせる必要がある。

まるで鶏と卵の様な関係だ。
卵をファイルシステムをマウントすることとして
鶏をext3モジュールとして見立てるとしたら、
この場合、卵を産む鶏をタイムマシンで持ってくるようなもので、
卵が生まれればその後得られる鶏には用がない。
さしずめinitrdのイメージファイルがタイムマシンか。

さてさて、僕はパッチを当てるためにカーネルビルドを自分でしてから、
自分のマシンでは出来合いのカーネルを使うことはほとんどなくなった。
そろそろ10年?初ビルドは2.2.12だったかな。

もちろんそのころにはinitrdのことなんかロクにわかってなくって、
ファイルシステム用のモジュールとかLANカードのモジュールとか
モジュールにすることをあきらめて組み込んで使った。
だって、ひと手間いらなくなるんですよ。

自宅のマシンはそんな状態をずっと保ってきたけど、
ついにinitrdが必要になった。rootパーティションをLVMに移行するのだ。
mkinitrdでLVMを有効化しないとね。

SourceMageの場合
mkinitrd --enable-lvm -o /boot/initrd-2.6.28.img 2.6.28

おっとmkinitrdが古すぎてLVMのデバイスファイルが作られない。
でも、あわてずmkinitrdを改造。必要な分だけ組み込むことにした。

これでrootが一杯一杯になってもコマンド二つで拡張できる。

※SourceMageのWiki, 日本語訳ページを見つけて驚いた。
でもリンク先にはめちゃくちゃな機械翻訳があるだけだ。残念。
[2009-03-18 00:29]
スポンサーリンク
名前:

Twitter、フォローしてちょ
OwletのCD売ってます!