top page > PC unix (2) > here

FreeBSD/pc98 の導入



目次

1. はじめに
2. install 用の FD
3. install 用の CD/DVD
4. /var のサイズ
5. CD boot
6. freebsd-update

1. はじめに

FreeBSD/pc98 の install に関しては,?.?R-R01.tar.gz を入手して [1] それを展開し,98readme/Instal98.txt やそこに置かれたその他の文書を読めばできるはずです. それで足りなければ,少々古いですが文献 [2] があります.

自分流にそれらを再整理してここに提示するつもりはありません. それらは既に読んでいることを前提に,もう少し生々しい話だけを書きます.

[1] これらは ftp://daemon.jp.freebsd.org/pub/FreeBSD-PC98/tars/ にあります.

[2]「FreeBSD (98) 徹底入門」あさだ 等 (1997.9) (翔泳社)

2. install 用の FD

install に使う FD の枚数が増えてきました. 困ったことに,それと時期を同じくして FD のメディアが老朽化し,boot の途中で読み込みエラーが多発するようになりました. (おまけに,新品の FD の入手も困難になりましたし.)

FD のチェックは,MS-DOS にて以下のように行ないます. これでスキップ・セクタや物理的な損傷などの情報が得られます. MS-DOS の FD であることが前提なので,先ず FD を format しておく必要があります.

a\> format c:/4     ← FD の drive を c とする./4 は 1.44MB の指定.
a\> scandisk c:

ここで指摘されるエラーが 0 の FD でないと install FD として使えません.
なお,エラーが発見された場合には MS-DOS の prompt に戻れません! reset または電源を off にすることになります.

FreeBSD においても同様のチェックをするプログラムがあるかもしれません.

3. install 用の CD/DVD

install 用の FD から boot して,media として CD/DVD を使う場合の話です. LAN を使える環境にあり,install する PC 以外のもう 1 台の PC にて FreeBSD が動いているならば,CD/DVD のイメージを download してから焼かなくても大丈夫です. (FD でなく CD から boot する場合には,当然ながら焼かないとダメです.)

ISO9660 format のファイルは次のようにして mount することができます.

# mdconfig -af src.iso            ← ファイル名を指定する.
md0                               ← このように出力される.
# mount -t cd9660 /dev/md0 /mnt   ← それをデバイス名として指定する.

あとは install の際に次のように選択,指定をすれば良いです.

  1. 「インストールメディア」は「2 FTP」を選ぶ.
  2. 「FreeBSD FTP 配布サイト」は「U URL」を選ぶ.
  3. URL を,例えば ftp://192.168.1.6//mnt のように指定する.

使い終わったら,以下の順序で切り離します. (このまま shutdownreboot しても切り離されます.)

# umount /mnt
# mdconfig -d -u md0

(補足) LAN を利用して install する場合,「2 オプション」にて FTP username を変更する必要がある環境では,それを忘れないで下さい. その場合には,当然 passwd もです.

4. /var のサイズ

いつの間にやらですが,必要とされる /var の容量が急激に大きくなってきました. /var/db//var/tmp/ の中身の肥大化が原因のようです. (これはもちろん,使い方に依りますが.)

FreeBSD 7.2 では,そのことに気付かずに 512 MB にしたのですが,とても苦しいです. そこで FreeBSD 8.4 では 2 GB にしました.今のところはこれで十分です.

容量の小さな HDD では,/ のみの単純な partition にした方が良いかもしれません.

5. CD boot

FreeBSD/pc98 の install 用 CD は,SCSI 接続の CD drive から boot できます.

CD は,以下のところから ISO image を download して作成します.

http://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releases/pc98/ISO-IMAGES/8.4/

私は ISO image として FreeBSD-8.4-RELEASE-pc98-disc1.iso を使いましたが,FreeBSD-8.4-RELEASE-pc98-bootonly.iso でも良いでしょう.

install のための boot の手順は次のようになります.

  1. PC の電源を入れる.
  2. memory count している間に installer の入った CD を drive に入れる.
    (あるいは,電源を入れて CD を入れ,電源を切り,再度入れる.)

これで memory count が終わった後に CD からの boot が始まります. boot 可な HDD よりも優先されます.

CD を drive に入れるのが遅かった場合や入れ損ねた場合,次のようします.

  1. 固定ディスク起動メニューが立ち上がるので,CD が drive に入っていないなら,ここで入れる.
  2. 固定ディスク起動メニューの「メニュー終了」を選んで抜ける.

その後,画面の真ん中に「システムディスクをセットしてください」と表示され,何もせずに少し待てば CD boot が始まります.

ただし,HDD に boot 可な領域が一つしかない場合には,固定ディスク起動メニューは現われずに HDD から boot されてしまいます. この場合には,間に合うように CD を入れて下さい.

boot が始まると,画面に次のように表示されます.

CD Loader 1.2

Building the boot loader arguments
Looking up /BOOT.PC98/LOADER... File not found
Looking up /boot.pc98/loader... File not found
Looking up /BOOT/LOADER... Found
|                                    ← (1)
Relocating the loader and the BTX
Starting the BTX loader

BTX loader 1.00 BTX version is 1.02  ← (2)

この動作は PC-9821 Ra20, Rv20 にて確認致しました. SCSI I/F は,PCI は Rv20 内蔵の Adaptec (aic7860) と SC-UPCI (I-O Data : ncr 53c875),C-Bus は PC-9801-92 (NEC) と MDC-925L (緑電子) です. また CD drive は CXA-600 (緑電子 : TOSHIBA CD XM-3501TA) および CDRW-SB24B (I-O Data : SANYO CRD-BP5) です.

動作が止まるのは致命的な相性問題なのか,転送モードや速度等をちゃんと設定すれば動くのか,何とも言えません.

途中で動作が止まらない組み合わせにおいて,その後の挙動は次のようになります.

  1. boot の後半に,log として大量のエラーが表示される. 詳細は後述しますが,動作に影響はありません.
  2. お馴染の installer のメニューが現れる.

以後は FD による install と同じ手順です. うちではこのやり方で FreeBSD/pc98 8.3, 8.4 が問題なく install できました. CD を焼く手間はかかりますが,FD を何度も入れ換える必要がない点が楽です.

先述の「boot 後半の log」ですが,CD boot では log を残せないので HDD から boot した場合の log を提示致します. (エラーの内容は同じです.) CD drive に bootable でない CD を入れた状態で boot すれば,log の関連部分は以下のようになります.[2]

cd0 at ahc0 bus 0 scbus0 target 3 lun 0
cd0: <TOSHIBA CD-ROM XM-3501TA 3054> Removable CD-ROM SCSI-2 device
cd0: 4.237MB/s transfers (4.237MHz, offset 15)
cd0: cd present [279147 x 2048 byte records]
(cd0:ahc0:0:3:0): READ(10). CDB: 28 0 0 4 42 6a 0 0 1 0   ← 以下の 4 行が 15 回繰り返される.
(cd0:ahc0:0:3:0): CAM status: SCSI Status Error
(cd0:ahc0:0:3:0): SCSI status: Check Condition
(cd0:ahc0:0:3:0): SCSI sense: MEDIUM ERROR info:4426a asc:15,0 (Random positioning error)

(cd0:ahc0:0:3:0): cddone: got error 0x5 back

boot の際に CD が入っていない場合や boot した後で CD を入れた場合には,上記のようなエラーは出ません. このような症状は,うちの SCSI I/F や CD drive 特有のものなのか,あるいは一般的なものなのかは判りません. いずれにしても,動作には問題は生じておりません.

[1] SC-UPCI + DRW-SB24B の組み合わせでも,HDD から boot した場合には使用できます. CD boot ができないだけです.

[2] HDD から boot した場合,上記のようなエラーが表示されても CD の mount やファイルの読み込み等は問題なくできます.

(補足) うちでは試すことはできませんが,FreeBSD/pc98 は SCSI 接続の MO, PD からも boot できるようです.
  (install ではなく OS の方の話です.)

6. freebsd-update

私の探し方が悪いのかもしれませんが,「freebsd-update が PC-98 で使えるか否か」を明記した資料は少ないので悶々とします. 公式文書では,version を限定して「i386 と amd64 のみ」と記したものしかありませんでした. そもそもこういうことは man freebsd-update に書いて欲しいものです.

実際に試してみると,freebsd-update は PC-98 では使えませんでした. FreeBSD/pc98 8.4 では次のようになりました.

# freebsd-update fetch
Looking up update.FreeBSD.org mirrors... none found.
Fetching public key from update.FreeBSD.org... failed.
No mirrors remaining, giving up.

また FreeBSD/pc98 8.3 にて

# freebsd-update upgrade -r 8.4-RELEASE

を試しても同じ結果になりました.

ちなみに,FreeBSD/i386 8.4 で同じことをすれば,ちゃんと応答してくれます. ですから,8.4 が EOL (End Of Life) であることが原因ではないと考えます.

ここは,他の原因を想起させるような言い方でなく,「freebsd-update は pc98 に対応していない」と告げて欲しいところです. (そもそも,update.FreeBSD.org を見に行く必要もないのではないかなあ?)