先週末にうちのサーバ(Intel ISP-1100)を
FreeBSD 4.xから
5.xに上げようとして、はまる。
make installworldの途中でエラーが発生。1uのラックマウントタイプで、CD-ROMも
ついていないマシンなので、こうなるとお手上げ。ラックから外して机の上に置き、
ばらしてディスクを取り出して別のマシンに接続、その環境で起動できるように
するのが第1段階。
ディスクからは起動するものの、single user modeになってしまうので、 5.1 Releaseのインストールメディアや FreeSBIEを駆使して、 baseにあたる部分をなんとかインストールし、起動できるようにする。
cvsupでsrcを5.5にし、make buildworldをしようとするとエラー。make updateも
できなくなり、何度かCD-ROMのsrcパッケージをインストールして悩む。
結局、makeが古いのが原因ということで、/usr/src/usr.bin/make でmakeだけ
作り直すことで解決。configも古いとkernelをbuildできないので、buildworldしてから
buildkernelする。
installkernelしてから再起動、single user modeでinstallworld という手順を
間違えると、installworldの途中(/bin/shをインストールした直後?)でエラーになり、
身動きがとれなくなる。こういったポカミスを何度か繰り返しながら、何とか
起動できる状態まで復旧。
次。サーバ機にはVGAカードがなく、BIOSの設定でシリアルコンソールが使える
ようになっている。ので、その設定。4.xではできていたのだが、復旧作業で設定が
残っていないので、1からやりなおし。
- /boot.config に-Dと書いておく
- BIOSでコンソールをリダイレクトしているシリアル(COM2)に対し、consoleの フラグを立てる。具体的には/boot/device.hints に hint.sio.1.flags="0x10" を 書く
というわけで、今週1週間ずっと、会社から帰ってきてから、机の上に置いた1uの マシンと格闘していました。
これでOKとラックに戻したところ、SCSI接続のCD-ROMが絶不調。また格闘か orz
SCSIカードが緩んでいただけだった。とはいえ、 またラックから出して、ばらして、挿し直し…。