LinuxでMOドライブを使う

作 者:杉田 靖一(ssaychi@nifty.com
作成日:Thu Jan 14 18:30:08 1999


この文書は、私のLinux boxにMOドライブをインストールした際の手順を簡単にまとめたものです。特殊な事例ですが同様のことを試してみたいと考えている方にとって少しでも参考になれば幸せです。

この文書の著作権は上記作者にあります。内容は正確を期してはいますがまったく無保証です。この文書の記述内容にしたがって作業した結果に関して作者は一切責任を負いません。

この文書は自由に複写・配付することができます。そのときは、できるだけ次の事項を守ってください。

また、間違いの指摘、改善案の提案などはいつでも歓迎いたします。


0. はじめに

これからMOドライブをインストールしようとしているマシンはつぎのとおりです。

CPU
PROTON、MegaStar (Model: MSA133)
OS
Windows95とLinux 2.0.3(Slackware 3.4J : Pacific HiTech)のデュアルブート

インストールするMOドライブとSCSIアダプタはつぎのとおりです。

SCSIアダプタ
Tekram、DC-310U (Ultra SCSI)
MOドライブ
ダイアテック、FILCO MO-230FB (SCSI-2対応)

# MOドライブ(税別29,800円)とSCSIアダプタ(税別6,700円)共にT-Zone(東京:秋葉原)で購入。

1. カーネルの再構築

なにはなくとも、カーネル再構築をしなければなりません。手順はつぎのとおりです。

    # cd /usr/src/linux
    # make config
    # make dep ; make clean
    # make zlilo
    # dd if=/vmlinuz of=/dev/fd0u1440 bs=8192

「make config」の「SCSI low-level drivers」のところで、SCSIアダプタに使われているSCSIコントローラ(SCSIチップ)を選択しなければなりません。ここで問題がありました。「DU-310U」のSCSIチップは、「Symbios Logic : SYM53C860」です。ところがこのSCSIチップが「SCSI low-level drivers」のリストのなかに見当たらないのです。そこでつぎのような危うい情報をヒントにして作業を進めました。

以上のことから、「NCR53C8XX」と「SYM53C860」がかなり近いのではないかと予想しました(互換チップか?)。そして、「SCSI low-level drivers」→「NCR53C8XX SCSI Support」を選択しました。この後に続く5つの項目は「NO」(既定値)のままで進めました。

(注)SCSIチップについてなにか情報がないかと思い、Internetで「http://www.symbios.com」を探してみると「LSI Logic」なる会社のWEBサイトに飛ばされました(99/01/04現在)。Symbios LogicはLSI Logicに買収/吸収されたのでしょうか。どうやらSymbios LogicはSCSIアダプタをTekramへOEMしていたようです。

(注意)「SCSI low-level drivers」リストから複数のチップを選択しないこと。ただ一つだけを選ぶこと。

configrationが終わって「make zlilo」へ移りますが、これは私の場合Linuxを起動するときにFDを使用しているためです。コンパイルはウチのマシンで30分程かかりました。無事終わったので「dd」でFDへ書き込みます(少し大袈裟なコマンドでしょうか)。そして、MS-DOSフォーマットのメディアをドライブへ入れたまま、恐る恐る再起動のスイッチを押します。ここはいつものとおりクロスフィンガーですね。起動メッセージにつぎのように表示されてめでたくMOドライブが使えるようになりました(今回の作業に関係すると思われる部分のみ引用)。

....(omit)....
ncr53c8xx : at PCI bus 0, device 4, function 0
ncr_attach: unit=0 chip=860 base=f9000000, io_port=6000, irq=11
ncr53c860-0: using memory mapped IO at virtual address 0x3819000
ncr53c860-0: initial value of SCNTL3 = 05, final = 35
ncr53c860-0: requesting shared irq 11 (dev_id=0xc068)
ncr53c860-0: restart (scsi reset).
scsi0 : ncr53c8xx (rel 1.12d)
scsi : 1 host.
  Vendor: FUJITSU   Model: M2512E            Rev: 0040
  Type:   Optical Device                     ANSI SCSI revision: 02
Detected scsi removable disk sda at scsi0, channel 0, id 0, lun 0
scsi : detected 1 SCSI disk total.
ncr53c860-0-: FAST SCSI-2 100ns (10 Mb/sec) offset 8.
SCSI device sda: hdwr sector= 512 bytes. Sectors= 446325 [217 MB] [0.2 GB]
sda: Write Protect is off
....(omit)....

2. 運用と改善について

カーネルがうまく作れてしまえばおしまい。めでたし、めでたし。しかし、更に先に進むためにはいくつかの問題を解決しなければなりません。アドバイスがありましたら教えてください。よろしくお願いします。

●運用状況

現在は、主にバックアップ用メディアとしてMOを使用している。また、LinuxからWindows95で作ったデータを読むこともあるし、その逆もあります。他にも有効な使い道があれば試してみたい。

Linux
ext2のファイル形式でフォーマットしたうえでinternetから入手したアプリケーションのバックアップ。
Windows95
フォーマット済み(fat)のメディアを購入して自分で作成したデータのバックアップ。

●改善したい事

(その1)
カーネル構築の際「SCSI low-level drivers」リストのなかから「NCR53C8XXX SCSI Support」を選択したあとに付随する5つの項目をすべて「NO」(既定値)としたのですが、この質問項目を使用しているドライブに合わせて適切に設定すること。
(その2)
MOへの書き込みがrootでしかできない。一般userでも読み書きしたい。

○解決策

(その2)については、下記の作業手順によって解決しました。

    # mkdir /mo
    # chmod go+rw /mo
    ※ /etc/fstab につぎの一行を追加する 
    /dev/sda    /mo    vfat    rw,user,noauto,unhide

以上で、一般ユーザが MO メディア(カーネルがvfat形式をサポートしていることが必要)をマウントして読み書きしたり、取り出したりすることができるようになりました。運用はつぎのとおり。

    ‾$ mount /mo                  ※マウントして
    ‾$ cp filename.txt /mo        ※コピーしたりして
    ‾$ umount /mo                 ※アンマウントしてから取り出す

以上