説明
Linux
カーネルは起動するときに「コマンドラインオプション」あるいは
「起動時パラメーター」を受け付ける。
これは一般に、
カーネルには決定できないハードウェアのパラメーターをカーネルに渡したい場合や、
カーネルが検出するであろう値を意図的に無効にしたり変更したりする場合に用いる。
カーネルが BIOS
から直接起動されるとき
(たとえば 'cp zImage /dev/fd0'
でフロッピーにコピーしたカーネルから起動するなど)
は、
パラメーターを指定する機会はない。
そのため、この起動時パラメーター機能を利用するためには、
GRUB
のようなパラメーターを指定できるブートローダーを使用しなければならない。
引数リスト
カーネルのコマンドラインはパースされ、スペースで区切られた文字列
(起動時引数: boot arguments)
のリストとなる。
ほとんどの起動時引数は次の書式である。
name[=value_1][,value_2]...[,value_10]
ここで 'name'
は、それに対応する値がカーネルのどの部分に渡されるものなのかを
識別するための、他と重ならないキーワードである。
書式中の 10
という制限は実際に存在する。
現在のコードは、キーワードひとつあたり、コンマで区切られたパラメーターを
10
個までしか取り扱うことができない。
(しかし、事情が非常に複雑な場合には、同じキーワードを再度利用して
10
個以上のパラメーターを与えることができるかもしれない。
対象となるハードウェアの設定関数がそれをサポートしていれば、だが。)
カーネルコマンドラインの識別はほとんどがカーネルソースファイル
init/main.c
に書かれている。
最初に、カーネルは
'root=', 'nfsroot=', 'nfsaddrs=', 'ro', 'rw', 'debug', 'init'
といった特別な引数があるかをチェックする。
これらの意味については後述する。
カーネルは次に設定関数のリスト
(配列 bootsetups
に含まれている)
をスキャンし、
指定された引数文字列
(例えば 'foo') が
特定のデバイスやカーネルの一部に対する設定関数
('foo_setup()')
に関連付けられているかを調べる。
例えばカーネルに foo=3,4,5,6
のようなパラメーターを与えたとすると、
カーネルは配列 bootsetups
を調べて、 'foo'
が登録されているか調べる。
登録されていたら、'foo'
に対応する設定関数
('foo_setup()') をコールし、
カーネルコマンドラインに与えられた引数である
3, 4, 5, 6
を設定関数に渡す。
'foo=bar'
という形式の引数のうち、
上記のように設定関数に受け入れられなかったものは、
環境変数と解釈されて設定される。
(あまり役に立たない?)
例としては、'TERM=VT100'
がある。
カーネルによって処理されず、環境変数としても解釈されなかった
残りの引数は、プロセス
1
に渡されることになる。
通常このプロセス 1 は
init(1)
プログラムである。
init
プロセスに渡される引数で最もよく使われるのは、
'single'
というキーワードである。
これを指定すると init
はシングルユーザーモードでコンピュータを起動し、
通常使われるデーモンは一切起動しない。
システムにインストールされている
init(1) が
どんな引数を受け付けるかは、
マニュアルページで調べること。
一般的な、デバイス固有ではない起動時引き数
- 'init=...'
- カーネルが実行する初期コマンドを設定する。
この指定がなされなかったり、指定したコマンドが見つからなかった場合には、
カーネルは /sbin/init,
/etc/init, /bin/init, /bin/sh
の順で実行を試み、すべてに失敗したら
panic を起こす。
- 'nfsaddrs=...'
- nfs
のブートアドレスを指定した文字列に設定する。
このブートアドレスはネットワークブートの場合に用いられる。
- 'nfsroot=...'
- nfs
ルートの名前を設定する。
この文字列の先頭が
'/'、','、数字のいずれでもでないときは、
'/tftpboot/'
が先頭に付加される。
この名前はネットワークブートの場合に用いられる。
- 'no387'
- (カーネルのコンパイル時に
CONFIG_BUGi386
が指定されたときのみ有効。)
一部の i387
コプロセッサチップには、
32
ビットプロテクトモードでの使用時に生じるバグがある。
例えば初期の ULSI-387
チップは、
浮動小数点演算を行なうと確実にロックアップしてしまう。
この起動時引数 'no387'
を指定すると、 Linux
はコプロセッサがあってもそれを無視するようになる。
なおもちろん、カーネルコンパイル時に浮動小数点演算をエミュレートする
(kernel math emulation)
指定をしなければならない!
- 'no-hlt'
- (カーネルのコンパイル時に
CONFIG_BUGi386
が指定されたときのみ有効。)
初期の i486DX-100
チップの一部では 'hlt'
命令に問題があって、
この命令を使うとオペレーティングモードに正しく戻って来ない。
'no-hlt' を指定すれば、Linux
はアイドリング時に
CPU を停止 (halt)
するかわりに無限ループを実行するようになる。
これによって、そのようなバグのあるチップでも
Linux を使用できる。
- 'root=...'
- 起動時にルートファイルシステムとして使われるデバイスをカーネルに指定する。
デフォルトはコンパイル時に決定され、
通常はカーネルを構築したシステムのルートデバイスになる。
この値を無効にして、
例えば 2
番目のフロッピーディスクドライブをルートデバイスに指定する場合は、
'root=/dev/fd1' とする。
ルートデバイスの指定にはシンボル形式と数値形式を用いることができる。
シンボル形式の場合は
/dev/XXYN
という書式で指定する。
XX
にはデバイスタイプを指定する。
Y
にはドライブレターもしくはドライブ番号、
N には
(フロッピーディスクを除く)
ディスクの
パーティション番号を
10
進数の数値で指定する。
(ST-506
互換ハードディスクではデバイスタイプが
'hd' で Y の範囲は 'a' から
'd'、 SCSI ディスクは 'sd' で
Y は 'a' から 'e'、 Atari ACSI
ディスクは 'ad' で Y は 'a'
から 'e'、 Syquest EZ135
パラレルポートリムーバブルディスクは
'ez' で Y は 'a' のみ、 XT
ディスクは 'xt' で Y は 'a'
か 'b'、
フロッピーディスクは
'fd' で Y
にはドライブ番号を指定する。
fd0 は DOS の 'A:'、fd1 は 'B:'
に対応している。
パーティションは存在しないので
N は指定しない。)
最新のカーネルでは、他にも次のような多くのデバイスタイプを指定できる
(ほとんどは CD-ROM だが): nfs,
ram, scd, mcd, cdu535, aztcd, cm206cd, gscd, sbpcd, sonycd, bpcd。
(nfs
はネットワークブートに、ram
は RAM
ディスクを使用する場合に用いる。)
なお、これらはファイルシステム上でのデバイスの指定方法とは全く関係ない。
'/dev/'
を用いるのは単に慣習に過ぎない。
扱いにくいし移植性も良くないが、
上記のデバイスを
major/minor
番号の数値で指定してもよい。
(例えば /dev/sda3 は major
番号 8、minor 番号 3
なので、 'root=0x803'
と記述できる。)
- 'rootdelay='
- このパラメーターは
root
ファイルシステムのマウントを行う前に停止する遅延時間
(秒単位)
を指定する。
- 'rootflags=...'
- このパラメーターは
root
ファイルシステムのマウントオプション文字列を指定する
(fstab(5) も参照)。
- 'rootfstype=...'
- 'rootfstype'
オプションが指定されると、
カーネルは、
指定されたタイプであるとみなしてルートファイルシステムをマウントする。
このオプションは、
例えば、ext3
ファイルシステムを
ext2
としてマウントし、
ルートファイルシステムのジャーナルを削除する場合に便利である。
こうすると、
別のメディアからマシンを起動することなく
ext3 から ext2
へ戻すことができる。
- 'ro' と 'rw'
- 'ro' オプションは、
ルートファイルシステムを
「読み出し専用」でマウントするようカーネルに指示し、
fsck
プログラムがファイルシステムの矛盾を検査できるようにする。
ファイルシステムが「読み書き可能」として再マウントされる
(つまり 'mount -w -n -o remount /')
までの間は、
いかなるプロセスもこのファイルシステム上のファイルに書き込むことはできない。
(mount(8) も参照。)
rw
オプションはルートファイルシステムを
「読み書き可能」でマウントするようカーネルに指示する。
こちらがデフォルトである。
- 'resume=...'
- このオプションは、
マシンを休止状態
(ハイバネーション)
から再起動する際の、ディスク上に保存したデータの起動位置をカーネルに指示する。
通常は、スワップパーティションやスワップファイルと同じである。例えば、
resume=/dev/hda2
- 'reserve=...'
- デバイスの自動検出から
I/O
ポートを保護するために用いる。
コマンドの形式は以下の通り。
reserve=iobase,extent[,iobase,extent]...
機種によっては、
デバイスドライバによるデバイスの自動検出を、
特定の範囲に対しては禁止しなければならないことがある。
ハードウェアが検出動作によって深刻な問題を引き起こす場合や、
誤認識される可能性がある場合、
また単にカーネルにハードウェアを初期化させたくない場合などがありうるだろう。
この起動時引数
reserve
は、自動検出の対象外とする
I/O
ポートの範囲を指定する。
デバイスドライバは、
他の起動時引数によって明示的に指定されない限り、
予約された範囲に対して自動検出動作を行わない。
例えばブート時のコマンドラインに
reserve=0x300,32 blah=0x300
- と指定すると、'blah'
を除くすべてのデバイスドライバは
0x300 から 0x31f
の範囲を自動検出の対象外とする。
- 'mem=...'
- 搭載されているメモリーの量を返す
BIOS コールは PC
の仕様で定義されているが、これは最大
64MB
までしか返すことができない。
Linux
は搭載メモリーの量を調べるために、
起動時にこの BIOS
コールを使用する。
もし 64MB 以上の RAM
を搭載している場合は、
この起動時引数を用いて
実際のメモリー容量を
Linux
に知らせることができる。
値は 10 進数または 16
進数 (先頭に 0x を付加)
の数値で指定し、 1024
倍を表す 'k' または 1048576
倍を表す 'M'
を末尾に付加できる。
以下は Linus による 'mem='
パラメーターの解説である。
カーネルは 'mem=xx'
パラメーターとして
どんな値を指定してもそれをそのまま受け入れる。
だからそれが嘘だとわかったら、
遅かれ早かれひどいクラッシュをするだろう。
パラメーターはアクセスしうる最も高位の
RAM
アドレスを指示する。
だから例えば 'mem=0x1000000'
っていうのは 16MB
のメモリーがある、という意味になる。
96MB のマシンなら 'mem=0x6000000'
だ。
注意:
マシンによってはメモリーの最上位の領域を
BIOS
のキャッシュやら何やらの
ために使っていることがあるから、
実際には 96MB
をフルにアドレスすることはできないかもしれない。
逆の場合もある。
いくつかのチップセットでは、
BIOS
領域に入っている物理メモリーを最上位のメモリーのさらに上にマップする。
よって最上位のメモリーはたとえば
96MB + 384kB
なんて値になるかもしれない。
linux
に実際より多いメモリーを教えてしまったとしたら、
まずいことが起きるだろう。
すぐにではないかもしれないけど、ゆくゆくは確実にね。
また、起動時引数に
'mem=nopentium' を指定すると、
pentium とそれ以降の CPU
を使った IA32
システム用に設定されたカーネルで
4MB
のページテーブルを無効にすることができる。
- 'panic=N'
- デフォルトでは、カーネルはパニックの後リブートしない。
このオプションを用いて
(N を 0
より大きな値とすれば)
N
秒後にリブートするようになる。
この値は、起動後に以下のようにして設定することもできる。
echo N > /proc/sys/kernel/panic
- 'reboot=[warm|cold][,[bios|hard]]'
- (カーネルコンパイル時に
CONFIG_BUGi386
が指定されたときのみ有効。)
カーネルバージョン
2.0.22 から、
リブートのデフォルトはコールドブートになった。
以前のデフォルトであるウォームブートをするには
'reboot=warm'
と指定しなければならない。
(ある種のハードウェアをリセットするにはコールドブートが必要になるが、
ディスクキャッシュにある書き込んでいないデータは破壊される。
ウォームブートでは、より素早くリブートできる。)
デフォルトではリブートは
'hard' で行われる。
すなわちリセットラインに
low
を出力するようキーボードコントローラーに要求して、
リブートを行う。
しかし一部のマザーボードではこれができない。
'reboot=bios'
オプションを指定すると、
代わりに BIOS
を経由するようになる。
- 'nosmp' と 'maxcpus=N'
- (カーネルのコンパイル時に
__SMP__
が指定されたときのみ有効。)
コマンドラインオプションに
'nosmp' または 'maxcpus=0'
を指定すると、 SMP (Symmetric
Multi Processing)
を完全に無効にする。
'maxcpus=N' オプションは、 SMP
モードで有効にする
CPU の最大数を N
に制限する。
カーネル開発者用の起動時引数
- 'debug'
- カーネルが出力するメッセージはカーネルログデーモン
klogd に渡され、
ディスクに記録できるようになる。
プライオリティが
console_loglevel
のメッセージはコンソールにも表示される。
(これらのレベルについては、<linux/kernel.h>
を参照。)
デフォルトではこの変数は、
デバッグメッセージよりも重要なあらゆるメッセージを記録するよう設定されている
(デバッグメッセージは含まない)。
この起動時引数を指定すると、
カーネルはプライオリティが
DEBUG
のメッセージも出力するようになる。
console_loglevel も klogd
にオプションを渡せば実行時に設定できる。
klogd(8) を参照。
- 'profile=N'
- カーネルがどこで CPU
サイクルを消費しているか調べたい場合には、
カーネルのプロファイリング機能を有効にすればこれを実現できる。
カーネルプロファイリングは、変数
prof_shift を 0
以外の値にセットすると有効になる。
この値はコンパイル時に
CONFIG_PROFILE
で指定するか、 この
'prifile=N'
オプションで指定できる。
prof_shift の値は N
が指定されれば N
となり、N
が指定されなかった場合は
CONFIG_PROFILE_SHIFT
の値が用いられる。
どちらも指定されなければデフォルト値の
2 が用いられる。
この変数が重要なのは、
カーネルプロファイリングの粒度を決定するところにある。
すなわち、各クロックの割込みごとに、システムがカーネルコードを実行していれば、
以下のようにカウンターの値がインクリメントされる。
profile[address >> prof_shift]++;
生のプロファイリング情報は、
/proc/profile
から見ることができるが、readprofile.c
のような情報を加工するツールを使ったほうが良いだろう。
/proc/profile
に任意のデータを書込むと、
カウンターはリセットされる。
- 'swap=N1,N2,N3,N4,N5,N6,N7,N8'
- カーネルのスワップアルゴリズムをコントロールする
次の 8
つのパラメーターをセットする。
max_page_age, page_advance, page_decline, page_initial_age,
age_cluster_fract, age_cluster_min, pageout_weight, bufferout_weight.
これはカーネルをチューンする人のためのオプションである。
- 'buff=N1,N2,N3,N4,N5,N6'
- カーネルのバッファーメモリー管理をコントロールする
次の 6
つのパラメーターをセットする。
max_buff_age, buff_advance, buff_decline, buff_initial_age,
bufferout_weight, buffermem_grace.
これはカーネルをチューンする人のためのオプションである。
(カーネルのコンパイル時に
CONFIG_BLK_DEV_RAM
オプションが指定されたときのみ有効。)
一般的には、Linux で RAM
ディスクを使用するのはあまり良い考えではない。
システムに任せておけばもっと効率的にメモリーを使用する。
しかしブート時
(またはブートフロッピーの作成中)
には、
フロッピーの内容を RAM
ディスクにロードすると便利かもしれない。
メインディスクがアクセス可能になる前に、
(ファイルシステムやハードウェアに関する)
モジュールをいくつかロードしなければならないシステムもあるだろう。
Linux のバージョン 1.3.48
において、 RAM
ディスクの取り扱いが根底から変化した。
それ以前までは、メモリーは静的に割り当てられ、
'ramdisk=N'
パラメーターでそのサイズを指定していた
(この値はコンパイル時にカーネルイメージに指定することもできた)。
現在は RAM
ディスクはバッファーキャッシュを使用しており、
動的に拡張される。
新しい RAM
ディスクの動作に関する多くの情報が、
カーネルソースファイル
Documentation/blockdev/ramdisk.txt
(古いカーネルでは
Documentation/ramdisk.txt) にある。
4
つのパラメーターがある。論理値をとるものが
2
つ、整数値をとるものが
2 つ。
- 'load_ramdisk=N'
- N=1 なら RAM
ディスクをロードする。N=0
ならロードしない
(デフォルト)。
- 'prompt_ramdisk=N'
- N=1
ならフロッピー挿入を促すプロンプトを出す
(デフォルト)。 N=0
ならプロンプトを出さない。
(従って、このパラメーターを指定する必要はまず無いであろう。)
- 'ramdisk_size=N' もしくは
(古い形式の) 'ramdisk=N'
- ラムディスクの最大サイズを
N kB (キロバイト)
にセットする。
省略時は 4096 (4 MB)。
- 'ramdisk_start=N'
- 開始ブロック番号
(フロッピー先頭からのオフセットで指定した
RAM ディスクの開始点)
を N にセットする。
これはカーネルイメージのあとに
RAM
ディスクイメージを置く場合に必要となる。
- 'noinitrd'
- (カーネルのコンパイル時に
CONFIG_BLK_DEV_RAM と CONFIG_BLK_DEV_INITRD
が指定されているときのみ有効。)
最近は initrd
を使用するようにカーネルをコンパイルできる。
このオプションが指定されると、
ブートプロセスはカーネルと
RAM
ディスクをロードし、
カーネルは initrd
を「普通の」 RAM
ディスクに変換し、
この RAM
ディスクがルートデバイスとして「読み書き可能」でマウントされる。
次に /linuxrc
が実行される。
その後「真の」ルートファイルシステムがマウントされ、
initrd
ファイルシステムは
/initrd に移される。
最後に通常のブートシーケンス
(具体的には /sbin/init
の呼び出し)
が実行される。
initrd
に関する詳細な解説はカーネルソースファイル
Documentation/initrd.txt を参照。
'noinitrd'
オプションを用いると、
カーネルは (initrd
動作を行うようにコンパイルされている場合でも)
上記の動作を行なわず、代わりに
initrd のデータを /dev/initrd
に残す。
(このデバイスは一度しか使えない。
データは、そのデータを使った最後のプロセスが
/dev/initrd
をクローズするとすぐに解放される。)
この節における用語:
iobase -- SCSI
ホストアダプターが占有する
I/O
ポートの先頭アドレス。
16
進表記で指定し、通常
0x200 から 0x3ff
の範囲に位置する。
irq --
カードが利用するハードウェア割り込み。有効な値はカードに
よって異なるが、通常は
5, 7, 9, 10, 11, 12, 15 である。
これ以外の値は通常、IDE
ハードディスク、フロッピー、
シリアルポートといった一般的な周辺機器によって使用される。
scsi-id -- SCSI
バス上のホストアダプターが自分自身を識別するために使用する
ID 番号。
この値を変更できるホストアダプターもごく希に存在するが、
ほとんどはアダプター内部で固定されている。
よく使われるデフォルト値は
7 であるが、Seagate
もしくは Future Domain 製の TMC-950
ボードでは 6
が使われる。
parity -- SCSI
ホストアダプターが取り付けられたデバイスとの通信に際して
パリティ値を必要とするかどうか。
1
を指定するとパリティチェックが有効になり、
0
でパリティチェックが無効になる。
しかし、すべてのデバイスがこの起動時引数によるパリティの選択を
サポートするわけではない。
- 'max_scsi_luns=...'
- SCSI
デバイスは複数の「サブデバイス」を自分自身の内部に持つことができる。
最もよくある例として、一時に
1
枚以上のディスクを扱うことができる
(チェンジャー機能付の)
SCSI CD-ROM がある。
それぞれの CD
はそのデバイスの
「論理ユニット番号
(LUN)」によって特定される。
しかしほとんどのデバイス
(例えばハードディスクやテープドライブ)
は、 LUN 番号 0
が割り当てられた、ただひとつのデバイスからなる。
設計が不十分な SCSI
デバイスでは 0
以外の LUN
番号への自動検出を
扱えないことがある。
したがって、コンパイル時に
CONFIG_SCSI_MULTI_LUN
オプションが指定されていないと、
最近のカーネルではデフォルトでは
LUN 番号 0
のみを検出する。
起動時に調べる LUN
番号を指定する場合、起動時引数として
'max_scsi_luns=n' を指定する。n
は 1 から 8
の間で指定する。 n=1
以上の値を使用しないようにすれば、
このようないかれた機械にひどい目にあわされずにすむだろう。
- SCSI
テープドライブの設定
- SCSI
テープドライバの起動時設定の一部は以下のようにして行なうことができる。
st=buf_size[,write_threshold[,max_bufs]]
最初の 2
つの数字は kB
単位で指定する。
buf_size のデフォルトは
32kB である。上限は 16384kB
まで指定できる。
write_threshold
はデータ書き出しの閾値で、
バッファーのデータのサイズがこの値を越えるとデータはテープに書き出される。
デフォルト値は 30kB
である。
バッファー数の最大値
(max_bufs)
は検出されたドライブの数によって変化するが、デフォルトは
2 である。
使用例を以下に示す。
st=32,30,2
- 詳細は Linux
カーネルソース内の
Documentation/scsi/st.txt
(古いカーネルの場合は
drivers/scsi/README.st)
に書かれている。
- Adaptec aha151x,
aha152x, aic6260, aic6360, SB16-SCSI の設定
- aha
に続く番号はカードを表し、
aic
に続く番号はカードに搭載されている実際のチップを表す
(Soundblaster-16 SCSI
も後者に含まれる)。
SCSI
ホストの検出コードは、
インストールされている
BIOS を探す。
見つからないと、カードは検出できない。
この場合は以下のように起動時引数を指定することになる。
aha152x=iobase[,irq[,scsi-id[,reconnect[,parity]]]]
- もしドライバのコンパイル時にデバッグオプションを指定していた場合は、
6
番目の値でデバッグレベルを指定できる。
すべてのパラメーターは、このセクションの最初で説明した通りである。
reconnect に 0
以外の値を指定すると、デバイスを切断したり接続したりできる。
以下に例を示す。
aha152x=0x340,11,7,1
- パラメーターは必ず上記の順番どおりに指定されなければならない。
例えば、パリティ (parity)
を設定したい場合には、
iobase, irq, scsi-id, reconnect
も同時に指定する必要がある。
- Adaptec aha154x
の設定
- aha1542
シリーズのカードは
i82077
フロッピーディスクコントローラーをボードに搭載している。
一方 aha1540
シリーズのカードは搭載していない。
これらは共にバスマスタカードであり、
他のデバイスとバスを共有する際に、
どのくらい「フェアに」振る舞うかを指定するパラメーターがある。
起動時引数は以下のようにして指定する。
aha1542=iobase[,buson,busoff[,dmaspeed]]
- 有効な iobase
の値は次の通り。 0x130,
0x134, 0x230, 0x234, 0x330, 0x334。
クローンカードの中には他の値を指定できるものもある。
buson, busoff
値はカードがISA
バスを占有する時間をマイクロ秒単位で指定する。
省略時はそれぞれ 11us on
と 4us off
になっているので、
他のカード (例えば ISA
LANCE
イーサネットカード)
も ISA
バスにアクセスできる。
dmaspeed 値は DMA (Direct Memory Access)
転送速度を MB/s
単位で設定する。
省略時は 5MB/s
である。新しいリビジョンのカードでは、
この値を使ったソフトウェアによる設定ができる。
古いカードはジャンパ設定を必要とする。
マザーボードが対応していれば最大
10MB/s
まで指定可能である。
5MB/s
以上の値を使う場合は注意して実験してからにすること。
- Adaptec aha274x,
aha284x, aic7xxx の設定
- これらのボードは以下の形式で指定する。
aic7xxx=extended,no_reset
- extended 値が 0
以外の時は、大容量ディスク用の拡張変換が有効になる。
no_reset 値を 0
以外の値にすると、ホストアダプターの検出時に、
ドライバによる SCSI
バスの初期化を行わない。
- AdvanSys SCSI
ホストアダプターの設定
('advansys=')
- AdvanSys
ドライバはカードの検出先として
4 つの I/O
アドレスを受け付ける。
EISA や PCI
カードではこれらを指定しても全く効果が無い。
ISA 及び VLB
カードの検出に対してのみ用いられる。
さらに、デバッグオプション付きでドライバがコンパイルされている場合、
デバッグ情報の出力レベルとして
0xdeb[0-f]
パラメーターを追加できる。
0-f
によりデバッグメッセージの情報のレベルを
16 段階で指定する。
- AM53C974
- 構文は以下の通り。
AM53C974=host-scsi-id,target-scsi-id,max-rate,max-offset
- BusLogic SCSI
ホストアダプターの設定
('BusLogic=')
-
構文は以下の通り。
BusLogic=N1,N2,N3,N4,N5,S1,S2,...
- Buslogic
のコマンドラインパラメーターに関する詳細な議論はカーネルソースファイル
drivers/scsi/BusLogic.c
を参照すること。
以下はこれを非常におおざっぱに要約したものである。
パラメーター N1
から N5
までは整数である。
パラメーター S1
以降は文字列である。
N1
はホストアダプターが存在する
I/O アドレス。 N2
はタグキューイングをサポートするデバイスに対して使用するキューの深さ。
N3 はバス安定時間 (BST)
を秒単位で指定する。
これはホストアダプターのハードリセットにより
SCSI
バスをリセットしてから
SCSI
コマンドの発行を開始するまでの待ち時間である。
N4
はローカルオプション
(ひとつのホストアダプター用)。
N5
はグローバルオプション
(すべてのホストアダプター用)。
文字列オプションは以下の動作を制御する:
タグキューイング
(TQ:Default, TQ:Enable, TQ:Disable, TQ:<Per-Target-Spec>)、
エラー復帰 (ER:Default, ER:HardReset,
ER:BusDeviceReset, ER:None, ER:<Per-Target-Spec>)、
ホストアダプターの検出
(NoProbe, NoProbeISA, NoSortPCI)。
- EATA/DMA
の設定
- 検出対象にする I/O
ポートのデフォルトのリストは以下のようにして変更できる。
eata=iobase,iobase,....
- Future Domain TMC-16x0
の設定
- 構文は以下の通り。
fdomain=iobase,irq[,adapter_id]
- Great Valley Products
(GVP) SCSI
コントローラーの設定
- 構文は以下の通り。
gvp11=dma_transfer_bitmask
- Future Domain
製 TMC-8xx, TMC-950 の設定
- 構文は以下の通り。
tmc8xx=mem_base,irq
- mem_base
にはカードが使用するメモリーマップ
I/O
の領域を指定する。
通常は次の値のどれかである:
0xc8000, 0xca000, 0xcc000, 0xce000, 0xdc000, 0xde000。
- IN2000
の設定
- 構文は以下の通り。
in2000=S
- S
はコンマ区切りの文字列で、各項目は
keyword[:value]
形式で指定する。
指定できるキーワードは以下の通り。
ioport:addr, noreset, nosync:x, period:ns, disconnect:x, debug:x,
proc:x。
これらのパラメーターの機能についてはカーネルソースファイル
drivers/scsi/in2000.c を参照。
- NCR5380
および NCR53C400 の設定
- この起動時引数は以下の書式で指定する。
ncr5380=iobase,irq,dma
- または
ncr53c400=iobase,irq
- カードが IRQ
を使用しない場合は、
255 (0xff)
を指定すれば無効にできる。
IRQ に 254
を指定すると自動検出する。
詳細は Linux
カーネルソース内の
Documentation/scsi/g_NCR5380.txt
(古いカーネルの場合は
drivers/scsi/README.g_NCR5380)
に書かれている。
- NCR53C8xx
の設定
- 構文は以下の通り。
ncr53c8xx=S
- S
はコンマ区切りの文字列で、各項目は
keyword[:value]
形式で指定する。
指定できるキーワードは以下の通り。
mpar (master_parity), spar (scsi_parity), disc (disconnection), specf
(special_features), ultra (ultra_scsi), fsn (force_sync_nego), tags
(default_tags), sync (default_sync), verb (verbose), debug (debug), burst
(burst_max)。
これらのオプションの機能についてはカーネルソースファイル
drivers/scsi/ncr53c8xx.c
を参照すること。
- NCR53c406a
の設定
- 構文は以下の通り。
ncr53c406a=iobase[,irq[,fastpio]]
- 割り込み無しで動作するモードには
irq に 0 を指定する。
高速 PIO モードは fastpio に 1
を指定し、低速モードは
0 を指定する。
- Pro Audio Spectrum
の設定
- PAS16 は NC5380 SCSI
チップを使用しており、
最近のモデルはジャンパレスの設定をサポートしている。
起動時引数の書式は以下の通り。
pas16=iobase,irq
- 唯一の違いとして、
IRQ に 255
を指定すれば割り込みを使用しないようドライバに指示できる
(パフォーマンスは低下する)。
通常 iobase は 0x388
である。
- Seagate 製
ST-0x の設定
- カードが起動時に認識されない場合は以下のような指定が必要になるだろう。
st0x=mem_base,irq
- mem_base
にはカードが使用するメモリーマップ
I/O
の領域を指定する。
通常は次の値のどれかである:
0xc8000, 0xca000, 0xcc000, 0xce000, 0xdc000, 0xde000。
- Trantor 製 T128
の設定
- このカードも NCR5380
チップを利用しており、
以下のオプションを受け付ける。
t128=mem_base,irq
- 有効な mem_base
の値は次の通りである:
0xcc000, 0xc8000, 0xdc000, 0xd8000。
- UltraStor
製 14F/34F の設定
- 検出対象にする I/O
ポートのデフォルトのリストは以下のようにして変更できる。
eata=iobase,iobase,....
- WD7000
の設定
- 構文は以下の通り。
wd7000=irq,dma,iobase
- Commodore Amiga
製 A2091/590 SCSI
コントローラーの設定
- 構文は以下の通り。
wd33c93=S
- S
はコンマ区切りの文字列で、各項目は
keyword[:value]
形式で指定する。
認識されるオプションは以下の通り。
nosync:bitmask, nodma:x, period:ns, disconnect:x, debug:x, clock:x,
next。
詳細はカーネルソースファイル
drivers/scsi/wd33c93.c を参照。
ハードディスク
- IDE Disk/CD-ROM
ドライバのパラメーター
- IDE ドライバは、
ディスクのジオメトリ指定からバグのあるコントローラーチップのサポートまで、
数多くのパラメーターを受け付ける。
ドライブを特定するには
'hdX=' を使う。 ここで X
には 'a' から 'h'
の文字を指定する。
あるドライブに特有なものではないオプションは、hd=
を前に付けて指定する。
ドライブ特有でないオプションに対してドライブ指定
('hdX=')
を前置しても問題はない。
そのオプションは期待通りそのドライブに適用される。
'hd=' は、(a, ..., h)
のシーケンスにおいて、
まだ指定されていない次のドライブを指すためにも使える。
これ以降では簡単のために
'hd='
を使って説明する。
さらに詳しい情報を得るには、Linux
カーネルソース内の
Documentation/ide.txt
(古いカーネルの場合は
drivers/block/README.ide)
を参照のこと。
- 'hd=cyls,heads,sects[,wpcom[,irq]]'
オプション
- これらのオプションはディスクの物理的なジオメトリを指定するために使う。
最初の 3
つの値以降は省略できる。
シリンダ (cyls)、ヘッド
(heads)、セクタ (sects)
の各値は fdisk
で用いられるものと同じである。
書き込み補正 (wpcom) 値は
IDE
ディスクでは無視される。
IRQ
値には、そのドライブが接続されているインターフェースが用いる
IRQ を指定する
(本来の意味では「ドライブに特有」のパラメーターではない)。
- 'hd=serialize' オプション
- デュアル IDE
インターフェースである
CMD-640
チップには設計上の問題があって、
セカンダリインターフェース上のドライブと
プライマリインターフェース上のドライブを
同時に使用するとデータが破壊されることがある。
このオプションを使用すると、
ドライバは両方のインターフェースが
同時に使用されることが絶対にないようにする。
- 'hd=dtc2278' オプション
- このオプションは、DTC-2278D
IDE
インターフェースが使われている
ことをドライバに伝える。
するとドライバは、DTC
特有の機能 (2
番目のインターフェースと高速転送モード)
を使用可能にするよう試みる。
- 'hd=noprobe' オプション
- このドライブの自動検出をしない。
例えば
hdb=noprobe hdb=1166,7,17
- とすると自動検出が無効になる。
しかしドライブのジオメトリを指定しているので、
このドライブは正しいブロックデバイスとして登録され、使用可能になる。
- 'hd=nowerr' オプション
- ドライブによっては、書き込みエラー
(WRERR_STAT)
ビットがクリアできなくなることがある。
このオプションを指定すると、
このような壊れたデバイスに対する回避機能が有効になる。
- 'hd=cdrom' オプション
- このオプションは、通常の
IDE
ハードディスクの代わりに、
ATAPI 互換の CDROM
が続されていることを
IDE
ドライバに伝える。
CD-ROM
はたいてい自動的に認識されるが、
うまく行かない場合に試してみると良い。
- スタンダード ST-506
ディスクドライバのオプション
('hd=')
- スタンダードディスクドライバは
IDE
ドライバと同様のジオメトリ指定を引数にとることができる。
ただし受け付ける値はちょうど
3 つ (C/H/S) に限られる。
それ以上の値やそれ以下の値を指定すると、ドライバは黙ってその指定を無視する。
また引数として受け入れられるのは
'hd='
の形式だけである。
つまり 'hda='
のような指定はここでは正しくない。
書式は次の通り。
hd=cyls,heads,sects
- 2
台のディスクが接続されてい場合は、
2
番目のディスクに対しても上記のジオメトリが設定される。
- XT
ディスクドライバのオプション
('xd=')
- これらの古い 8 bit
カード (125kB/s
の転送速度しかない!)
を使わなければならない不幸な人のためのオプションである。
カードが認識されない場合は以下の書式で起動時引数を指定する必要があるだろう。
xd=type,irq,iobase,dma_chan
- type
値にはカードのメーカーを指定し、これは自動検知より優先される。
指定すべき type
の値については、使っているカーネルのソースファイル
drivers/block/xd.c
を調べてほしい。type
はリスト xd_sigs
のインデックスで、歴史と共に追加されたり削除されたりしてきた。
リストの途中での追加・削除も行われたので、
その場合はすべての
type
番号が変更された。
今日 (Linux 2.5.0) における type
は、 0=generic; 1=DTC 5150cx; 2,3=DTC 5150x; 4,5=Western
Digital; 6,7,8=Seagate; 9=Omti; 10=XEBEC である。
ここではいくつかの
type
に同じ指定が与えられているが、
それらは等価である。
xd_setup()
関数は引数をチェックせず、
4
つの値がすべて指定されることを想定している。
引数を省略してはならない。
例として、BIOS
が無効にされた
(あるいは削除された)
WD1002
コントローラーの場合を示す
(パラメーターには XT
コントローラーの「デフォルト」の値を使っている)。
xd=2,5,0x320,3
- Syquest 製 EZ*
リムーバブルディスク
- 構文は以下の通り。
ez=iobase[,irq[,rep[,nybble]]]
カーネルソースファイル
Documentation/mca.txt も参照。
- PS/2 ESDI
ハードディスク
- 起動時に所望のジオメトリを指定できる。
ed=cyls,heads,sectors.
- ThinkPad-720
を使用する場合は以下のオプションを追加すること。
tp720=1.
- IBM Microchannel SCSI
サブシステムの設定
- 構文は以下の通り。
ibmmcascsi=N
- N はサブシステムの
pun (SCSI ID) を表す。
- Aztech
インターフェース
- このタイプのカードの構文は以下の通り。
aztcd=iobase[,magic_number]
- magic_number に 0x79
をセットすると、
ドライバはファームウェアのバージョンが分からない場合でも、
とにかく実行を試みる。
その他の値はすべて無視される。
- パラレルポート CD-ROM
ドライブ
- 構文は以下の通り。
pcd.driveN=prt,pro,uni,mod,slv,dly
pcd.nice=nice
- ここで 'port'
はベースアドレス、'pro'
はプロトコル番号、'uni'
はユニットセレクタ
(チェインデバイス用)、'mod'
はモード
(あるいは自動的に最適のものを選ばせるには
-1)、'slv'
はスレーブにしたい場合に
1、'dly'
はポートアクセスを遅くしたい場合に小さな整数を与える。'nice'
パラメーターは、
ドライバのアイドル
CPU
時間の使い方を制御する。
ただし速度はある程度低下する。
- Sony 製 CDU-31A
と CDU-33A
のインターフェース
- この CD-ROM
インターフェースは、
Pro Audio Spectrum
サウンドカードの一部や
ソニーが供給するインターフェースカードで使われている。
構文は以下の通り。
cdu31a=iobase,[irq[,is_pas_card]]
- IRQ に 0 を指定すると、
ハードウェア割り込みがサポートされていないことをドライバに伝える
(PAS
カードにはそのようなものがある)。
使用するカードが割り込みをサポートしているなら、
ドライバによる CPU
の負荷を減らすためにも割り込みを使用すべきである。
is_pas_card には、Pro Audio Spectrum
カードを使用しているときには
'PAS' を指定し、
そうでないときにはなにも指定しない。
- Sony 製 CDU-535
インターフェース
- この CD-ROM
インターフェースの構文は以下の通り。
sonycd535=iobase[,irq]
- IRQ
の値だけを指定したい場合には、
iobase 値を 0
とすれば単なる穴埋めと解釈される。
- GoldStar
インターフェース
- この CD-ROM
インターフェースの構文は以下の通り。
gscd=iobase
- ISP16 CD-ROM
インターフェース
- 構文は以下の通り。
isp16=[iobase[,irq[,dma[,type]]]]
- (整数値 3 つと文字列 1
つの形式) type に 'noisp16'
を指定すると、
インターフェースの設定は行なわれない。
type にはこの他にも 'Sanyo',
'Sony', 'Panasonic', 'Mitsumi'
が指定できる。
- Mitsumi
標準インターフェース
- この CD-ROM
インターフェースの構文は以下の通り。
mcd=iobase,[irq[,wait_value]]
- wait_value
はドライブに問題がある場合に、
ドライバ内部のタイムアウトの指定に用いる。
コンパイル時の #define
によって実装されるかされないかが決まる。
Mitsumi FX400 は IDE/ATAPI CD-ROM
プレイヤーであり、
この mcd
ドライバは使用しない。
- Mitsumi
XA/マルチセッションインターフェース
- これは上記と同じハードウェアだが、拡張機能がある。
構文は以下の通り。
mcdx=iobase[,irq]
- Optics
ストレージインターフェース
- このタイプのカードの構文は以下の通り。
optcd=iobase
- Phillips CM206
インターフェース
- このタイプのカードの構文は以下の通り。
cm206=[iobase][,irq]
- ドライバは IRQ
値として 3 から 11
まで、 I/O
ポートアドレスの値として
0x300 から 0x370
を想定している。
いずれか一方、あるいは両方を指定できる。順番も問わない。
'cm206=auto'
とすることにより自動検出もできる。
- Sanyo
インターフェース
- このタイプのカードの構文は以下の通り。
sjcd=iobase[,irq[,dma_channel]]
- SoundBlaster
Pro
インターフェース
- このタイプのカードの構文は以下の通り。
sbpcd=iobase,type
- type 値には 'SoundBlaster', 'LaserMate', 'SPEA'
のうちひとつを指定できる
(大文字小文字が区別される)。
iobase は CD-ROM
インターフェースの値である。
カードのサウンド部の値と間違えないこと。
イーサネットデバイス
ドライバが異なると用いるパラメーターも異なるが、
すべてのドライバは、少なくとも割り込み番号
(irq)、 I/O
ポートのベースアドレス
(iobase)、名前 (name) を持つ。
最も一般的な形式は以下の通り。
ether=irq,iobase[,param_1[,...param_8]],name
最初の数字でない値は名前として使用される。
param_n の値はカード
(ドライバ)
ごとに異なる意味を持つ。
よくある目的は、共有メモリーアドレスの指定、インターフェースの選択、
DMA
チャネルなどである。
このパラメーターの最もよくある利用法は、
2 番目の Ethernet
カードを強制的に検出させる場合である
(デフォルトでは 1
枚しか検出しない)。
これは簡単で、次のようにすればよい。
ether=0,0,eth1
この例で IRQ と I/O
ベースアドレスに 0
を指定しているのは、
ドライバに自動検出をするよう伝えているのである。
Ethernet-HOWTO
では、複数のカードを使うやり方や、
カードやドライバに特有の
param_n
値の意味について、
ずっと詳細に解説されている。
興味を持った読者は、この文書にあたり、
自分のカードに関して書かれているセクションを参照すると良い。
フロッピーディスクドライバ
フロッピードライバのオプションは多数あり、
Linux
カーネルソース内の
Documentation/floppy.txt
(古いカーネルの場合は
drivers/block/README.fd)
にすべて記載されている。
以下の情報はこのファイルからとったものである。
- floppy=mask,allowed_drive_mask
- 使ってよいドライブにかけるビットマスクを設定する。
デフォルトでは、
ユニット 0 と 1
のフロッピーコントローラーだけが許可されている。
これは、標準でないハードウェア
(例えば ASUS の
PCIマザーボードなど)
でユニット 2 や 3
にアクセスすると、
キーボードがおかしくなってしまうからである。
cmos オプション (後述)
の導入によって、
このオプションはあまり使われなくなった。
- floppy=all_drives
- 許可するドライブを示すビットマスクを、「すべてのドライブ」にする。
1
つのフロッピーコントローラーに
2
台以上のドライブを接続する場合に用いる。
- floppy=asus_pci
- ユニット 0 と 1
のみを許可するようビットマスクを設定する。
(デフォルト)。
- floppy=daring
- 正しく振る舞うフロッピーコントローラーを使っていることをドライバに伝える。
このオプションを使うと動作はより効率的かつスムースになるが、
コントローラーによっては動作に失敗することがある。
これを指定するとある種の動作が高速になる。
- floppy=0,daring
- 注意して扱わなければならない
フロッピーコントローラーであることをドライバに伝える。
- floppy=one_fdc
- フロッピーコントローラーがひとつしかないことをドライバに伝える
(デフォルト)。
- floppy=two_fdc
または floppy=address,two_fdc
- フロッピーコントローラーがふたつあることをドライバに伝える。
2
番目のコントローラーの
I/O アドレスは address
で指定する。 address
が指定されない場合は
0x370 が使われる。
- floppy=thinkpad
- Thinkpad
を使っていることをフロッピードライバに伝える。
Thinkpad
はディスク取出の検出信号を反転して使っている。
- floppy=0,thinkpad
- Thinkpad
を使っていないことをドライバに伝える。
- floppy=drive,type,cmos
- ドライブの cmos
タイプを type
に設定する。
さらにビットマスクを変更し、このドライブの使用を許可する。
この指定が便利なのは、フロッピードライブが
2 台以上ある場合
(物理 cmos
に記述できるのは 2
台まで) や、 BIOS
が標準的でない CMOS
タイプを使っている場合である。
最初の 2
台のドライブの CMOS に 0
を指定する
(デフォルト) と、
フロッピードライバはこれらのドライブの物理
cmos を参照する。
- floppy=unexpected_interrupts
- 予期しない割り込みを受けた時に警告メッセージを表示する
(デフォルト)。
- floppy=no_unexpected_interrupts
または floppy=L40SX
- 予期しない割り込みを受けた時でも警告メッセージを表示しない。
これは IBM L40SX
ラップトップコンピュータを
特定のビデオモードで使用する時に必要となる。
(ビデオとフロッピーとの間で何らかの相互作用があるようだ。
予期しない割り込みは性能だけに影響し、無視しても安全である。)
サウンドドライバ
サウンドドライバも起動時引数を受け付け、
コンパイル時に指定された値を変更できる。
これはやや面倒なため、あまりお薦めできない。
詳細は、Linux
カーネルソース内の
Documentation/sound/oss/README.OSS
(古いカーネルの場合は
drivers/sound/Readme.linux)
に記載されている。
引数の形式は以下の通り。
sound=device1[,device2[,device3...[,device10]]]
- 各 deviceN はそれぞれ 0xTaaaId
という形式で指定する。
各バイトの意味は以下の通り。
T -
デバイスのタイプ: 1=FM,
2=SB, 3=PAS, 4=GUS, 5=MPU401, 6=SB16, 7=SB16-MPU401
aaa - I/O
ポートアドレス
(16進値)
I - 割り込み番号 (16
進値。例: 10=a, 11=b, ...)
d - DMA チャネル
上記の通り、かなり扱いにくい形式となっており、
コンパイル時に自分にあった値を指定する方が良いだろう。
なお起動時引数として
'sound=0' を指定すると、
サウンドドライバを完全に無効にする。
- ICN ISDN
ドライバ
- 構文は以下の通り。
icn=iobase,membase,icn_id1,icn_id2
- icn_id1,icn_id2
はカードを識別するための
2 つの文字列である。
カーネルメッセージで用いられる。
- PCBIT ISDN
ドライバ
- 構文は以下の通り。
pcbit=membase1,irq1[,membase2,irq2]
- membaseN は N
番目のカードの共有メモリーのベースアドレスであり、
irqN は N
番目のカードの割り込み設定である。
無指定時には IRQ = 5, membase =
0xD0000 となる。
- Teles ISDN
ドライバ
- 構文は以下の通り。
teles=iobase,irq,membase,protocol,teles_id
- iobase はカードの I/O
ポートアドレス、 membase
はカードの共有メモリーのベースアドレス、
そして irq
はカードが使用する割り込みチャネルである。
teles_id
はアスキー文字列による識別文字列である
(他と重ならないようにする)。
シリアルポートドライバ
- RISCom/8
マルチポートシリアルドライバ
('riscom8=')
- 構文は以下の通り。
riscom=iobase1[,iobase2[,iobase3[,iobase4]]]
- 詳細はカーネルソースファイル
Documentation/riscom8.txt
を参照のこと。
- DigiBoard
ドライバ ('digi=')
- このオプションを使う場合は、6
個のパラメーターをきっちり指定しなければならない。
構文は以下の通り。
digi=status,type,altpin,numports,iobase,membase
- パラメーターは整数値か文字列で与える。
文字列で指定する場合は、
iobase と membase は 16
進値でなければならない。
整数値で指定する場合はパラメーターの個数は少なくても良く、順に:
status
このカードの動作を指定する
(Enable(1) または Disable(0)), type
カードのタイプ (PC/Xi(0),
PC/Xe(1), PC/Xeve(2), PC/Xem(3)), altpin
ピン配置を反転させる
(Enable(1) or Disable(0)), numports
カードのポート番号,
iobase このカードの I/O
ポート
(文字列指定の場合は
16 進表記), membase
メモリーウィンドウのベースアドレス
(文字列指定の場合は
16 進表記)。
したがって以下のふたつの起動時引数は同じ意味を持つ。
digi=E,PC/Xi,D,16,200,D0000
digi=1,0,0,16,0x200,851968
- 詳細はカーネルソースファイル
Documentation/digiboard.txt を参照。
- Baycom
シリアル・パラレル
ラジオモデム
- 構文は以下の通り。
baycom=iobase,irq,modem
- ちょうど 3
つのパラメーターを与える。
複数のカードがある場合は、'baycom='
コマンドも複数記述する。
modem
パラメーターは文字列で、
ser12, ser12*, par96, par96*
の中からひとつを選ぶ。
*
をつけるとソフトウェア
DCD を使用する。
モデムの種類に応じて
ser12 か par96
かを選択する。
詳細は Linux
カーネルソース内の
Documentation/networking/baycom.txt
(古いカーネルの場合は
drivers/net/README.baycom) を参照。
- サウンドカードラジオモデムドライバ
- 構文は以下の通り。
soundmodem=iobase,irq,dma[,dma2[,serio[,pario]]],0,mode
- 最後のパラメーターを除くすべてのパラメーターは整数である。
ダミーの 0
があるのは、設定プログラムのバグのせいである。
mode
パラメーターは文字列で、hw:modem
という書式で指定する。
hw は sbc, wss, wssfdx
のうちひとつ、 modem は
afsk1200, fsk9600
のどちらかを選択して記述する。
ラインプリンタドライバ
- 'lp='
-
構文は以下の通り。
lp=0
lp=auto
lp=reset
lp=port[,port...]
- プリンタドライバには、どのポートを使うか、
どのポートを使ってはいけないかを伝えることができる。
後者は、
利用可能なあらゆるパラレルポートをプリンタドライバが要求しないようにして、
他のドライバ (PLIP や PPA
など) から
それらを使えるようにしたい場合に便利である。
引数の書式は、複数のポート名である。
例えば lp=none,parport0
とすると、
最初のパラレルポートを
lp1 として使い、 lp0
は無効にする。プリンタードライバを完全に無効にするには
lp=0 とすればよい。
- WDT500/501
ドライバ
- 構文は以下の通り。
wdt=io,irq
マウスドライバ
- 'bmouse=irq'
- バスマウスドライバはパラメーターをひとつだけとり、
ハードウェア IRQ
を指定できる。
- 'msmouse=irq'
- msmouse
ドライバでもこの事情はまったく同じである。
- ATARI
マウスの設定
- 構文は以下の通り。
atamouse=threshold[,y-threshold]
- パラメーターがひとつだけ与えられた場合には、
x-threshold と y-threshold
を両方に用いられる。
ふたつ与えられた場合は、最初の値が
x-threshold
として用いられ、 2
番目の値が y-threshold
として用いられる。
値は 1 から 20
までの数値で指定する。
デフォルトは 2。
ビデオ機器
- 'no-scroll'
- このオプションは、コンソールドライバに、
ハードウェアスクロールを用いないよう伝える
(ここで言うハードウェアスクロールとは、
ビデオメモリー上のデータを移動させることによって
スクリーン表示領域をスクロールさせることを指す)。
特定の点字マシンではこの指定が必要となる。