今回は、Tier2 になった、FreeBSD/i386 マシンのメンテナンスは大変!というお話。
古いPCパーツの整理中。
対象は、Apollo MVP3 チップセットの Socket7 マザーボードと、AMD K6-2+/500 の組み合わせ。
このマザーボードは、USBブートに対応していないため、2024年現在、FreeBSDのアップデートやインストールには大変苦労します。OS自体は FreeBSDが入っていてfreebsd-update コマンドが使えるなら更新は簡単なのですが、バージョンが FreeBSD8 のため、freebsd-update コマンドによるメンテナンスが行えない!pkgコマンドもちゃんと動かない。おそらく、ネットワーク経由の更新プロトコルが https となっているため、FreeBSD8内蔵の証明書では通信できないのだと思います。仕方がないのでOSイメージをダウンロードしたあと、CD-Rに焼いて、OSをブートすることにします。
以前はFDブートイメージがあったのに、今は、光学ドライブのみ。USBブートに対応していないボードは大変。
ATA CD-ROMドライブを探し出し、2nd IDE Slave に接続し、BIOSを調整して、C:ドライブの前にCD-ROMからブートするように変更。
ちゃんと、ブートするじゃんと思いながら見守っていると、キャラクターグラフィックスのデーモン君登場。
カーネル読み込みが始まり、ファイルシステムを読み始め、
Loading configured modules…
can’t find ‘/etc/hostid’
can’t find ‘/boot/entropy’
BTX halted
レジスターの値がダンプされ、ストップ。
この現象は何度行っても同じ。
検索してみると多くの同様の現象が見つかりましたけど、インストーラの不具合で解決済みとなっている情報ばかり。
検索を進めてゆくと、どうも、can’t find ‘/etc/hostid’ + can’t find ‘/boot/entropy’ は、メッセージとして表示されてもPC側の設定が正常なら先に進むことがわかりました。
つまり、私の MVP3 ボードはどこか設定がおかしいということ。FreeBSD8 は正常動作するので、OSの進歩に伴ってサポートされない機能とか、デフォルトから設定変更しなければいけない箇所が発生したものと推測できます。
トラブルシュートの基本、まずは、OS起動に関係ないボードを抜いて、ビデオ、LANカードだけにしてみました。しかし、結果は同じ。
CD-Rに焼いたイメージがおかしい?わけない(Verifyパスしているわけですからね)けど、別のPCにIDE HDDをつないで、FreeBSD13.3 をインストールし、そのHDDを MVP3ボードに接続しました。インストールは別PCで済ませたわけ。これで起動しないわけはない。。。。と思いながら電源投入したのですが、、、、レジスタがダンプされて終わり。
ただし、can’t find のメッセージは、変化して、hostid, entropy とも表示されます。
ファイルシステムを理解するところで落ちている感じ。
パーティションタイプのせい?25年以上前の古いマザーボードのためGPTパーティションマップを理解できていないのかも。と、FreeBSDファイルシステムをMBRで作り直して試しました。
結果は同じく、BTX halted で、がっくり。
余談ですが、FreeBSD の BTX halted は、Boot Extender の停止という意味で、ブートプロセスが、boot0, boot1, boot2 とスイッチしてゆく途中、boot2 の段階で停止してしまったことらしい。ファイルシステムを直接編集すれば、起動できるようになるかもしれませんけど、そこまでして使うシステムでもないので、これは行いませんが、何が原因なのかは知りたい。