zipにつづき、230MB MOドライブをつないでみました。 デバイスドライバ的に認識されてしまえばあとはほとんど同じようです。 ただし、MO は Superfloppyフォーマットの場合が多いので注意。
$Id: solmo.html,v 1.13 2001-07-10 01:21:13+09 kabe Exp $
230MBドライブです。(640ではない) このMOドライブも御多分にもれず Solaris には正式には(たぶん)対応していません。
まず普通につないでみると、
probe-scsi
ではちゃんと認識しているのですが、
デバイスファイル (/dev/{,r}dsk/c0t4d0s*
) が
作られていません。
/devices/sbus@1f,0/espdma@e,8400000/esp@e,8800000/sd@4,0* は
作られているので、全く認識していないわけではない。
ありがたいことに、富士通からは 接続Howto が公開されており、これを参照すると
・MOのデバイスタイプモードをHDD(ダイレクトアクセス装置)に設定してください。
…どのジャンパだろ。
CNH2ジャンパブロックのどこかにあることは設定表からわかるのですが、 どのピンかまでは書いていない。 電話etcで聞くとゆーのが正攻法ですが、業務時間外だったので、 かたっぱしからジャンパを飛ばして試してみました。(危)
下 上 #SCSIID2 o o ? #SCSIID1 o o (Vcc?) #SCSIID0 o o (LED-K?) GND o o #EJECT (Lにするとエジェクトされる) ? o o #HDDMODE GND o o ? ? o o ? GND o o ? [CNH2]
何もしないと probe-scsi の出力は
Target 4 Unit 0 Removable Device type 7 FUJITSU M2512E 0050ですが、HDDモードでは
Target 4 Unit 0 Removable Disk FUJITSU M2512E 0050Diskと認識されていれば sd デバイスドライバが 面倒を見てくれるようになるようです。 HDDモードだからといって、DOSのように途中で抜き差しできない というわけではありません。
以前 Olympus の TURBO MO 640 をつないてみた時も 全く認識しなかったのですが、HDDモードでなかったせいかしらん
基本的にはZipの場合 と同じです。 format.datは書かなくても使えるみたいですが、 書いておいた方がいいでしょう。(下記参照)
複数のrmscsiドライブがつながっていると rmscsi番号がLinuxのHDDのごとく不定になるので (/dev/をソートした順につく;vold.conf(4) )、 以下のようにvold.confに書き込んでalias名を固定しておくのもいいかも。
use rmscsi drive /dev/rdsk/c0t5d0s2 dev_rmscsi.so zip0 use rmscsi drive /dev/rdsk/c0t4d0s2 dev_rmscsi.so mo0 use rmscsi drive /dev/rdsk/c*s2 dev_rmscsi.so rmscsi%dこれで Zip は /rmscsi/zip0, MOは /rmscsi/mo0 を使うようになります。 なにがいいかって、"eject zip" "eject mo" みたいなコマンドが 書けるようになるんですね。 将来SCSI ID 4,5 以外にリムーバブルデバイスをつないだ場合は 従来通り rmscsi2 といった番号がつきます。
次に /etc/rmmount.conf をいじって、 rmscsiはpcfsではマウントしない ようにしておきます。 マウントされた所で当面は使えんので。
ident pcfs ident_pcfs.so floppy rmscsi pcmem ↓ ident pcfs ident_pcfs.so floppy pcmemZipは FDISK フォーマットが標準なのであまり問題にならんようですが、 MO は superfloppy形式が多いので対策しておいた方がいいでしょう。 いちいち volrmmount -e する手間が省けます。
フォーマット自体はroot権限は不要です。
Zip100では format.datを書いておく必要がありましたが、 230MB MO は容量がでかいせいか format.datがなくても formatコマンドでの自動パーティション生成が 使えます。
% format /vol/dev/aliases/mo0 format> partition partition> print Current partition table (default): Total disk cylinders available: 869 + 2 (reserved cylinders) Part Tag Flag Cylinders Size Blocks 0 root wm 0 - 63 16.00MB (64/0/0) 32768 1 swap wu 64 - 191 32.00MB (128/0/0) 65536 2 backup wu 0 - 868 217.25MB (869/0/0) 444928 3 unassigned wm 0 0 (0/0/0) 0 4 unassigned wm 0 0 (0/0/0) 0 5 unassigned wm 0 0 (0/0/0) 0 6 usr wm 192 - 868 169.25MB (677/0/0) 346624 7 unassigned wm 0 0 (0/0/0) 0
もっとも、これをそのまま使うと、次回マウント時に /vol/dev/aliases/mo0/{s0,s1,s2,s6} というように各パーティションに バラされてしまいます。 2番パーティション以外を全部潰しておけば、mo0直下でアクセスできます。
Current partition table (unnamed): Total disk cylinders available: 869 + 2 (reserved cylinders) Part Tag Flag Cylinders Size Blocks 0 root wm 0 - 868 217.25MB (868/0/0) 444928 1 unassigned wu 0 0 (0/0/0) 0 2 backup wu 0 - 868 217.25MB (869/0/0) 444928 3 unassigned wm 0 0 (0/0/0) 0 4 unassigned wm 0 0 (0/0/0) 0 5 unassigned wm 0 0 (0/0/0) 0 6 unassigned wm 0 0 (0/0/0) 0 7 unassigned wm 0 0 (0/0/0) 0(0番は2と全く同じ、でもいいらしい。Zipはそうなっている)
当然、新しいメディアをフォーマットする度にいちいち format→partition→全部潰す…は めんどくさいので、 format.dat は書いておくべきでしょう。 以下を format.dat に書き加えます。 (使う際は総ブロック数が444928以上あるかどうか 確かめて下さい…大丈夫だと思いますけど)
# # 230MB Magneto-Optical (MO) disk; total 446325 blocks # disk_type = "Magneto-Optical 230M" \ : ctlr = SCSI \ : ncyl = 869 : acyl = 2 : pcyl = 871 : nhead = 8 \ : nsect = 64 : rpm = 4300 : bpt = 32768 partition = "MO230M whole" \ : disk = "Magneto-Optical 230M" : ctlr = SCSI \ : 0 = 0,444928 \ : 2 = 0,444928(nhead=8はヘンだよな…気分的に)
formatでパーティションを確定したら ufs をこしらえます。
% newfs /vol/dev/aliases/mo0 (特に何も考えない) % newfs -m 3 -c 64 -i 16384 /vol/dev/aliases/mo0 (多少容量アップ)書き込む時のシーク音を聞いていると、シリンダグループは 少なめにとったほうがディスクにやさしそうです。
標準の fdformat(1) はフロッピーしか扱えないので、 mtools の mformat を使います。 以下のパラメーターを mtools.conf に書き加えておきます。
drive M: file="/vol/dev/aliases/mo0" scsi=1 privileged=0 nodelay \ mformat_only cylinders=869 heads=8 sectors=64
上のパラメータは format.dat に準拠して書いてあります。 Win95 でフォーマットすると cylinders=216 heads=64 sectors=32 相当 になるようです。 メいっぱい使いたいような場合は cylinders=541 heads=15 sectors=55 なんてのも一興。
mtools.confが落ち着いたら mformat m: でフォーマットします。
partition句がないので、superfloppy形式となります。 mformatは partition= がなくても FDISKパーティションテーブルを 偽造してくれるみたいなので、NT でも読めるかもしれません。 (試してないのでエラソーなことが言えない)
(以前のファイルシステム) ufs,pcfsとも、フォーマットした後でも以前のファイルシステムが 中途半端に残ってしまうことがあり、 次回挿入時にマウントされなかったり変なディレクトリが作られたり 違ったファイルシステムでマウントされたりするので、 フォーマット時は以下のように前もってブートレコード等を 書き潰しておいた方が良いようです。
% cp /kernel/genunix /vol/dev/aliases/mo0 % eject mo0 (再度挿入してフォーマット)さらにきれいさっぱりしたい人は format コマンドや
% dd if=/dev/zero of=/vol/dev/aliases/mo0 bs=512kなんてのもありますが、ディスクの健康にいいのかは不明。
(superfloppy形式とvold) superfloppy形式でフォーマットすると、デフォルトでは再挿入時に vold が pcfsとしてマウントしてしまいます。 何が問題かというと pcfs モジュールは何もしないと FAT12 だと思い込むので、 まずFAT16であるMOはまともに読めず、書くと中身を破壊します。 よって、アクセスは基本的に mtools からのみ行なうべし。このためには
(ちょっと変なことをすればvold+pcfsマウントも可能)
Linuxなんかはソースがある強みで FAT32 なんかもマウントできるように なってますが、Solarisでは mtools で我慢。 使い勝手は ufs の方が上です。 Samba等で共有すれば Windows からも一応使える。
Zipの方の俺FAQ (ufs,mtools) を参照。ほとんど同じです。
追加分:
場合によっては formatコマンドの formatを使って 全セクタフォーマット(普通はやらない)をかけると復活する場合があります。
物理フォーマットレベルでおかしくなると、認識しなくなる 場合があります。コンソールにもそれなりのメッセージが出てきます。 (メモるのを忘れたので…) おそらく Win95 などに突っ込んでも 認識しなくなっていると思います。