これまでのどの分類にも当てはまらないデバイスについてこの節でまとめます。
ドライバによって引数は異なりますが、どんなカードも少なくとも IRQ, I/O ポートの値、名前を持ちます。 引数の最も一般的な形は以下の通りです:
ether=irq,iobase[,param_1[,param_2,...param_8]]],name
数字でない最初の引数は名前として解釈されます。
param_n
の値は(指定可能ならば)普通はカードごとに異なる意味を
持ちます。普通は param_n
の値は、共有メモリアドレスやインタフェース
の選択、DMA チャネルなどの指定に使います。
この引数の最も一般的な使い方は、2 番目のイーサネットカードの強制検出で す。デフォルトの動作としては、最初のカードだけが検出されます。 これは例を用いて説明します:
ether=0,0,eth1
上の例のように IRQ と I/O ベースに 0 を指定すると、ドライバへの 自動検出の指示となる点に注意してください。
モジュールを使う際の重要点: ドライバを(カーネルに組み込むのではな
く)実行時ローダブルモジュールとして用いている場合には、上の指定では 2
番目のカードの強制検出は行われない点に注意してください。
ほとんどの Linux ディストリビューションは、裸同然のカーネルとたくさん
の選択可能なモジュールを組み合わせて使用しています。
ether=
が適用されるのは、ドライバがカーネルに組み込まれている時だ
けです。
Ethernet-HOWTO は、複数カードの使用方法や、param_n
値が使われる際
のカード/ドライバ固有の param_n
値の実装について完全かつ詳しい説
明を行っています。興味のある方は、この文書の個別のカードに関連する節を
見て、詳細な情報を調べてください。
Ethernet-HowTo
フロッピードライバのオプションはたくさんありますが、これらは全て
linux/drivers/block
にある README.fd
ファイルに列挙され
ています。そのファイルに書かれているオプションは、ここで列挙するには多
すぎます。そこで、あまり一般的でないハードウェアで Linux のインストー
ルを進めるために必要と思われるオプションだけをここに引用します。
floppy=0,daring
フロッピードライバに対し、フロッピーコントローラを注意深く扱うよう指示
します(きわどい動作を全て無効にします)。
floppy=thinkpad
マシンが Thinkpad であることをフロッピードライバに教えます。
Thankpad におけるディスク交換検出ラインの信号は、普通とは逆です。
floppy=nodma
データ転送に DMA を使わないことをフロッピードライバに指示します。これ
は HP Omnibooks で必要です。このマシンには、フロッピードライバに対して
動作する DMA チャネルがありません。このオプションは、
"Unable to allocate DMA memory(DMA メモリを割り当てられません)" という
メッセージが頻繁に出る際にも役立ちます。FIFO がない FDC(8272A や 82072)
を使っている場合には、`nodma' は使わないほうがいいでしょう。
82072A 以降は大丈夫です。FDC の型式は起動時に報告されます。また、nodma
オプションを使うには、少なくとも 486 が必要です。
floppy=nofifo
FIFO を完全に無効にします。このオプションは、フロッピーにアクセスして
いる際にイーサネットカード(あるいは他のデバイス)が
`Bus master arbitration error' というメッセージを出す場合に必要です。
floppy=broken_dcl
ディスク交換検出ライン(DCL)を使わず、デバイスノードが再オープンされた
時は必ずディスクが交換されたものとして動作します。ディスク交換検出ライン
に不具合があったり、未サポートである一部のマシンで必要です。これは間に
合わせの方法として捉えるべきであり、実際のところ、フロッピーの動作は不
必要なキャッシュのフラッシュのために効率が落ちたり、信頼性が多少落ちた
りします。DCL 回りの問題がある場合には、ケーブル接続やジャンパ設定を確
認してください。ただし、一部の古いドライブや、一部のラップトップには
DCL が無いことが知られています。
floppy=debug
デバッグ用の(追加の)メッセージを出力します。
floppy=messages
一部の操作に対して、情報メッセージを出力します(ディスク交換の通知や、
アンダーランについての警告、自動検出に関するメッセージ)。
サウンドドライバは起動時引数を受け取り、コンパイル時に決めた値を書き換 えることができます。ただしこれはお勧めできません。というのも、比較的複 雑ですし、これに関するカーネル内の文書が不可解にも消えてしまったからで す(一つの暗示)。サウンドはモジュールとして使うか、固有の設定をカーネル に組み込む方がよいでしょう。
それでも引数を使うことにしたのであれば、引数の処理は
linux/drivers/sound
の dev_table.c
ファイルで行われます。
これは以下の形式の起動時引数を受け付けます:
sound=device1[,device2[,device3...[,device11]]]
ここで、おのおのの deviceN
の値は 0xTaaald
という形式であり、
これに含まれるバイトデータは以下のように使われます:
D - 2 番目の DMA チャネル (使わないならば 0)
T - デバイス型: 1=FM, 2=SB, 3=PAS, 4=GUS, 5=MPU401, 6=SB16, 7=SB16-MPU401,...
26 番までのサウンドカードの種類の一覧は、linux/include/linux/soundcard.h
ファイルに書かれており(コマンドラインで使う際には 16 進値に戻すのを忘
れないでください)、27 から 999(新しいモデル)の一覧は
linux/drivers/sound/dev_table.h
にあります。
aaa - I/O アドレスの 16 進表現
I - 割り込み番号の16進表現 (つまり 10=a, 11=b, ...)
d - 最初の DMA チャネル
これは見れば分かるように多少込み入っているので、前に書いたようにモジュー ル化したドライバを使うか、個人の設定をカーネルに組み込むことを強く お勧めします。起動時引数として `sound=0' を指定するとサウンドドライバ は完全に無効になります。
バスマウスドライバは引数を一つだけ受け付けます。 受け付けるのは、使用するハードウェア IRQ の値です。
MS マウスドライバは引数を一つだけ受け付けます。 受け付けるのは、使用するハードウェア IRQ の値です。
この起動時引数を使うと、どのポートを使い、どのポートを使わないか をプリンタドライバに指示できます。 後者が便利なのは、プリンタドライバが全てのパラレルポートを押えてしまう のが嫌な場合です。これを使えば(PLIP, PPA のような)他のドライバ がポートを使用できます。
引数は、I/O と IRQ の組を複数個並べた形式です。例えば、
lp=0x3bc,0,0x378,7
は、ポート 0x3xbc
を IRQ なし(ポーリング)
モードで使い、0x378
を IRQ 7 で使うことを示します。0x278
に
あるポートは(たとえあっても)検出されません。なぜなら、自動検出が行われ
るのは lp=
引数自体がない場合だけだからです。プリンタドライバその
ものを無効にするには、lp=0
を使用します。