次のページ 前のページ 目次へ

4. フロッピーと他のブロックデバイス[Floppy and other block devices]

4.1 フロッピーディスクドライバ(floppy.o)[The Floppy Disk Driver]

フロッピードライバには多くのオプションがあり、それらはすべて、 linux/drivers/block 内の README.fd に書いてあり ま す。最新の詳細はこのファイルを直接参照して下さい。


Load command:
        /sbin/modprobe floppy.o 'floppy="<options>"'

        オプションは下記

mask,allowed_drive_mask - ドライブのアクセス許可のビットマ スクを mask にする。デフォルトでは、各フロッピーコントロー ラのユニット 0 と 1 が許可されている。一部の標準的でないハードウェ ア(ASUS PCI マザーボードなど)において、ユニット 2 や 3 へのアク セス時にキーボードがめちゃくちゃになってしまう場合に使う。このオ プションは cmos オプションによって廃れたかもしれません。

all_drives - すべてのドライブにアクセス許可を与えるようなビッ トマスクを設定する。フロッピーコントローラに複数のドライブが繋がっ ている場合に使用。

asus_pci - ユニット 0 と 1 にのみアクセス許可を与えるビット マスクを設定。(デフォルト)

daring - 良いフロッピーコントローラを使っている場合に指定す る。これによって、よりスムースで効果的なオペレーションが可能にな るが、有効でないコントローラも存在する。一部のオペレーションに関 してスピードアップも期待できる。

0,daring - フロッピーコントローラの使用に注意を要することを フロッピードライバに告知する。

one_fdc - フロッピーコントローラが 1 つである場合に指定す る。(デフォルト)

two_fdc もしくは address,two_fdc - フロッピーコン トローラが 2 つである場合に指定する。2 番目のフロッピーコントロー ラのアドレスは address で指定する。アドレスが 0x370 である か、cmos オプションを使用している場合は、address は必要ない。

thinkpad - Thinkpad の場合に指定する。Thinkpad の仕様では、 ディスク変更ラインが逆になっている。

0,thinkpad - Thinkpad ではない場合に指定する。

omnibook もしくは nodma - データ転送に DMA を使わ ないようにフロッピードライバに通知する。HP Omnibook はフロッピー ドライバ用に DMA チャンネルを確保していないため、これが必要。ま た、「Unable to allocate DMA memory」というメッセージが頻発する 場合にも有効。DMA でないバッファは仮想メモリ上にあってもかまわな いのに対して、DMA メモリは物理的に連続している必要があり、確保す るのが難しい。しかし、もし FIFO なしのフロッピーディスクコントロー ラ (8272A か 82072) があれば、DMA を使わないようにできる。87072A 以降は OK である。nodma を使用するには 486 以上でければならない。 nodma モードを使うなら、データ転送割り込みを制限するために、FIFO 閾値を 10 以下に設定するように勧める。

dma - DMA チャンネルが利用できる場合に指定する。(デフォルト)

nofifo - FIFO の利用を禁止する。フロッピーにアクセスする際 に、イーサネットや他のデバイスから「Bus baster arbitration error (バスマスタ競合エラー)」メッセージを受け取る場合に必要。

fifo - FIFO を使用可能にする。(デフォルト)

[threshold],fifo_depth - FIFO 閾値を設定する。これは DMA モー ドに深く関係する。高く設定すれば、フロッピードライバは割り込みの 遅延を許容しやすくなるが、割り込みの発生は増えることになる(すな わち、システムの他の部分により負荷をかける)。低く設定すれば、割 り込み遅延の許容量は減る(速いプロセッサにおいて有用)。閾値を低く すると、割り込みが減るという利点がある。

FIFO 閾値を調整するためには、「floppycontrol --messages」という コマンドを使って over/underrun メッセージをスイッチオンにしなけ ればならない。そのあとでフロッピーにアクセスしなさい。 「Over/Underrun - retrying」というメッセージを大量に受け取る場合、 FIFO 閾値は低すぎる。Over/Underrun がたまに出る程度に高い値に設 定する。この調整をする時には、フロッピードライバをモジュールとし てコンパイルしておくとよい。マシンをリブートせずに、いろいろな FIFO 閾値を試すことができる。モジュールを組み込む時には、 「floppycontrol -- messages」を毎回実行せねばならない。デフォル ト値 (0xa) は適度な値であるため、ふつうは FIFO 閾値を調整する必 要はない。

[drive],[type],cmos - drive の CMOS タイプを type に設定する。BIOS が通常の CMOS でない場合や、3 つ以上のフロッピー ドライブがある場合には必須(2 つだけならば物理 CMOS 上に書きこめ る)。CMOS タイプは以下のとおり。


          物理 CMOS の値を使用
                1 - 5 1/4 DD
                2 - 5 1/4 HD
                3 - 3 1/2 DD
                4 - 3 1/2 HD
                5 - 3 1/2 ED
                6 - 3 1/2 ED
               不明、もしくは無し

(注意:ED ドライブが 2 つある。5 はフロッピーを「テープ」と認識 するために使われ、6 は ED ドライブのために使われていた。AMI はこ れを無視し、5 を ED ドライブとして扱う。これが 2 つある理由であ る)

unexpected_interrupts - 予期できない割り込みが発生した場合 に、警告メッセージを出す。(デフォルト)

no_unexpected_interrupts もしくは L40SX - 予期で きない割り込みが発生してもメッセージを出さない。IBM L40SX ラップ トップで、あるビデオモードを使用している場合に必要。(ビデオとフ ロッピーの間に何らかの相関があるようだ。予期できない割り込みはパ フォーマンスにしか影響せず、無視しても大丈夫である)

4.2 ループバックデバイスサポート(loop.o)[Loopback block device support]

ファイルをファイルシステムのようにマウントできるようになります。 ISO9660 ファイルシステムを CD に焼き付ける前にチェックしたり、フロッピー に書き込まずにフロッピーイメージを使ったりしたい場合に便利です。

ファイルシステムを暗号化せずにマウントすることもできます。この機能を 使いたい場合は、最新の mount を使って、DES と IDEA のパッチを当てなけ ればなりません。これらは http://www.binary9.net/nicholas/linuxkernel/patches にありま す。注意:このループデバイスは、自分自身へのネットワークコネクションに 使われているループバックデバイスには何の影響も及ぼしません。


Load command:
        /sbin/modprobe loop.o

        モジュールパラメータなし

4.3 マルチプルデバイスドライバサポート(RAID)[Multiple devices driver support.]

このドライバは、複数のハードディスクパーティションを、ひとつの論理ブロッ クデバイスにまとめます。

md デバイスの管理に使えるツールは、 sweet-smoke.ufr-info-p7.ibp.fr/public/Linux/md035.tar.gz にあり ます。同じ場所に md-FAQ という文書も置いてあります。

RAID (Redundant Array of Inexpensive Disks もしくは Redundant Array of Independent Disks) には様々なレベ ルがあります。

Linux では、現時点で RAID-0 だけが利用可能です。リニアモードは RAID の 定義にはあてはまらないと考えられます。Raid Advisory Board によれば、デー タ冗長性がないという点で、RAID-0 も RAID の定義にあてはまらないと考え られています。

実装する価値があるのは、RAID-0、RAID-1、RAID-5、RAID-6 です。

リニア(追加)モードによるマルチプルデバイス(linear.o)[Multiple device in Linear (append) mode]

これを使用すれば、マルチプルデバイスドライバを、いわゆるリニアモードで利 用できます。ハードディスクパーティションを、単に他のパーティションに追加 する形でひとつにします。


Load command:
        /sbin/modprobe linear.o

        モジュールパラメータなし

RAID-0 (ストライプ)モードによるマルチプルデバイス(raid0.o)[Multiple device in RAID-0 (striped) mode]

これを利用すれば、マルチプルデバイスを、いわゆる RAID-0 モードで利用でき ます。チャンクを等しく分配するという形で、複数のハードディスクパーティショ ンをひとつの論理デバイスにまとめます。各パーティションが別のディスクにあ れば、スループットが向上します。


Load command:
        /sbin/modprobe raid0.o

        モジュールパラメータなし

4.4 RAM ディスクサポート(rd.o)[RAM disk support]

このオプションを使用すれば、RAM メモリの一部をブロックデバイスとして利 用できます。その上では、ファイルシステムを作成したり、読み書きしたり、 通常のブロックデバイス(ハードディスク等)でできる操作すべてができます。 ふつう、Linux を最初にインストールする際に、最小ルートファイルシステム をフロッピーから RAM ディスクに読み込んでコピーするために使われます。


Load command:
        /sbin/modprobe rd.o

        モジュールパラメータなし
        ブートタイムパラメータが有効。BootPromt-HOWTO を参照のこと。

4.5 XT ハードディスクサポート(xd.o)[XT harddisk support]

IBM XT コンピュータで使用されていた、非常に古い 8 ビットハードディスクコ ントローラです。IBM XT 上で Linux を動かすことができる以外に存在意義はあ りません。:)


Load command:
        /sbin/modprobe xd.o

        モジュールパラメータなし


次のページ 前のページ 目次へ