JAZ-drive mini-HOWTO Bob Willmot, bwillmot@cnct.com v1.3, 05 August 1996 JAZ-drive mini-HOWTO日本語版 鴨澤眞夫 JCD00743@niftyserve.or.jp R.1.0, 01 Oct. 1996 この HOWTO では、Linux で Iomega の Jaz ドライブを設定・使用する方法と、 Jaz ドライブ用のソフトウエアツールを取り扱います。 1. はじめに Iomega の Jaz ドライブは、容量 1021 MB のリムーバブルディスクドライブです。 現在のところ SCSI の内蔵・外づけの物が利用できます。Iomega では IDE の内蔵 型を製品化する予定です。 この文書には、Linux で Jaz ドライブを使う方法が記されています。このドライブ はSCSI なので、Drew Eckhadt の SCSI HOWTO を読むことも重要です。 http://sunsite.unc.edu/pub/Linux/docs/HOWTO/SCSI-HOWTO [訳注:日本語訳は2年ほど更新されていませんが、JFでは水原氏が最新版を翻訳中 です] 情報を提供して下さった * Grant Gunther, grant@torque.net * Tom Poindexter, tpoindex@nyx.net * Todd Woods, woods@cs.uiowa.edu 各氏の寄与に感謝いたします。 コメント、提言、修正すべき点がありましたら、Bob Willmot、bwillmot@cnct.com にお送り下さい。[訳注:日本語版への感想や、おかしな点がありましたら、(もち ろん)鴨澤眞夫 JCD00743@niftyserve.or.jp にメールを下さい。おねがい。] 2. Jaz のディスク Jaz のディスク(カートリッジ)は 3.5 インチのフロッピーを3枚重ねたような感 じです。これに 1GB のデータが入ります。 ドライブにはイジェクト機構が付いており、イジェクトボタンでもソフトウエアで もイジェクトできます(下の jaztools Linux というソフトについての情報を参照 のこと) 2.1. Jaz Jet ホストアダプタ Iomega は Jaz Jet という名前で SCSI ホストアダプタを売っています。 現在このボードには、 SCSI チップセットの異なる2つのバージョンが存在するこ とが判っています。 片方は Adaptec の 7800 ファミリーのアダプタが元なので、2930/2940 と互換性が あります。Linux 2.0 では aic7xxx ドライバが使えます。(このドライバはカーネ ル 1.3.? で取り込まれた物です。) もう片方は Advanced Systems のチップセットを使っており、 Jaz Jet PCI SCSI adapter Copyright Advanced Systems 1996 の様にメッセージを出します。カーネルのコンパイル時、"AdvanSys SCSI support" に 'y' と答えてください 3. カーネルを Jaz ドライブ用に設定する Linux で Jaz ドライブを使うには、お持ちの SCSI アダプタに合わせてカーネルを 設定する必要があります。 カーネルの構築に関する情報は、/usr/src/linux/README にあります。2.x のカー ネルをお使いなら、/usr/src/linux/Documentation/ にあります。 Brian Ward の Kernel-HOWTO も見て下さい。 http://sunsite.unc.edu/pub/Linux/docs/HOWTO/Kernel-HOWTO 4. ブート時に Jaz ドライブを認識する ブート時に、アダプタおよびドライブに入っているディスクに関するメッセージが 出るはずです。 ブートメッセージは SCSI アダプタによって異なります。また、メッセージは /var/log/messages (または /var/adm/messages )というファイルに保存され、 dmesg コマンドでコマンドプロンプトから「再生」できます。 [訳注:いまさらですが、Linux の仮想コンソールは Shift + PageUp or PageDown でスクロールできますので、dmesg を使わなくてもブート後に見ることが出来ます] これは Adaptec 2940 コントローラが 1 枚付けてあるマシンで、カーネル 2.0.10 が出したメッセージです。 aic7xxx: BurstLen = 8 DWDs, Latency Timer = 64 PCLKS aic7xxx: AHA-2940 Ultra Rev B. aic7xxx: devconfig = 0x580. aic7xxx: Reading SEEPROM...done. aic7xxx: Extended translation enabled. aic7xxx: Using 16 SCB's after checking for SCB memory. AHA-2940 Ultra (PCI-bus): irq 11 bus release time 40 bclks data fifo threshold 100% SCSI CHANNEL A: scsi id 7 scsi selection timeout 256 ms scsi bus reset at power-on enabled scsi bus parity enabled scsi bus termination (low byte) enabled aic7xxx: Downloading sequencer code...done. aic7xxx: Resetting the SCSI bus...done. scsi0 : Adaptec AHA274x/284x/294x (EISA/VLB/PCI-Fast SCSI) 3.2/3.1/3.0 scsi : 1 host. aic7xxx: Scanning channel A for devices. aic7xxx: Target 4, channel A, now synchronous at 10.0MHz, offset(0xf). Vendor: iomega Model: jaz 1GB Rev: G.60 Type: Direct-Access ANSI SCSI revision: 02 Detected scsi removable disk sda at scsi0, channel 0, id 4, lun 0 scsi : detected 1 SCSI disk total. SCSI device sda: hdwr sector= 512 bytes. Sectors= 2091050 [1021 MB] [1.0 GB] sda: Write Protect is off 上のログ中、生の SCSI デバイス名 (sda、sdb など)に注意して下さい。後で ディスクにアクセスするとき必要です。 この行が無い場合、ハードウエアかカーネルの設定が何か間違っています。 scsi0: という行が無い場合、ホストアダプタとドライバの設定ができてません。何 が悪いのか、ヒントを出してくれるドライバもあります。ドライブが検出されない 場合、ケーブルが悪いのかもしれません[訳注:ドライブ本体が悪い可能性も あるし、電源が入っていない可能性さえも]。ドライブ名が割り当てられない場合、 カーネルの構築時に SCSI ディスクサポートを入れ忘れたかも。 あとは drivers/scsi にある README ファイル群と SCSI HOWTO をチェックして 下さい。 4.2. Fdisk、mke2fs、mount などを行う Jaz のドライブ名が判ったら準備完了です。fdisk、mke2fs、mount といった、 Linux の標準的なディスク取り扱いコマンドが使えます。 各コマンドのマニュアルを参照して下さい。 4.2.1. DOS フォーマット済みのディスク 出荷時に Iomega がフォーマットしたディスクには、単一のパーティションが 切ってあります。(どういうわけか、第 4 パーティションです) このようなディスクは以下のコマンドでマウントできます。ここでは Jaz ディス クを sda と仮定しています。 mkdir /jaz mount -t msdos /dev/sda4 /jaz また、2.0 のカーネルを Win95 の VFAT をサポートするようにコンパイルした物を お使いなら、 mkdir /jaz mount -t vfat /dev/sda4 /jaz とします。 (これでロングファイルネームの読み書きができます。) ディスクに入っているファイルが /jaz の中にあらわれます。ディスクがマウント されているあいだ、イジェクトはできません。 ディスクのアンマウントには umount /dev/sda4 とします。 マウントポイント /jaz は、一度作ればよいものです。 (ドライブを umount するときは、自分が /jaz の中に居ないのも確認して ください。) 4.2.2. Linux のディスクとして再フォーマットする Jaz ディスクの中身を消去して、Linux 固有のファイルシステムを作りたい場合、 ディスク全体に fdisk をかけます: fdisk /dev/sda 既存のパーティションを d コマンドで削除し、n コマンドで新しいパーティション を作ります。基本 (primary) パーティションの1番を使って下さい。次に w コマ ンドでパーティションテーブルをディスクに書き込み、q で抜けて下さい。 パーティションのフォーマット mke2fs /dev/sda1 これでマウントできるようになりました(1 は fdisk で与えたパーティションの 番号です)。 mount -t ext2 /dev/sda1 /jaz (前に作ったマウントポイントを使っています。) 4.2.3. Jaz Tools ディスク Jaz ドライブ付属のディスクは出荷時にソフトウエアによるライトプロテクトを掛 けてあります。ですからこのディスクを使うには、もう一働きしてください。普通 は Linux で使ってみる前に DOS でアンロックするようです。Linux はロックされ たディスクにアクセスできませんから、Iomega のツールでロックを外しておかねば なりません。 5. jaztools Iomega の特殊機能(ソフトウエアからのイジェクト、ライトプロテクトなど)をサ ポートする Linux のプログラムが http://www.cnct.com/~bwillmot/jaztool/ にあります。 jaztool は間もなく GUI を使った新バージョンが出ます。新バージョンはドライブ のスキャンと、ディスクのオートマウント・オートアンマウントをサポートしてい ます。 6. よく聞かれる質問( FAQ ) 6.1. Jaz が回転停止したあと、システムがロックされてしまいますが? カーネル 1.2 や初期の 1.3 を使っている人々から、Jaz ディスクが回転停止する とシステムがロックされる、あるいは SCSI エラーメッセージが出るという報告が ありました。 私は 2.0.x を使っていますが、今まで問題が起きたことはありません。回転停止も 経験していません。何か問題があるなら、 http://sunsite.unc.edu/pub/Linux/kernel/v2.0/ から最新版の 2.0.x を取って きて、試してみて下さい。 [訳注:日本では ftp.tut.ac.jp:/Linux/Kernel/v2.0 あたりでしょうか。非常に 大きなファイル(パッチを含めると 6MB以上)なので、archie などしてネット ワーク的に近い所から取ってきましょう。] 6.2. Jaz ドライブからブートできますか? SCSI ホストアダプタによります。ホストアダプタにターゲット 5 か 6 からブート できる BIOS ROM が載っていれば、Jaz ドライブからブートできます。 6.3. Iomega はなぜ第 4 パーティションを使うのですか? わっかりっません。手がかりあります? 6.4. ブート時にマウントしておくには? /etc/fstab ファイルに一行加えるだけです。例えばあなたがいつも DOS のディス クを入れてブートするなら、fstab に /dev/sda4 /jaz msdos defaults 0 0 を加えます。配布パッケージによっては、初期化スクリプトが fstab に入れてある パーティションを fsck しようとするかもしれません。この場合、ブート時におか しなディスクが入っていたり、ディスクが入っていなかったりすると、問題が起き るかもしれません。ご注意を。 6.5. ブートの時、ディスクが入っていなかったらどうなるんでしょうか? カーネルはパーティションテーブルを読もうとしますが、(結局は)タイムアウト になります。 ディスクを交換するたびに fsck してパーティション構成をチェックするのも 良いでしょう。 SCSI ホストアダプタの BIOS には、ブート時にディスクのパーティションテーブル を読もうとする物があります。このチェックを外せない場合、いつもディスクを入 れたままブートせざるを得ないでしょう。 7. もっと新しい情報は この mini-HOWTO の最新版は: http://www.cnct.com/~bwillmot/jaztool/ Iomega の web ページは http://www.iomega.com/ にあります。