OSDN Git Service

(split) LDP: draft snapshot generated from latest pthread/ja.po files.
[linuxjm/LDP_man-pages.git] / release / man7 / bootparam.7
1 .\" Copyright (c) 1995,1997 Paul Gortmaker and Andries Brouwer
2 .\"
3 .\" This is free documentation; you can redistribute it and/or
4 .\" modify it under the terms of the GNU General Public License as
5 .\" published by the Free Software Foundation; either version 2 of
6 .\" the License, or (at your option) any later version.
7 .\"
8 .\" The GNU General Public License's references to "object code"
9 .\" and "executables" are to be interpreted as the output of any
10 .\" document formatting or typesetting system, including
11 .\" intermediate and printed output.
12 .\"
13 .\" This manual is distributed in the hope that it will be useful,
14 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
15 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16 .\" GNU General Public License for more details.
17 .\"
18 .\" You should have received a copy of the GNU General Public
19 .\" License along with this manual; if not, write to the Free
20 .\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
21 .\" USA.
22 .\"
23 .\" This man page written 950814 by aeb, based on Paul Gortmaker's HOWTO
24 .\" (dated v1.0.1, 15/08/95).
25 .\" Major update, aeb, 970114.
26 .\" FIXME ? The use of quotes on this page is inconsistent with the
27 .\" rest of man-pages.
28 .\"
29 .\" Japanese Version Copyright (c) 1999 MATSUURA Masaaki
30 .\"         all rights reserved.
31 .\" Translated 1999-02-04, MATSUURA Masaaki <masa386@yk.rim.or.jp>
32 .\" Modified 2001-07-08, Yuichi SATO <ysato@h4.dion.ne.jp>
33 .\" Updated & Modified  2001-09-10, NAKANO Takeo <nakano@apm.seikei.ac.jp>
34 .\" Updated 2002-04-21, NAKANO Takeo <nakano@apm.seikei.ac.jp>
35 .\" Updated 2007-05-04, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.46
36 .\"
37 .TH BOOTPARAM 7 2007-12-16 "Linux" "Linux Programmer's Manual"
38 .SH 名前
39 bootparam \- Linux カーネル起動時パラメータの解説
40 .SH 説明
41 Linux カーネルは起動するときに「コマンドラインオプション」あるいは
42 「起動時パラメータ」を受け付ける。
43 これは一般に、
44 カーネルには決定できないハードウェアのパラメータをカーネルに渡したい場合や、
45 カーネルが検出するであろう値を意図的に無効にしたり変更したりする場合に用いる。
46
47 カーネルが BIOS から直接起動されるとき
48 (たとえば 'cp zImage /dev/fd0'
49 でフロッピーにコピーしたカーネルから起動するなど) は、
50 パラメータを指定する機会はない。
51 ゆえに、この起動時パラメータ機能を利用するためには、
52 .I LILO
53
54 .I loadlin
55 のようにパラメータを指定できるソフトウェアを使用しなければならない。
56 いくつかのパラメータについては、
57 .I rdev
58 を使ってカーネルイメージそのものを修正することもできる。
59 詳細は
60 .BR rdev (8)
61 を参照のこと。
62
63 Werner Almesberger による
64 LILO (LInux LOader) プログラムは最も広く使用されている。
65 LILO はいろいろなカーネルを選択してブートさせることができ、
66 設定情報をテキストファイルに保持する
67 .RB ( lilo (8)
68
69 .BR lilo.conf (5)
70 を参照)。 LILO は DOS, OS/2, Linux, FreeBSD などを起動でき、
71 非常に柔軟である。
72
73 ほかには
74 .I loadLin
75 もよく使われている Linux ローダである。
76 これは DOS のプログラムで、DOS プロンプトから
77 (起動時引数とともに) Linux カーネルを起動できる
78 (いくつかの特定のリソースが利用可能でなければならない)。
79 loadlin は DOS から Linux を起動させたい人にあっている。
80
81 また loadlin は、DOS のドライバである状態に
82 設定しなければならないハードウェアを
83 使っている場合にも非常に便利である。
84 よくある例は
85 「SoundBlaster 互換」のサウンドカードで、
86 これらの中には DOS のドライバを使って
87 いくつか秘密のレジスタをいじってやらないと、
88 本当の SB 互換モードにはならないようなものがある。
89 まずハードウェアについてきたドライバを組み込んで DOS を起動し、
90 その後 loadlin を使用して Linux カーネルを読み込めば、
91 リブートによってカードの設定がリセットされるのを防げるわけだ。
92 .SS 引数リスト
93 カーネルのコマンドラインはスペースで区切られた文字列
94 .RI ( "起動時引数: boot arguments" )
95 のリストから成っている。ほとんどの起動時引数は次の書式に従う。
96 .IP
97 name[=value_1][,value_2]...[,value_10]
98 .LP
99 ここで 'name' は、それに対応する値がカーネルのどの部分に渡されるものなのかを
100 識別するための、他と重ならないキーワードである。
101 書式中の 10 という制限は実際に存在する。
102 現在のコードは、キーワードひとつあたり、コンマで区切られたパラメータを
103 10 個までしか取り扱うことができない。
104 (しかし、事情が非常に複雑な場合には、同じキーワードを再度利用して
105 10 個以上のパラメータを与えることができるかもしれない。
106 対象となるハードウェアの設定関数がそれをサポートしていれば、だが。)
107
108 カーネルコマンドラインの扱いはほとんど linux/init/main.c が行なっている。
109 初めに、カーネルは
110 \&'root=', 'nfsroot=', 'nfsaddrs=', 'ro', 'rw', 'debug', 'init'
111 といった特別な引数があるかをチェックする。
112 これらの意味については後述する。
113
114 カーネルは次に設定関数のリスト
115 (配列 bootsetups に含まれている) をスキャンし、
116 指定された引数文字列 (例えば 'foo') が
117 特定のデバイスやカーネルの一部に対する設定関数
118 ('foo_setup()') に関連付けられているかを調べる。
119 例えばカーネルに foo=3,4,5,6 のようなパラメータを与えたとすると、
120 カーネルは配列 bootsetups を調べて、 'foo' が登録されているか調べる。
121 登録されていたら、'foo' に対応する設定関数 ('foo_setup()') をコールし、
122 カーネルコマンドラインに与えられた引数である 3, 4, 5, 6 を設定関数に渡す。
123
124 \&'foo=bar' という形式の引数のうち、
125 上記のように設定関数に受け入れられなかったものは、
126 環境変数と解釈されて設定される。
127 (あまり役に立たない?) 例としては、'TERM=VT100' がある。
128
129 カーネルによって処理されず、環境変数としても解釈されなかった
130 残りの引数は、プロセス 1 に渡されることになる。
131 通常このプロセス 1 は
132 .I init
133 プログラムである。
134 プロセス 1 に渡される引数で最も良く使われるのは、
135 \&'single' というキーワードである。
136 これを指定すると init はシングルユーザモードでコンピュータを起動し、
137 通常使われるデーモンは一切起動しない。
138 システムにインストールされている init が
139 どんな引数を受け付けるかは、
140 マニュアルページで調べること。
141 .SS 一般的な、デバイス固有ではない起動時引き数
142 .TP
143 .B "'init=...'"
144 カーネルが実行する初期コマンドを設定する。
145 この指定がなされなかったり、指定したコマンドが見つからなかった場合には、
146 カーネルは
147 .IR /sbin/init ,
148 .IR /etc/init ,
149 .IR /bin/init ,
150 .I /bin/sh
151 の順で実行を試み、すべてに失敗したら panic を起こす。
152 .TP
153 .B "'nfsaddrs=...'"
154 nfs のブートアドレスを指定した文字列に設定する。
155 このブートアドレスはネットワークブートの場合に用いられる。
156 .TP
157 .B "'nfsroot=...'"
158 nfs ルートの名前を設定する。
159 この文字列の先頭が '/'、','、数字のいずれでもでないときは、
160 \&'/tftpboot/' が先頭に付加される。
161 この名前はネットワークブートの場合に用いられる。
162 .TP
163 .B  "'no387'"
164 (カーネルのコンパイル時に
165 .B CONFIG_BUGi386
166 が指定されたときのみ有効。)
167 一部の i387 コプロセッサチップには、
168 32 ビットプロテクトモードでの使用時に生じるバグがある。
169 例えば初期の ULSI-387 チップは、
170 浮動小数点演算を行なうと確実にロックアップしてしまう。
171 この起動時引数 'no387' を指定すると、
172 Linux はコプロセッサがあってもそれを無視するようになる。
173 なおもちろん、カーネルコンパイル時に浮動小数点演算をエミュレートする
174 (kernel math emulation) 指定をしなければならない!
175 .TP
176 .B "'no-hlt'"
177 (カーネルのコンパイル時に
178 .B CONFIG_BUGi386
179 が指定されたときのみ有効。)
180 初期の i486DX-100 チップの一部では 'hlt' 命令に問題があって、
181 この命令を使うとオペレーティングモードに正しく戻って来ない。
182 \&'no-hlt' を指定すれば、Linux はアイドリング時に CPU を停止
183 (halt) するかわりに無限ループを実行するようになる。
184 これによって、そのようなバグのあるチップでも Linux を使用できる。
185 .TP
186 .B "'root=...'"
187 起動時にルートファイルシステムとして使われるデバイスをカーネルに指定する。
188 デフォルトはコンパイル時に決定され、
189 通常はカーネルを構築したシステムのルートデバイスになる。
190 この値を無効にして、
191 例えば 2 番目のフロッピーディスクドライブをルートデバイスに指定する場合は、
192 \&'root=/dev/fd1' とする。
193 (ルートデバイスは
194 .BR rdev (8)
195 を用いても設定できる。)
196
197 ルートデバイスの指定にはシンボル形式と数値形式を用いることができる。
198 シンボル形式の場合は /dev/XXYN という書式で指定する。
199 XX にはデバイスタイプを指定する。
200 Y にはドライブレターもしくはドライブ番号、
201 N には (フロッピーディスクを除く) ディスクの
202 パーティション番号を 10 進数の数値で指定する。
203 (ST-506 互換ハードディスクではデバイスタイプが 'hd' で
204 Y の範囲は 'a' から 'd'、
205 SCSI ディスクは 'sd' で Y は 'a' から 'e'、
206 Atari ACSI ディスクは 'ad' で Y は 'a' から 'e'、
207 Syquest EZ135 パラレルポートリムーバブルディスクは 'ez' で Y は 'a' のみ、
208 XT ディスクは 'xt' で Y は 'a' か 'b'、
209 フロッピーディスクは 'fd' で Y にはドライブ番号を指定する。
210 fd0 は DOS の 'A:'、fd1 は 'B:' に対応している。
211 パーティションは存在しないので N は指定しない。)
212 最新のカーネルでは、他にも次のような多くのデバイスタイプを指定できる
213 (ほとんどは CD-ROM だが):
214 nfs, ram, scd, mcd, cdu535, aztcd, cm206cd, gscd, sbpcd, sonycd, bpcd。
215 (nfs はネットワークブートに、ram は RAM ディスクを使用する場合に用いる。)
216
217 なお、これらはファイルシステム上でのデバイスの指定方法とは全く関係ない。
218 \&'/dev/' を用いるのは単に慣習に過ぎない。
219
220 扱いにくいし移植性も良くないが、
221 上記のデバイスを major/minor 番号の数値で指定してもよい。
222 (例えば /dev/sda3 は major 番号 8、minor 番号 3 なので、
223 \&'root=0x803' と記述できる。)
224 .TP
225 .B "'ro' と 'rw'"
226 \&'ro' オプションは、ルートファイルシステムを
227 「読み出し専用」でマウントするようカーネルに指示し、
228 fsck プログラムがファイルシステムの矛盾を検査できるようにする。
229 ファイルシステムが「読み書き可能」として再マウントされる
230 (つまり 'mount \-w \-n \-o remount /') までの間は、
231 いかなるプロセスもこのファイルシステム上のファイルに書き込むことはできない。
232 .RB ( mount (8)
233 も参照せよ。)
234
235 rw オプションはルートファイルシステムを
236 「読み書き可能」でマウントするようカーネルに指示する。
237 こちらがデフォルトである。
238
239 省略時の指定を「読み出し専用」と
240 「読み書き可能」とのどちらにするかは、
241 .BR rdev (8)
242 によっても設定できる。
243 .TP
244 .B "'reserve=...'"
245 デバイスの自動検出から I/O ポートを保護するために用いる。
246 コマンドの形式は以下の通り。
247 .IP
248 .BI reserve= iobase,extent[,iobase,extent]...
249 .sp
250 機種によっては、
251 デバイスドライバによるデバイスの自動検出を、
252 特定の範囲に対しては禁止しなければならないことがある。
253 ハードウェアが検出動作によって深刻な問題を引き起こす場合や、
254 誤認識される可能性がある場合、
255 また単にカーネルにハードウェアを初期化させたくない場合などがありうるだろう。
256
257 この起動時引数 reserve は、自動検出の対象外とする I/O ポートの範囲を指定する。
258 デバイスドライバは、
259 他の起動時引数によって明示的に指定されない限り、
260 予約された範囲に対して自動検出動作を行わない。
261
262 例えばブート時のコマンドラインに
263 .IP
264 reserve=0x300,32  blah=0x300
265 .IP
266 と指定すると、'blah' を除くすべてのデバイスドライバは
267 0x300 から 0x31f の範囲を自動検出の対象外とする。
268 .TP
269 .B "'mem=...'"
270 搭載されているメモリの量を返す BIOS コールは
271 PC の仕様で定義されているが、これは最大 64MB までしか返すことができない。
272 Linux は搭載メモリの量を調べるために、
273 起動時にこの BIOS コールを使用する。
274 もし 64MB 以上の RAM を搭載している場合は、
275 この起動時引数を用いて
276 実際のメモリ容量を Linux に知らせることができる。
277 値は 10 進数または 16 進数 (先頭に 0x を付加) の数値で指定し、
278 1024 倍を表す 'k' または 1048576 倍を表す 'M'
279 を末尾に付加できる。
280 以下は Linus による 'mem=' パラメータの解説である。
281
282 .in +0.5i
283 カーネルは 'mem=xx' パラメータとして
284 どんな値を指定してもそれをそのまま受け入れる。
285 だからそれが嘘だとわかったら、
286 遅かれ早かれひどいクラッシュをするだろう。
287 パラメータはアクセスしうる最も高位の RAM アドレスを指示する。
288 だから例えば 'mem=0x1000000' っていうのは
289 16MB のメモリがある、という意味になる。
290 96MB のマシンなら 'mem=0x6000000' だ。
291
292 .BR "注意" :
293 マシンによってはメモリの最上位の領域を BIOS のキャッシュやら何やらの
294 ために使っていることがあるから、
295 実際には 96MB をフルにアドレスすることはできないかもしれない。
296 逆の場合もある。
297 いくつかのチップセットでは、
298 BIOS 領域に入っている物理メモリを最上位のメモリのさらに上にマップする。
299 よって最上位のメモリはたとえば 96MB + 384kB なんて値になるかもしれない。
300 linux に実際より多いメモリを教えてしまったとしたら、
301 まずいことが起きるだろう。
302 すぐにではないかもしれないけど、ゆくゆくは確実にね。
303 .in
304
305 また、起動時引数に 'mem=nopentium' を指定すると、
306 pentium とそれ以降の CPU を使った IA32 システム用に設定されたカーネルで
307 4MB のページテーブルを無効にすることができる。
308 .TP
309 .B "'panic=N'"
310 デフォルトでは、カーネルはパニックの後リブートしない。
311 このオプションを用いて (N を 0 より大きな値とすれば)
312 N 秒後にリブートするようになる。
313 この値は、起動後に "echo N > /proc/sys/kernel/panic"
314 として設定することもできる。
315 .TP
316 .B "'reboot=[warm|cold][,[bios|hard]]'"
317 (カーネルコンパイル時に
318 .B CONFIG_BUGi386
319 が指定されたときのみ有効。)
320 カーネルバージョン 2.0.22 から、
321 リブートのデフォルトはコールドブートになった。
322 以前のデフォルトであるウォームブートをするには
323 \&'reboot=warm' と指定しなければならない。
324 (ある種のハードウェアをリセットするにはコールドブートが必要になるが、
325 ディスクキャッシュにある書き込んでいないデータは破壊される。
326 ウォームブートでは、より素早くリブートできる。)
327 デフォルトではリブートは 'hard' で行われる。
328 すなわちリセットラインに low を出力するようキーボードコントローラに要求して、
329 リブートを行う。
330 しかし一部のマザーボードではこれができない。
331 \&'reboot=bios' オプションを指定すると、
332 代わりに BIOS を経由するようになる。
333 .TP
334 .B "'nosmp'" と "'maxcpus=N'"
335 (カーネルのコンパイル時に __SMP__ が指定されたときのみ有効。)
336 コマンドラインオプションに 'nosmp' または 'maxcpus=0' を指定すると、
337 SMP (Symmetric Multi Processing) を完全に無効にする。
338 \&'maxcpus=N' オプションは、
339 SMP モードで有効にする CPU の最大数を N に制限する。
340 .SS カーネル開発者用の起動時引数
341 .TP
342 .B "'debug'"
343 カーネルが出力するメッセージはカーネルログデーモン klogd に渡され、
344 ディスクに記録できるようになる。
345 プライオリティが
346 .I console_loglevel
347 のメッセージはコンソールにも表示される。
348 (これらのレベルについては、\fI<linux/kernel.h>\fP を参照。)
349 デフォルトではこの変数は、
350 デバッグメッセージよりも重要なあらゆるメッセージを記録するよう設定されている
351 (デバッグメッセージは含まない)。
352 この起動時引数を指定すると、
353 カーネルはプライオリティが DEBUG のメッセージも出力するようになる。
354 .I console_loglevel
355 も klogd にオプションを渡せば実行時に設定できる。
356 .BR klogd (8)
357 を見よ。
358 .TP
359 .B "'profile=N'"
360 カーネルがどこで CPU サイクルを消費しているか調べたい場合には、
361 カーネルのプロファイリング機能を有効にすればこれを実現できる。
362 カーネルプロファイリングは、変数
363 .I prof_shift
364 を 0 以外の値にセットすると有効になる。
365 この値はコンパイル時に
366 .B CONFIG_PROFILE
367 で指定するか、
368 この 'prifile=N' オプションで指定できる。
369 .I prof_shift
370 の値は N が指定されれば N となり、N が指定されなかった場合は
371 .B CONFIG_PROFILE_SHIFT
372 の値が用いられる。
373 どちらも指定されなければデフォルト値の 2 が用いられる。
374 この変数が重要なのは、
375 カーネルプロファイリングの粒度を決定するところにある。
376 すなわち、各クロックの割込みごとに、システムがカーネルコードを実行していれば、
377 以下のようにカウンタの値がインクリメントされる。
378 .IP
379 profile[address >> prof_shift]++;
380 .sp
381 生のプロファイリング情報は、
382 .I /proc/profile
383 から見ることができるが、readprofile.c
384 のような情報を加工するツールを使ったほうが良いだろう。
385 .I /proc/profile
386 に任意のデータを書込むと、
387 カウンタはリセットされる。
388 .TP
389 .B "'swap=N1,N2,N3,N4,N5,N6,N7,N8'"
390 カーネルのスワップアルゴリズムをコントロールする
391 次の 8 つのパラメータをセットする。
392 max_page_age, page_advance,
393 page_decline, page_initial_age, age_cluster_fract,
394 age_cluster_min, pageout_weight, bufferout_weight.
395 これはカーネルをチューンする人のためのオプションである。
396 .TP
397 .B "'buff=N1,N2,N3,N4,N5,N6'"
398 カーネルのバッファメモリ管理をコントロールする
399 次の 6 つのパラメータをセットする。
400 max_buff_age, buff_advance,
401 buff_decline, buff_initial_age, bufferout_weight,
402 buffermem_grace.
403 これはカーネルをチューンする人のためのオプションである。
404 .SS "RAM ディスク関連の起動時引数"
405 (カーネルのコンパイル時に
406 .B CONFIG_BLK_DEV_RAM
407 オプションが指定されたときのみ有効。)
408 一般的には、Linux で RAM ディスクを使用するのはあまり良い考えではない。
409 システムに任せておけばもっと効率的にメモリを使用する。
410 しかしブート時 (またはブートフロッピーの作成中) には、
411 フロッピーの内容を RAM ディスクにロードすると便利かもしれない。
412 メインディスクがアクセス可能になる前に、
413 (ファイルシステムやハードウェアに関する)
414 モジュールをいくつかロードしなければならないシステムもあるだろう。
415
416 Linux のバージョン 1.3.48 において、
417 RAM ディスクの取り扱いが根底から変化した。
418 それ以前までは、メモリは静的に割り当てられ、
419 \&'ramdisk=N' パラメータでそのサイズを指定していた。
420 (この値はカーネルのコンパイル時や
421 .BR rdev (8)
422 によっても変更できた。)
423 現在は RAM ディスクはバッファキャッシュを使用しており、
424 動的に成長する。
425 さらに多くの情報 (たとえば
426 .BR rdev (8)
427 が新しい RAM ディスクの設定とどのように関係するか) については、
428 .I /usr/src/linux/Documentation/ramdisk.txt
429 を参照。
430
431 4 つのパラメータがある。論理値をとるものが 2 つ、整数値をとるものが 2 つ。
432 .TP
433 .B "'load_ramdisk=N'"
434 N=1 なら RAM ディスクをロードする。N=0 ならロードしない (デフォルト)。
435 .TP
436 .B "'prompt_ramdisk=N'"
437 N=1 ならフロッピー挿入を促すプロンプトを出す (デフォルト)。
438 N=0 ならプロンプトを出さない。
439 (従って、このパラメータを指定する必要はまず無いであろう。)
440 .TP
441 .BR 'ramdisk_size=N' " もしくは (古い形式の) " 'ramdisk=N'
442 ラムディスクの最大サイズを N kB (キロバイト) にセットする。
443 省略時は 4096 (4 MB)。
444 .TP
445 .B "'ramdisk_start=N'"
446 開始ブロック番号
447 (フロッピー先頭からのオフセットで指定した RAM ディスクの開始点)
448 を N にセットする。
449 これはカーネルイメージのあとに RAM ディスクイメージを置く場合に必要となる。
450 .TP
451 .B "'noinitrd'"
452 (カーネルのコンパイル時に
453 .B CONFIG_BLK_DEV_RAM
454
455 .B CONFIG_BLK_DEV_INITRD
456 が指定されているときのみ有効。)
457 最近は initrd を使用するようにカーネルをコンパイルできる。
458 このオプションが指定されると、
459 ブートプロセスはカーネルと RAM ディスクをロードし、
460 カーネルは initrd を「普通の」 RAM ディスクに変換し、
461 この RAM ディスクがルートデバイスとして「読み書き可能」でマウントされる。
462 次に /linuxrc が実行される。
463 その後「真の」ルートファイルシステムがマウントされ、
464 initrd ファイルシステムは /initrd に移される。
465 最後に通常のブートシーケンス (具体的には /sbin/init の呼び出し) が実行される。
466
467 initrd に関する詳細な解説は
468 .I /usr/src/linux/Documentation/initrd.txt
469 を参照。
470
471 \&'noinitrd' オプションを用いると、
472 カーネルは (initrd 動作を行うようにコンパイルされている場合でも)
473 上記の動作を行なわず、代わりに initrd のデータを
474 .I /dev/initrd
475 に残す。
476 (このデバイスは一度しか使えない。
477 データは、そのデータを使った最後のプロセスが
478 .I /dev/initrd
479 をクローズするとすぐに解放される。)
480 .SS "SCSI デバイス用の起動時引数"
481 この節における用語:
482
483 .I iobase
484 -- SCSI ホストアダプタが占有する I/O ポートの先頭アドレス。
485 16 進表記で指定し、通常 0x200 から 0x3ff の範囲に位置する。
486
487 .I irq
488 -- カードが利用するハードウェア割り込み。有効な値はカードに
489 よって異なるが、通常は 5, 7, 9, 10, 11, 12, 15 である。
490 これ以外の値は通常、IDE ハードディスク、フロッピー、
491 シリアルポートといった一般的な周辺機器によって使用される。
492
493 .I scsi-id
494 -- SCSI バス上のホストアダプタが自分自身を識別するために使用する ID 番号。
495 この値を変更できるホストアダプタもごく希に存在するが、
496 ほとんどはアダプタ内部で固定されている。
497 よく使われるデフォルト値は 7 であるが、Seagate もしくは
498 Future Domain 製の TMC-950 ボードでは 6 が使われる。
499
500 .I parity
501 -- SCSI ホストアダプタが取り付けられたデバイスとの通信に際して
502 パリティ値を必要とするかどうか。
503 1 を指定するとパリティチェックが有効になり、
504 0 でパリティチェックが無効になる。
505 しかし、すべてのデバイスがこの起動時引数によるパリティの選択を
506 サポートするわけではない。
507 .TP
508 .B "'max_scsi_luns=...'"
509 SCSI デバイスは複数の「サブデバイス」を自分自身の内部に持つことができる。
510 最もよくある例として、一時に 1 枚以上のディスクを扱うことができる
511 (チェンジャー機能付の) SCSI CD-ROM がある。
512 それぞれの CD はそのデバイスの
513 「論理ユニット番号 (LUN)」によって特定される。
514 しかしほとんどのデバイス (例えばハードディスクやテープドライブ) は、
515 LUN 番号 0 が割り当てられた、ただひとつのデバイスからなる。
516
517 設計が不十分な SCSI デバイスでは 0 以外の LUN 番号への自動検出を
518 扱えないことがある。
519 したがって、コンパイル時に
520 .B CONFIG_SCSI_MULTI_LUN
521 オプションが指定されていないと、
522 最近のカーネルではデフォルトでは LUN 番号 0 のみを検出する。
523
524 起動時に調べる LUN 番号を指定する場合、起動時引数として
525 \&'max_scsi_luns=n' を指定する。n は 1 から 8 の間で指定する。
526 n=1 以上の値を使用しないようにすれば、
527 このようないかれた機械にひどい目にあわされずにすむだろう。
528 .TP
529 .B SCSI テープドライブの設定
530 SCSI テープドライバの起動時設定の一部は以下のようにして行なうことができる。
531 .IP
532 .BI st= buf_size[,write_threshold[,max_bufs]]
533 .sp
534 最初の 2 つの数字は kB 単位で指定する。
535 .I buf_size
536 のデフォルトは 32kB である。上限は 16384kB まで指定できる。
537 .I write_threshold
538 はデータ書き出しの閾値で、
539 バッファのデータのサイズがこの値を越えるとデータはテープに書き出される。
540 デフォルト値は 30kB である。
541 バッファ数の最大値
542 .RI ( max_bufs )
543 は検出されたドライブの数によって変化するが、デフォルトは 2 である。
544 使用例を以下に示す。
545 .IP
546 st=32,30,2
547 .IP
548 詳細はカーネルソース内の
549 .I Documentation/scsi/st.txt
550 (古いカーネルの場合は
551 .IR drivers/scsi/README.st )
552 に書かれている。
553 .TP
554 .B Adaptec aha151x, aha152x, aic6260, aic6360, SB16-SCSI の設定
555 aha に続く番号はカードを表し、
556 aic に続く番号はカードに搭載されている実際のチップを表す
557 (Soundblaster-16 SCSI も後者に含まれる)。
558
559 SCSI ホストの検出コードは、
560 インストールされている BIOS を探す。
561 見つからないと、カードは検出できない。
562 この場合は以下のように起動時引数を指定することになる。
563 .IP
564 .BI aha152x= iobase[,irq[,scsi-id[,reconnect[,parity]]]]
565 .IP
566 もしドライバのコンパイル時にデバッグオプションを指定していた場合は、
567 6 番目の値でデバッグレベルを指定できる。
568
569 すべてのパラメータは、このセクションの最初で説明した通りである。
570 .I reconnect
571 に 0 以外の値を指定すると、デバイスを切断したり接続したりできる。
572 以下に例を示す。
573 .IP
574 aha152x=0x340,11,7,1
575 .IP
576 パラメータは必ず上記の順番どおりに指定されなければならない。
577 例えば、パリティ (parity) を設定したい場合には、
578 iobase, irq, scsi-id, reconnect も同時に指定する必要がある。
579 .TP
580 .B Adaptec aha154x の設定
581 aha1542 シリーズのカードは
582 i82077 フロッピーディスクコントローラをボードに搭載している。
583 一方 aha1540 シリーズのカードは搭載していない。
584 これらは共にバスマスタカードであり、
585 他のデバイスとバスを共有する際に、
586 どのくらい「フェアに」振る舞うかを指定するパラメータがある。
587 起動時引数は以下のようにして指定する。
588 .IP
589 .BI aha1542= iobase[,buson,busoff[,dmaspeed]]
590 .IP
591 有効な iobase の値は次の通り。
592 0x130, 0x134, 0x230, 0x234, 0x330, 0x334。
593 クローンカードの中には他の値を指定できるものもある。
594
595 .IR buson ", " busoff
596 値はカードがISA バスを占有する時間をマイクロ秒単位で指定する。
597 省略時はそれぞれ 11us on と 4us off になっているので、
598 他のカード (例えば ISA LANCE イーサネットカード) も
599 ISA バスにアクセスできる。
600
601 .I dmaspeed
602 値は DMA (Direct Memory Access) 転送速度を MB/s 単位で設定する。
603 省略時は 5MB/s である。新しいリビジョンのカードでは、
604 この値を使ったソフトウェアによる設定ができる。
605 古いカードはジャンパ設定を必要とする。
606 マザーボードが対応していれば最大 10MB/s まで指定可能である。
607 5MB/s 以上の値を使う場合は注意して実験してからにすること。
608 .TP
609 .B Adaptec aha274x, aha284x, aic7xxx の設定
610 これらのボードは以下の形式で指定する。
611 .IP
612 .BI aic7xxx= extended,no_reset
613 .IP
614 .I extended
615 値が 0 以外の時は、大容量ディスク用の拡張変換が有効になる。
616 .I no_reset
617 値を 0 以外の値にすると、ホストアダプタの検出時に、
618 ドライバによる SCSI バスの初期化を行わない。
619 .TP
620 .B "AdvanSys SCSI ホストアダプタの設定 ('advansys=')"
621 AdvanSys ドライバはカードの検出先として
622 4 つの I/O アドレスを受け付ける。
623 EISA や PCI カードではこれらを指定しても全く効果が無い。
624 ISA 及び VLB カードの検出に対してのみ用いられる。
625 さらに、デバッグオプション付きでドライバがコンパイルされている場合、
626 デバッグ情報の出力レベルとして 0xdeb[0-f] パラメータを追加できる。
627 0-f によりデバッグメッセージの情報のレベルを 16 段階で指定する。
628 .TP
629 .B "AM53C974"
630 .IP
631 .BI AM53C974= host-scsi-id,target-scsi-id,max-rate,max-offset
632 .TP
633 .B BusLogic SCSI ホストアダプタの設定 ('BusLogic=')
634 .IP
635 .BI BusLogic= N1,N2,N3,N4,N5,S1,S2,...
636 .IP
637 Buslogic のコマンドラインパラメータに関する詳細な議論は
638 .I /usr/src/linux/drivers/scsi/BusLogic.c
639 (著者がいま見ているカーネルでは 4350-4497 行目) を参照すること。
640 以下はこれを非常におおざっぱに要約したものである。
641
642 パラメータ N1 から N5 までは整数である。
643 パラメータ S1 以降は文字列である。
644 N1 はホストアダプタが存在する I/O アドレス。
645 N2 はタグキューイングをサポートするデバイスに対して使用するキューの深さ。
646 N3 はバス安定時間 (BST) を秒単位で指定する。
647 これはホストアダプタのハードリセットにより SCSI バスをリセットしてから
648 SCSI コマンドの発行を開始するまでの待ち時間である。
649 N4 はローカルオプション (ひとつのホストアダプタ用)。
650 N5 はグローバルオプション (すべてのホストアダプタ用)。
651
652 文字列オプションは以下の動作を制御する:
653 タグキューイング (TQ:Default, TQ:Enable, TQ:Disable, TQ:<Per-Target-Spec>)、
654 エラー復帰 (ER:Default, ER:HardReset, ER:BusDeviceReset,
655 ER:None, ER:<Per-Target-Spec>)、
656 ホストアダプタの検出 (NoProbe, NoProbeISA, NoSortPCI)。
657 .TP
658 .B EATA/DMA の設定
659 検出対象にする I/O ポートのリストを以下のようにして変更できる。
660 .IP
661 .BI eata= iobase,iobase,...\fP.
662 .TP
663 .B Future Domain TMC-16x0 の設定
664 .IP
665 .BI fdomain= iobase,irq[,adapter_id]
666 .TP
667 .B Great Valley Products (GVP) SCSI コントローラの設定
668 .IP
669 .BI gvp11= dma_transfer_bitmask
670 .TP
671 .B Future Domain 製 TMC-8xx, TMC-950 の設定
672 .IP
673 .BI tmc8xx= mem_base,irq
674 .IP
675 .I mem_base
676 にはカードが使用するメモリマップ I/O の領域を指定する。通常
677 は次の値のどれかが使われる: 0xc8000, 0xca000, 0xcc000,
678 0xce000, 0xdc000, 0xde000。
679 .TP
680 .B IN2000 の設定
681 .IP
682 .BI in2000= S
683 .IP
684 S はコンマ区切りの文字列で、各項目は keyword[:value] 形式で指定する。
685 指定できるキーワードは以下の通り。
686 ioport:addr, noreset, nosync:x, period:ns, disconnect:x, debug:x, proc:x。
687 これらのパラメータの機能については
688 .I /usr/src/linux/drivers/scsi/in2000.c
689 を参照。
690 .TP
691 .B NCR5380 および NCR53C400 の設定
692 この起動時引数は以下の書式で指定する。
693 .IP
694 .BI ncr5380= iobase,irq,dma
695 .IP
696 または
697 .IP
698 .BI ncr53c400= iobase,irq
699 .IP
700 カードが IRQ を使用しない場合は、
701 255 (0xff) を指定すれば無効にできる。
702 IRQ に 254 を指定すると自動検出する。
703 詳細はカーネルソース内の
704 .I Documentation/scsi/g_NCR5380.txt
705 (古いカーネルの場合は
706 .IR drivers/scsi/README.g_NCR5380 )
707 に書かれている。
708 .TP
709 .B NCR53C8xx の設定
710 .IP
711 .BI ncr53c8xx= S
712 .IP
713 S はコンマ区切りの文字列で、各項目は keyword[:value] 形式で指定する。
714 指定できるキーワードは以下の通り。
715 mpar (master_parity),
716 spar (scsi_parity), disc (disconnection), specf
717 (special_features), ultra (ultra_scsi), fsn
718 (force_sync_nego), tags (default_tags), sync (default_sync),
719 verb (verbose), debug (debug), burst (burst_max)。
720 これらのオプションの機能については
721 .I /usr/src/linux/drivers/scsi/README.ncr53c8xx
722 を参照すること。
723 .TP
724 .B NCR53c406a の設定
725 .IP
726 .BI ncr53c406a= iobase[,irq[,fastpio]]
727 .IP
728 割り込み無しで動作するモードには irq に 0 を指定する。
729 高速 PIO モードは fastpio に 1 を指定し、低速モードは 0 を指定する。
730 .TP
731 .B Pro Audio Spectrum の設定
732 PAS16 は NC5380 SCSI チップを使用しており、
733 最近のモデルはジャンパレスの設定をサポートしている。
734 起動時引数の書式は以下の通り。
735 .IP
736 .BI pas16= iobase,irq
737 .IP
738 唯一の違いとして、
739 IRQ に 255 を指定すれば割り込みを使用しないようドライバに指示できる
740 (パフォーマンスは低下する)。
741 通常 iobase は 0x388 である。
742 .TP
743 .B Seagate 製 ST-0x の設定
744 カードが起動時に認識されない場合は以下のような指定が必要になるだろう。
745 .IP
746 .BI st0x= mem_base,irq
747 .IP
748 .I mem_base
749 にはカードが使用するメモリマップ I/O の領域を指定する。
750 通常は次のどれか:
751 0xc8000, 0xca000, 0xcc000, 0xce000, 0xdc000, 0xde000。
752 TP
753 .B Trantor 製 T128 の設定
754 このカードも NCR5380 チップを利用しており、
755 以下のオプションを受け付ける。
756 .IP
757 .BI t128= mem_base,irq
758 .IP
759 有効な
760 .I mem_base
761 の値は次の通りである: 0xcc000, 0xc8000, 0xdc000, 0xd8000。
762 .TP
763 .B UltraStor 製 14F/34F の設定
764 自動検出を試みる I/O ポートのリストは以下のようにして変更できる。
765 .IP
766 .BI eata= iobase,iobase,... .
767 .TP
768 .B WD7000 の設定
769 .IP
770 .BI wd7000= irq,dma,iobase
771 .SS Commodore Amiga 製 A2091/590 SCSI コントローラの設定
772 .IP
773 .BI wd33c93= S
774 .IP
775 S はコンマ区切りの文字列で、各項目は keyword[:value] 形式で指定する。
776 認識されるオプションは以下の通り。
777 nosync:bitmask, nodma:x, period:ns,
778 disconnect:x, debug:x, clock:x, next。
779 詳細は
780 .I /usr/src/linux/drivers/scsi/wd33c93.c
781 を参照せよ。
782 .SS ハードディスク
783 .TP
784 .B "IDE Disk/CD-ROM ドライバのパラメータ"
785 IDE ドライバは、
786 ディスクのジオメトリ指定からバグのあるコントローラチップのサポートまで、
787 数多くのパラメータを受け付ける。
788 ドライブを特定するには 'hdX=' を使う。
789 ここで X には 'a' から 'h' の文字を指定する。
790
791 あるドライブに特有なものではないオプションは、hd= を前に付けて指定する。
792 ドライブ特有でないオプションに対してドライブ指定
793 ('hdX=') を前置しても問題はない。
794 そのオプションは期待通りそのドライブに適用される。
795 .\"nakano というのが "as expected" だと思うんだけど...
796
797 \&'hd=' は、(a, ..., h) のシーケンスにおいて、
798 まだ指定されていない次のドライブを指すためにも使える。
799 これ以降では簡単のために 'hd=' を使って説明する。
800 さらに詳しい情報を得るには、カーネルソース内の
801 .I Documentation/ide.txt
802 (古いカーネルの場合は
803 .IR drivers/block/README.ide )
804 を参照のこと。
805 .TP
806 .B 'hd=cyls,heads,sects[,wpcom[,irq]]' オプション
807 これらのオプションはディスクの物理的なジオメトリを指定するために使う。
808 最初の 3 つの値以降は省略できる。
809 シリンダ (cyls)、ヘッド (heads)、セクタ (sects) の各値は
810 fdisk で用いられるものと同じである。
811 書き込み補正 (wpcom) 値は IDE ディスクでは無視される。
812 IRQ 値には、そのドライブが接続されているインターフェースが用いる
813 IRQ を指定する
814 (本来の意味では「ドライブに特有」のパラメータではない)。
815 .TP
816 .B 'hd=serialize' オプション
817 デュアル IDE インターフェースである CMD-640 チップには設計上の問題があって、
818 セカンダリインターフェース上のドライブと
819 プライマリインターフェース上のドライブを
820 同時に使用するとデータが破壊されることがある。
821 このオプションを使用すると、
822 ドライバは両方のインターフェースが
823 同時に使用されることが絶対にないようにする。
824 .TP
825 .B 'hd=dtc2278' オプション
826 このオプションは、DTC-2278D IDE インターフェースが使われている
827 ことをドライバに伝える。
828 するとドライバは、DTC 特有の機能
829 (2 番目のインターフェースと高速転送モード)
830 を使用可能にするよう試みる。
831 .TP
832 .B 'hd=noprobe' オプション
833 このドライブの自動検出をしない。
834 例えば
835 .IP
836 hdb=noprobe hdb=1166,7,17
837 .IP
838 とすると自動検出が無効になる。
839 しかしドライブのジオメトリを指定しているので、
840 このドライブは正しいブロックデバイスとして登録され、使用可能になる。
841 .TP
842 .B 'hd=nowerr' オプション
843 ドライブによっては、書き込みエラー
844 .RB ( WRERR_STAT )
845 ビットがクリアできなくなることがある。
846 このオプションを指定すると、
847 このような壊れたデバイスに対する回避機能が有効になる。
848 .TP
849 .B "'hd=cdrom' オプション"
850 このオプションは、通常の IDE ハードディスクの代わりに、
851 ATAPI 互換の CDROM が続されていることを IDE ドライバに伝える。
852 CD-ROM はたいてい自動的に認識されるが、
853 うまく行かない場合に試してみると良い。
854 .TP
855 .B スタンダード ST-506 ディスクドライバのオプション ('hd=')
856 スタンダードディスクドライバは
857 IDE ドライバと同様のジオメトリ指定を引数にとることができる。
858 ただし受け付ける値はちょうど 3 つ (C/H/S) に限られる。
859 それ以上の値やそれ以下の値を指定すると、ドライバは黙ってその指定を無視する。
860 また引数として受け入れられるのは 'hd=' の形式だけである。
861 つまり 'hda=' のような指定はここでは正しくない。
862 書式は次の通り。
863 .IP
864 hd=cyls,heads,sects
865 .IP
866 2 台のディスクが接続されてい場合は、
867 2 番目のディスクに対しても上記のジオメトリが設定される。
868 .TP
869 .B XT ディスクドライバのオプション ('xd=')
870 これらの古い 8 bit カード (125kB/s の転送速度しかない!)
871 を使わなければならない不幸な人のためのオプションである。
872 カードが認識されない場合は以下の書式で起動時引数を指定する必要があるだろう。
873 .IP
874 xd=type,irq,iobase,dma_chan
875 .IP
876 .\" 1.1.50, 1.3.81, 1.3.99, 2.0.34, 2.1.67, 2.1.78, 2.1.127
877 type 値にはカードのメーカーを指定し、これは自動検知より優先される。
878 指定すべき type の値については、使っているカーネルのソースファイル
879 .I drivers/block/xd.c
880 を調べてほしい。type はリスト
881 .I xd_sigs
882 のインデックスで、歴史と共に追加されたり削除されたりしてきた。
883 リストの途中での追加・削除も行われたので、
884 その場合はすべての type 番号が変更された。
885 今日 (Linux 2.5.0) における type は、
886 0=generic; 1=DTC 5150cx; 2,3=DTC 5150x; 4,5=Western Digital;
887 6,7,8=Seagate; 9=Omti; 10=XEBEC である。
888 ここではいくつかの type に同じ指定が与えられているが、
889 それらは等価である。
890
891 0=ノーブランド、1=DTC、2,3,4=Western Digital、5,6,7=Seagate、8=OMTI
892 同じメーカーに複数の値があるのは検出に使用される BIOS 文字列の違いである。
893 BIOS 文字列は type が指定された場合には使用されない。
894
895 xd_setup() 関数は引数をチェックせず、
896 4 つの値がすべて指定されることを想定している。
897 引数を省略してはならない。
898 例として、BIOS が無効にされた (あるいは削除された)
899 WD1002 コントローラの場合を示す
900 (パラメータには XT コントローラの「デフォルト」の値を使っている)。
901 .IP
902 xd=2,5,0x320,3
903 .TP
904 .B Syquest 製 EZ* リムーバブルディスク
905 .IP
906 .BI ez= iobase[,irq[,rep[,nybble]]]
907 .SS "IBM MCA バス上のデバイス"
908 .I /usr/src/linux/Documentation/mca.txt
909 も参照せよ。
910 .TP
911 .B PS/2 ESDI ハードディスク
912 望むジオメトリを起動時に指定できる。
913 .IP
914 .BI ed= cyls,heads,sectors.
915 .IP
916 ThinkPad-720 を使用する場合は以下のオプションを追加すること。
917 .IP
918 .B tp720=1
919 .TP
920 .B IBM Microchannel SCSI サブシステムの設定
921 .IP
922 .BI ibmmcascsi= N
923 .IP
924 N はサブシステムの \fIpun\fP (SCSI ID) を表す。
925 .TP
926 .B Aztech インターフェース
927 このタイプのカードの構文は以下の通り。
928 .IP
929 aztcd=iobase[,magic_number]
930 .IP
931 magic_number に 0x79 をセットすると、
932 ドライバはファームウェアのバージョンが分からない場合でも、
933 とにかく実行を試みる。
934 その他の値はすべて無視される。
935 .TP
936 .B "パラレルポート CD-ROM ドライブ"
937 書式:
938 .IP
939 pcd.driveN=port,pro,uni,mod,slv,dly
940 .br
941 pcd.nice=nice
942 .IP
943 ここで 'port' はベースアドレス、'pro'
944 はプロトコル番号、'uni' はユニットセレクタ
945 (チェインデバイス用)、'mod' はモード
946 (あるいは自動的に最適のものを選ばせるには \-1)、'slv'
947 はスレーブにしたい場合に 1、'dly'
948 はポートアクセスを遅くしたい場合に小さな整数を与える。'nice' パラメータは、
949 ドライバのアイドル CPU 時間の使い方を制御する。
950 ただし速度はある程度低下する。
951 .TP
952 .B Sony 製 CDU-31A と CDU-33A のインターフェース
953 この CD-ROM インターフェースは、
954 Pro Audio Spectrum サウンドカードの一部や
955 ソニーが供給するインターフェースカードで使われている。
956 構文は以下の通り。
957 .IP
958 cdu31a=iobase,[irq[,is_pas_card]]
959 .IP
960 IRQ に 0 を指定すると、
961 ハードウェア割り込みがサポートされていないことをドライバに伝える
962 (PAS カードにはそのようなものがある)。
963 使用するカードが割り込みをサポートしているなら、
964 ドライバによる CPU の負荷を減らすためにも割り込みを使用すべきである。
965
966 .I is_pas_card
967 には、Pro Audio Spectrum カードを使用しているときには 'PAS' を指定し、
968 そうでないときにはなにも指定しない。
969 .TP
970 .B Sony 製 CDU-535 インターフェース
971 この CD-ROM インターフェースの構文は以下の通り。
972 .IP
973 sonycd535=iobase[,irq]
974 .IP
975 IRQ の値だけを指定したい場合には、
976 iobase 値を 0 とすれば単なる穴埋めと解釈される。
977 .TP
978 .B GoldStar インターフェース
979 この CD-ROM インターフェースの構文は以下の通り。
980 .IP
981 gscd=iobase
982 .TP
983 .B ISP16 CD-ROM インターフェース
984 書式:
985 .IP
986 isp16=[iobase[,irq[,dma[,type]]]]
987 .IP
988 (整数値 3 つと文字列 1 つ。) type に 'noisp16' を指定すると、
989 インターフェースの設定は行なわれない。
990 type にはこの他にも 'Sanyo', 'Sony', 'Panasonic', 'Mitsumi' が指定できる。
991 .TP
992 .B Mitsumi 標準インターフェース
993 このCD-ROM インターフェースの構文は以下の通り。
994 .IP
995 mcd=iobase,[irq[,wait_value]]
996 .IP
997 .I wait_value
998 はドライブに問題がある場合に、
999 ドライバ内部のタイムアウトの指定に用いる。
1000 コンパイル時の #define によって実装されるかされないかが決まる。
1001 Mitsumi FX400 は IDE/ATAPI CD-ROM プレイヤーであり、
1002 この mcd ドライバは使用しない。
1003 .TP
1004 .B Mitsumi XA/マルチセッションインターフェース
1005 これは上記と同じハードウェアだが、拡張機能がある。
1006 構文は以下の通り。
1007 .IP
1008 mcdx=iobase[,irq]
1009 .TP
1010 .B Optics ストレージインターフェース
1011 このカードの構文は以下の通り。
1012 .IP
1013 optcd=iobase
1014 .TP
1015 .B Phillips CM206 インターフェース
1016 このカードの構文は以下の通り。
1017 .IP
1018 cm206=[iobase][,irq]
1019 .IP
1020 ドライバは IRQ 値として 3 から 11 まで、
1021 I/O ポートアドレスの値として 0x300 から 0x370 を想定している。
1022 いずれか一方、あるいは両方を指定できる。順番も問わない。
1023 \&'cm206=auto' とすることにより自動検出もできる。
1024 .TP
1025 .B Sanyo インターフェース
1026 このカードの構文は以下の通り。
1027 .IP
1028 sjcd=iobase[,irq[,dma_channel]]
1029 .TP
1030 .B SoundBlaster Pro インターフェース
1031 このカードの構文は以下の通り。
1032 .IP
1033 sbpcd=iobase,type
1034 .IP
1035 type 値には 'SoundBlaster', 'LaserMate', 'SPEA' のうちひとつを指定できる
1036 (大文字小文字が区別される)。
1037 iobase は CD-ROM インターフェースの値である。
1038 カードのサウンド部の値と間違えないこと。
1039 .SS "イーサネットデバイス"
1040 ドライバが異なると用いるパラメータも異なるが、
1041 すべてのドライバは、少なくとも割り込み番号 (irq)、
1042 I/O ポートのベースアドレス (iobase)、名前 (name) を持つ。
1043 最も一般的な形式は以下の通り。
1044 .IP
1045 ether=irq,iobase[,param_1[,...param_8]],name
1046 .IP
1047 最初の数字でない値は名前として使用される。
1048 param_n の値はカード (ドライバ) ごとに異なる意味を持つ。
1049 よくある目的は、共有メモリアドレスの指定、インターフェースの選択、
1050 DMA チャネルなどである。
1051
1052 このパラメータの最もよくある利用法は、
1053 2 番目の Ethernet カードを強制的に検出させる場合である
1054 (デフォルトでは 1 枚しか検出しない)。
1055 これは簡単で、次のようにすればよい。
1056 .IP
1057 ether=0,0,eth1
1058 .IP
1059 この例で IRQ と I/O ベースアドレスに 0 を指定しているのは、
1060 ドライバに自動検出をするよう伝えているのである。
1061
1062 Ethernet-HOWTO では、複数のカードを使うやり方や、
1063 カードやドライバに特有の param_n 値の意味について、
1064 ずっと詳細に解説されている。
1065 興味を持った読者は、この文書にあたり、
1066 自分のカードに関して書かれているセクションを参照すると良い。
1067 .SS フロッピーディスクドライバ
1068 フロッピードライバのオプションは多数あり、
1069 カーネルソース内の
1070 .I Documentation/floppy.txt
1071 (古いカーネルの場合は
1072 .IR drivers/block/README.fd )
1073 にすべて記載されている。
1074 以下の情報はこのファイルからとったものである。
1075 .TP
1076 .B "floppy=mask,allowed_drive_mask"
1077 使ってよいドライブにかけるビットマスクを設定する。
1078 デフォルトでは、
1079 ユニット 0 と 1 のフロッピーコントローラだけが許可されている。
1080 これは、標準でないハードウェア (例えば ASUS の PCIマザーボードなど)
1081 でユニット 2 や 3 にアクセスすると、
1082 キーボードがおかしくなってしまうからである。
1083 cmos オプション (後述) の導入によって、
1084 このオプションはあまり使われなくなった。
1085 .TP
1086 .B "floppy=all_drives"
1087 許可するドライブを示すビットマスクを、「すべてのドライブ」にする。
1088 1 つのフロッピーコントローラに 2 台以上のドライブを接続する場合に用いる。
1089 .TP
1090 .B "floppy=asus_pci"
1091 ユニット 0 と 1 のみを許可するようビットマスクを設定する。
1092 (デフォルト)。
1093 .TP
1094 .B "floppy=daring"
1095 正しく振る舞うフロッピーコントローラを使っていることをドライバに伝える。
1096 このオプションを使うと動作はより効率的かつスムースになるが、
1097 コントローラによっては動作に失敗することがある。
1098 これを指定するとある種の動作が高速になる。
1099 .TP
1100 .B "floppy=0,daring"
1101 注意して扱わなければならない
1102 フロッピーコントローラであることをドライバに伝える。
1103 .TP
1104 .B "floppy=one_fdc"
1105 フロッピーコントローラがひとつしかないことをドライバに伝える
1106 (デフォルト)。
1107 .TP
1108 .BR floppy=two_fdc " または " floppy=address,two_fdc
1109 フロッピーコントローラがふたつあることをドライバに伝える。
1110 2 番目のコントローラの I/O アドレスは address で指定する。
1111 address が指定されない場合は 0x370 が使われる。
1112 .TP
1113 .B "floppy=thinkpad"
1114 Thinkpad を使っていることをフロッピードライバに伝える。
1115 Thinkpad はディスク取出の検出信号を反転して使っている。
1116 .TP
1117 .B "floppy=0,thinkpad"
1118 Thinkpad を使っていないことをドライバに伝える。
1119 .TP
1120 .B "floppy=drive,type,cmos"
1121 ドライブの cmos タイプを type に設定する。
1122 さらにビットマスクを変更し、このドライブの使用を許可する。
1123 この指定が便利なのは、フロッピードライブが 2 台以上ある場合
1124 (物理 cmos に記述できるのは 2 台まで) や、
1125 BIOS が標準的でない CMOS タイプを使っている場合である。
1126 最初の 2 台のドライブの CMOS に 0 を指定する (デフォルト) と、
1127 フロッピードライバはこれらのドライブの物理 cmos を参照する。
1128 .TP
1129 .B "floppy=unexpected_interrupts"
1130 予期しない割り込みを受けた時に警告メッセージを表示する (デフォルト)。
1131 .TP
1132 .BR floppy=no_unexpected_interrupts " または " floppy=L40SX
1133 予期しない割り込みを受けた時でも警告メッセージを表示しない。
1134 これは IBM L40SX ラップトップコンピュータを
1135 特定のビデオモードで使用する時に必要となる。
1136 (ビデオとフロッピーとの間で何らかの相互作用があるようだ。
1137 予期しない割り込みは性能だけに影響し、無視しても安全である。)
1138 .SS サウンドドライバ
1139 サウンドドライバも起動時引数を受け付け、
1140 コンパイル時に指定された値を変更できる。
1141 これはやや面倒なため、あまりお薦めできない。
1142 詳細は、カーネルソース内の
1143 .IR Documentation/sound/oss/README.OSS
1144 (古いカーネルの場合は
1145 .IR drivers/sound/Readme.linux )
1146 に記載されている。
1147 引数の形式は以下の通り。
1148 .IP
1149 sound=device1[,device2[,device3...[,device10]]]
1150 .IP
1151 各 deviceN はそれぞれ 0xTaaaId という形式で指定する。
1152 各バイトの意味は以下の通り。
1153
1154 T \- デバイスのタイプ: 1=FM, 2=SB, 3=PAS, 4=GUS, 5=MPU401, 6=SB16, 7=SB16-MPU401
1155
1156 aaa \- I/O ポートアドレス (16進値)
1157
1158 I \- 割り込み番号 (16 進値。例: 10=a, 11=b, ...)
1159
1160 d \- DMA チャネル
1161
1162 上記の通り、かなり扱いにくい形式となっており、
1163 コンパイル時に自分にあった値を指定する方が良いだろう。
1164 なお起動時引数として 'sound=0' を指定すると、
1165 サウンドドライバを完全に無効にする。
1166 .SS "ISDN ドライバ"
1167 .TP
1168 .B ICN ISDN ドライバ
1169 構文は以下の通り。
1170 .IP
1171 icn=iobase,membase,icn_id1,icn_id2
1172 .IP
1173 icn_id1,icn_id2 はカードを識別するための 2 つの文字列である。
1174 カーネルメッセージで用いられる。
1175 .TP
1176 .B PCBIT ISDN ドライバ
1177 構文は以下の通り。
1178 .IP
1179 pcbit=membase1,irq1[,membase2,irq2]
1180 .IP
1181 membaseN は N 番目のカードの共有メモリのベースアドレスであり、
1182 irqN は N 番目のカードの割り込み設定である。
1183 無指定時には IRQ = 5, membase = 0xD0000 となる。
1184 .TP
1185 .B Teles ISDN ドライバ
1186 構文は以下の通り。
1187 .IP
1188 teles=iobase,irq,membase,protocol,teles_id
1189 .IP
1190 iobase はカードの I/O ポートアドレス、
1191 membase はカードの共有メモリのベースアドレス、
1192 そして irq はカードが使用する割り込みチャネルである。
1193 teles_id はアスキー文字列による識別文字列である (他と重ならないようにする)。
1194 .SS シリアルポートドライバ
1195 .TP
1196 .B RISCom/8 マルチポートシリアルドライバ ('riscom8=')
1197 構文は以下の通り。
1198 .IP
1199 riscom=iobase1[,iobase2[,iobase3[,iobase4]]]
1200 .IP
1201 詳細は
1202 .I /usr/src/linux/Documentation/riscom8.txt
1203 を参照のこと。
1204 .TP
1205 .B DigiBoard ドライバ ('digi=')
1206 このオプションを使う場合は、
1207 6 つちょうどのパラメータを与えなければならない。
1208 構文は以下の通り。
1209 .IP
1210 digi=status,type,altpin,numports,iobase,membase
1211 .IP
1212 パラメータは整数値か文字列で与える。
1213 文字列で指定する場合は、
1214 iobase と membase は 16 進値でなければならない。
1215 整数値で指定する場合はパラメータの個数は少なくても良く、順に:
1216 status このカードの動作を指定する (Enable(1) または Disable(0)),
1217 type カードのタイプ (PC/Xi(0), PC/Xe(1), PC/Xeve(2), PC/Xem(3)),
1218 altpin ピン配置を反転させる (Enable(1) or Disable(0)),
1219 numports カードのポート番号,
1220 iobase このカードの I/O ポート (文字列指定の場合は 16 進表記),
1221 membase メモリウィンドウのベースアドレス (文字列指定の場合は 16 進表記)。
1222 したがって以下のふたつの起動時引数は同じ意味を持つ。
1223 .IP
1224 digi=E,PC/Xi,D,16,200,D0000
1225 .br
1226 digi=1,0,0,16,0x200,851968
1227 .IP
1228 詳細は
1229 .I /usr/src/linux/Documentation/digiboard.txt
1230 を参照せよ。
1231 .TP
1232 .B Baycom シリアル・パラレル ラジオモデム
1233 構文は以下の通り。
1234 .IP
1235 baycom=iobase,irq,modem
1236 .IP
1237 ちょうど 3 つのパラメータを与える。
1238 複数のカードがある場合は、'baycom=' コマンドも複数記述する。
1239 modem パラメータは文字列で、
1240 ser12, ser12*, par96, par96* の中からひとつを選ぶ。
1241 * をつけるとソフトウェア DCD を使用する。
1242 モデムの種類に応じて ser12 か par96 かを選択する。
1243 詳細はカーネルソース内の
1244 .I Documentation/networking/baycom.txt
1245 (古いカーネルの場合は
1246 .IR drivers/net/README.baycom )
1247 を参照。
1248 .TP
1249 .B サウンドカードラジオモデムドライバ
1250 構文は以下の通り。
1251 .IP
1252 soundmodem=iobase,irq,dma[,dma2[,serio[,pario]]],0,mode
1253 .IP
1254 最後のパラメータを除くすべてのパラメータは整数である。
1255 ダミーの 0 があるのは、設定プログラムのバグのせいである。
1256 mode パラメータは文字列で、hw:modem という書式で指定する。
1257 hw は sbc, wss, wssfdx のうちひとつ、
1258 modem は afsk1200, fsk9600 のどちらかを選択して記述する。
1259 .\" HERE GOES (NAKANO)
1260 .SS ラインプリンタドライバ
1261 .TP
1262 .B "'lp='"
1263 書式:
1264 .IP
1265 lp=0
1266 .br
1267 lp=auto
1268 .br
1269 lp=reset
1270 .br
1271 lp=port[,port...]
1272 .IP
1273 プリンタドライバには、どのポートを使うか、
1274 どのポートを使ってはいけないかを伝えることができる。
1275 後者は、
1276 利用可能なあらゆるパラレルポートをプリンタドライバが要求しないようにして、
1277 他のドライバ (PLIP や PPA など) から
1278 それらを使えるようにしたい場合に便利である。
1279
1280 引数の書式は、複数のポート名である。
1281 例えば lp=none,parport0 とすると、
1282 最初のパラレルポートを lp1 として使い、
1283 lp0 は無効にする。プリンタードライバを完全に無効にするには
1284 lp=0 とすればよい。
1285 .TP
1286 .B WDT500/501 ドライバ
1287 構文は以下の通り。
1288 .IP
1289 wdt=io,irq
1290 .SS マウスドライバ
1291 .TP
1292 .B "'bmouse=irq'"
1293 バスマウスドライバはパラメータをひとつだけとり、
1294 ハードウェア IRQ を指定できる。
1295 .TP
1296 .B "'msmouse=irq'"
1297 msmouse ドライバでもこの事情はまったく同じである。
1298 .TP
1299 .B ATARI マウスの設定
1300 .IP
1301 atamouse=threshold[,y-threshold]
1302 .IP
1303 パラメータがひとつだけ与えられた場合には、
1304 x-threshold と y-threshold を両方に用いられる。
1305 ふたつ与えられた場合は、最初の値が x-threshold として用いられ、
1306 2 番目の値が y-threshold として用いられる。
1307 値は 1 から 20 までの数値で指定する。
1308 デフォルトは 2。
1309 .SS ビデオ機器
1310 .TP
1311 .B "'no-scroll'"
1312 このオプションは、コンソールドライバに、
1313 ハードウェアスクロールを用いないよう伝える
1314 (ここで言うハードウェアスクロールとは、
1315 ビデオメモリ上のデータを移動させることによって
1316 スクリーン表示領域をスクロールさせることを指す)。
1317 特定の点字マシンではこの指定が必要となる。
1318 .\" .SH 著者
1319 .\" Linus Torvalds (他多数)
1320 .SH 関連項目
1321 .BR lilo.conf (5),
1322 .BR klogd (8),
1323 .BR lilo (8),
1324 .BR mount (8),
1325 .BR rdev (8)
1326
1327 このマニュアルページの大部分は Paul Gortmaker による
1328 Boot Parameter HOWTO (version 1.0.1) を基にしている。
1329 この (あるいは最新の) HOWTO をあたれば、
1330 さらに多くの情報が入手できるだろう。
1331 最新の情報源は
1332 .I /usr/src/linux/Documentation/kernel-parameters.txt
1333 である。
1334
1335 (訳注) Boot Parameter HOWTO は現在 BootPrompt-HOWTO として
1336 メンテナンスされています。堀江誠一さんによる日本語版は、
1337 .UR http://www.linux.or.jp/JF/JFdocs/BootPrompt-HOWTO.html
1338 http://www.linux.or.jp/JF/JFdocs/BootPrompt-HOWTO.html
1339 .UE
1340 にあります。英語版オリジナルは、
1341 .UR http://linuxdoc.org/HOWTO/BootPrompt-HOWTO.html
1342 http://linuxdoc.org/HOWTO/BootPrompt-HOWTO.html
1343 .UE
1344 にあります。
1345 が、いずれも May 1999 までのものなのでやや古いです。