2002 年 10 月 8 日 (火) 自宅

昨日の続き。 FreeBSD 4.6.2-RELEASE をインストールしようとしたら、 内蔵 ATA ドライブのプローブでインストーラ用カーネルがハングアップしてしまう、 SiS 651 ベースの Pentium 4 マシンへのインストールに挑戦。

まずは、一昨日の直感をベースに、 FreeBSD 4.6.2-RELEASE が動作しているマシンで、 次のパッチ(ダウンロードはこちら)を、 src/sys/dev/ata/ata-dma.c に当てます。

--- ata-dma.c.orig	Fri Apr 19 04:14:04 2002
+++ ata-dma.c	Wed Oct  9 07:22:06 2002
@@ -502,6 +502,7 @@
 	    ata_find_dev(parent, 0x06401039, 0) ||	/* SiS 640 */
 	    ata_find_dev(parent, 0x06451039, 0) ||	/* SiS 645 */
 	    ata_find_dev(parent, 0x06501039, 0) ||	/* SiS 650 */
+	    ata_find_dev(parent, 0x06511039, 0) ||	/* SiS 651 */
 	    ata_find_dev(parent, 0x07301039, 0) ||	/* SiS 730 */
 	    ata_find_dev(parent, 0x07331039, 0) ||	/* SiS 733 */
 	    ata_find_dev(parent, 0x07351039, 0) ||	/* SiS 735 */

で、このソースを使ってインストーラフロッピーを make します (インストーラのコンパイルは面倒なので、 コンパイル済みのバイナリも用意しました。 boot.flpkern.flpmfsroot.flp。 fetch や wget の類か右クリックで保存してね)。

てなことで、 さっき買ってきたキティのフロッピーに kern.flp と mfsroot.flp を、 dd で書き込みます。 ラベルで区別できて便利だな (^^;。

[image] [image]

うむ、一昨日と異なり、 無事にインストーラが起動したぞ! やった。

[image] [image]

てなわけで、DVD を突っ込み忘れたので、 再度『改訂版 FreeBSD 徹底入門』の限定付録 DVD を DVD-ROM に突っ込み、 BIOS から CD-ROM ブートを禁止して再度インストーラをフロッピーから起動。

[image]

うん、FDISK も問題なくできるね。 ちゃんとディスクは認識できているらしい。

[image] [image]

disklabel はほとんど AUTO。 Softupdates 問題の件は修正済みの sysinstall を使っているため、 特に問題はなし。

[image]

CD-ROM の選択画面では 2 つのドライブが表示されました。 acd0c を選択。

[image]

無事にインストール開始。

[image]

ports の展開も 800KB/s 〜 1000KB/s 程度で進むのは、 いくら最近の ports は展開スピードが速い構成になっているとは言え、 すごいなぁ。

[image]

で、インストールが終わったら、再起動する前にやることがあります。 ここで再起動してしまうと、 またしても SiS 561 の ATA プローブでハングしてしまうため、 パッチを当てたカーネルをコンパイル & インストールしなければなりません。 ということで、 まず Alt-F4 でホログラフィックシェルに移動し、 vi で /usr/src/sys/dev/ata/ata-dma.c を編集しましょう (慣れた csh を使ってます)。

kitamori# cd /usr/src/sys/dev/ata
kitamori# cp -p ata-dma.c{,.orig}
kitamori# vi ata-dma.c

[image]

で、先ほどと同様のパッチを手で当てます (たった 1 行だから、別にネットワークを使ってまで入れなくてもいいや)。

[image] [image]

で、カーネルを make します。

kitamori# cd /usr/src/sys
kitamori# make buildkernel
kitamori# make installkernel

うーん、気持よく速い!

[image] [image]

というわけで、ここまで来たら Alt-F1 でインストーラに戻り、 メインメニューからインストーラを終了して再起動!

[image] [image]

dmesg の結果はこんな感じ。 をを、「CPU: Pentium 4 (2539.10-MHz 686-class CPU)」! 問題の ATA の検出も、 「ad0: 117800MB <IC35L120AVVA07-0> [239340/16/63] at ata0-master UDMA100」と、無事に検出されています。 というわけで、make buildworld やってみよう。

kitamori# /usr/bin/time make buildworld
...(略)...
===> etc/sendmail
rm -f freebsd.cf
(cd /usr/src/etc/sendmail &&  m4 -D_CF_DIR_=/usr/src/etc/sendmail/../..
/contrib/sendmail/cf/   /usr/src/etc/sendmail/../../contrib/sendmail/cf/m4/cf.m4 
freebsd.mc) > freebsd.cf
chmod 444 freebsd.cf
     1268.86 real       903.02 user       288.42 sys
kitamori# 

うわっ! たったの 21 分かよ! ……結構強烈かも。 さすが Pentium 4 2.53GHz。


このサイトへのリンクには何ら許可は必要ありません。 ただし、無断で写真をダウンロードして他の場所に掲載したり、 画像加工の素材として利用するなど、再配布に当たる行為はしないようにしてください。 また、このサイトへのリンクであることを明示すること無しに <img src="..."> などで他のページの内部に画像ファイルを取り込むことも、 ご遠慮下さい。