2006年6月16日

mkinitrd はどこに行くのだろう

debian etch で initrd イメージを作ろうとし、何も考えず mkinitrd を実行したのだが、ルートファイルシステムが LVMの論路ボリュームのシステムが上手く立ち上がらなかった。

しばらく熟考後、分かったことだがカーネルパラメータ root= の指定方法に問題があったようだ。 論理ボリュームを /dev/VG01/LV01 で指定するか /dev/mapper/VG01-LV01 で指定するかで正しく立ち上がるかの挙動が違う。

/dev/VG01/LV01で起動できるもの

  1. sarge initrd-tools
  2. etch yaird
  3. centos mkinitrd

/dev/mapper/VG01-LV01で起動できるもの

  1. sarge initrd-tools
  2. etch yaird
  3. etch mkinitramfs
  4. fedora core 4 mkinitrd

yaird は System.map/config が無いと上手く initrdイメージが生成できない。xen用カーネルにはまだこれらのファイルが含まれていないのでmkinitramfs でしか作れない。作れても root=の指定を間違うと立ち上がらない。で、小一時間悩むと。

fedora/centosにはfstabに明示的に論理ボリュームのデバイス名を記述してないと正しいinitrdイメージができない。で、これまた小一時間悩むと。

救いなのは、etch mkinitramfs で作成したものは、ほぼ全てのHDDドライバ/RAID/LVMが含まれるので、root=の指定次第でほぼ正しいルートパーティションをマウントした状態でinitに制御がわたせるので、

緊急用のカーネルイメージには最適ですね。fedora/centosの復旧とかに使えて便利でしたねぇ。というか、fedora/centosのmkinitrdが貧弱すぎ。

0 件のコメント:

Cocoa Emacs 24.3 構築 (2013/03版)

暫く使っている Cocoa Emacs を更新していなかったので、24.3 に上げてみた。 当てるパッチは inline patch と ポップアップフリーズ対応パッチ くらい。 24.3 には既にフルスクリーン実装が入っているので、よく使われているフルスクリーンパッチは外し...