カーネルのアップデート、再構築

 naomiのカーネルを2.4.24にアップデート。ついでにIPSecSCSIカード(Advansys)を追加する。
 調子に乗ってlilo.confの古いほう(今まで使っていたカーネル)をコメントアウトしてしまい立ち上がらなくなってパニクる。
 naomiのHDDはSilicon Image SiI-680に接続してあり、/homeがソフトウェアRAIDミラーリングされているのだが新しいカーネルを作るときにRAIDのドライバを入れるのを忘れていてマウントできなくなったのだ。
 かといって古いカーネルの部分はコメントアウトしてしまったのでそっちを使うことはもはやできない。
 /binや/etcはマウントされていたので*1viで/etc/lilo.confを修復しようと思ったがviが見当たらず編集不能*2。oshikojiはエディタはviしか使えないのだ*3。rescueディスクで起動すると今度はSiI-680のドライバがないのでHDDが見えなくなる始末*4マザーボードオンボードIDEに繋ぎかえれば見えるようになるだろうが面倒くさい。悩んだ末にとった方法は

 cat /etc/lilo.conf(コメントアウトされた部分を見る)
 echo "image=/vmlinuz.old" >> /etc/lilo.conf
 echo "label=LinuxOLD" >> /etc/lilo.conf
 echo "read-only" >> /etc/lilo.conf

 echoでリダイレクトしてlilo.confに付け加えるという力技。我ながらすばらしい。しかし>>を>と打ってしまったら一巻の終わり。ものすごく緊張した。
 結局これで再び起動可能になったので今度は必要なドライバが入っているかをちゃんと確認してカーネルを再構築、危機を脱しましたとさ。

*1:/binや/varをやたらと別パーティションにするという向こう見ずセッティングになっているのだ

*2:今調べると/usr/binに入っていた。/usrをマウントすればよかったのか

*3:使えるといっても保存して終了、強制終了、行削除、ペースト、検索ができる程度。ちなみにemacs系は終了とヘルプを出せる。nanoはファイルの保存と終了ができる。だからこの3つの中ではviが一番使えるということになるのだ

*4:こういうときに限って緊急起動ディスクを作っていない