640MB Optical Disk

640MB MO を使う(od-driver-2.2.5R)

2.2.5Rは、512Bytes/Sectoのmo(128MB,230MB,540MB)は、 /etc/diskltabさえ用意すれば標準で使用できるようです。 しかし、640MBのMOは2048B/Sであるために、 そのままでは使用できないようです。 現在、2048B/Sを完全にサポートしているのは、3.0系だけのようです。

"とりあえず使える"レベルですので、間違っている箇所があれば指摘してください。

今となっては役に立たないページ
このページの旧版
このページの旧改定版

参考になる本:Unix User Vol.6 No.10 OCT.1 1997 "FreeBSD 利用法入門"


以下に、640MB-MOを使用する方法を解説します。 ただし、完全無保証&無駄ありありです(^^;。

機器構成


まずod-driver-2.2.5R.tar.gzを用意し解凍します。
ftp://jaz.jp.freebsd.org/pub/FreeBSD-jp/OD/od-driver-2.2.5R.tar.gz

128,230,540MBのMOを使いたいのであれば、od-driver-2.2.5R/disktab.odを /etc/disktabに追加し、 もとのdisktab内にあるmoのエントリを消去すれば使えるはずです。

以前に、od-driver-2.2-ALPHA.tar.gz を使用して、ソースにパッチを当ててい る場合、/usr/src/sys 以下を削除して再インストールすると確実です。 自分で作成した、sys/i386/conf/oddriver 等は、バックアップを取っておけば、 再構築時にそのまま使用できます。カーネルソースの再インストールは、 /stand/sysinstallを使うと簡単に実行できます。

以下のようにod-driver-2.2.5R/README.od-Jの "パッチの使用方法"に従ってパッチを当て、その後カーネルの再構築を行います。

# cd /sys 
# patch -p < somewhere/od-driver-2.2.5R/kernel.diff
# patch -p < somewhere/od-driver-2.2.5R/non512support.diff
# find . -name "*.rej"
カーネルソースが、マッサラであれば、リジェクトファイルはできないはずです。
/dev/od0*がある事を確認します(あるはずです)。

カーネルインストール後再起動し、640MB-MOをドライブにセットします。以下を 実行します。

# disklabel -r -w -B od0 mo640
# newfs /dev/rod0a
# fsck /dev/rod0
スライス上にUFSを構築したい場合はfdiskを使用します (od-driver-2.2.5R/README.od-J参照)。

マウントすればUFSとして使用できます。

# mkdir /mo
# mount /dev/od0a /mo
# umount /mo
# eject od0              # eject-1.2

問題点

/stand/sysinstallは640moのメディアがドライブに入っていると、 以下のメッセージが表示され起動しませんでした。これは、fdiskを作り直して いないことが原因かも知れません。
od_strategy: Invalid b_bcount 512 at block number: 0x0

topへ