initrdで/をLVMに。
« shivaken
initrd, 通常はブートに必要なモジュールの読み込みや初期化を行うために使われる。
例えば、rootのファイルシステムがext3で、
ext3のモジュールはそのパーティションにある、と言う場合、
なんとかしてext3モジュールをカーネルにロードさせる必要がある。
まるで鶏と卵の様な関係だ。
卵をファイルシステムをマウントすることとして
鶏をext3モジュールとして見立てるとしたら、
この場合、卵を産む鶏をタイムマシンで持ってくるようなもので、
卵が生まれればその後得られる鶏には用がない。
さしずめinitrdのイメージファイルがタイムマシンか。
さてさて、僕はパッチを当てるためにカーネルビルドを自分でしてから、
自分のマシンでは出来合いのカーネルを使うことはほとんどなくなった。
そろそろ10年?初ビルドは2.2.12だったかな。
もちろんそのころにはinitrdのことなんかロクにわかってなくって、
ファイルシステム用のモジュールとかLANカードのモジュールとか
モジュールにすることをあきらめて組み込んで使った。
だって、ひと手間いらなくなるんですよ。
自宅のマシンはそんな状態をずっと保ってきたけど、
ついにinitrdが必要になった。rootパーティションをLVMに移行するのだ。
mkinitrdでLVMを有効化しないとね。
SourceMageの場合
おっとmkinitrdが古すぎてLVMのデバイスファイルが作られない。
でも、あわてずmkinitrdを改造。必要な分だけ組み込むことにした。
これでrootが一杯一杯になってもコマンド二つで拡張できる。
※SourceMageのWiki, 日本語訳ページを見つけて驚いた。
でもリンク先にはめちゃくちゃな機械翻訳があるだけだ。残念。
例えば、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, 日本語訳ページを見つけて驚いた。
でもリンク先にはめちゃくちゃな機械翻訳があるだけだ。残念。
スポンサーリンク
コメント







RSS