3.2. ブートコマンドラインオプション

LILO はカーネルに、コマンドラインオプションも渡すことができます。コマンド ラインオプションとは、ブートイメージ名に続けて、スペース区切りで指定される 単語群のことです。

Example 3-1. ブートオプション

boot: linux single root=200

この文書では、ブートオプションについては概要しか説明しません。より詳細で、 最新の情報は、Paul Gortmaker の BootPrompt-HOWTO(日本語訳) を調べてください。 以下のサイトから入手可能です。 ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/BootPrompt-HOWTO.gz または、 多くのミラーサイト。

3.2.1. 標準オプション

最新のカーネルは非常に多くのオプションを持っています。debug , no387 , no-hlt ,ramdisk=<size> , reserve=<base>,<size>,... , root=<device>, ro , rw 。 全ての現在の初期化プログラムもまた、オプション single を知って います。 オプション lockvga はブートローダ自身に よって処理されます。ブートコマンド ラインオプションは常に、大文字小文字を区別します。

single

single はシステムをシングルユーザモードでブートします。 これはシステムの 殆どの初期処理を省き、コンソール上で、直接ルートシェルを開始します。普通は、 シングルユーザモードを抜けるか、再起動することによって、マルチユーザモードに 移行します。

root=<device>

root=<device> はルートデバイスを変更します。これは ブートイメージが持つ 設定や、LILO コマンドラインでの指定を上書きします。<device> は、16 進数の デバイス番号か、/dev/hda3 などのデバイスのフルパス名を 指定します。 [1]

reserve=<base>, <size>

reserve=<base>,<size>,... は IO ポート領域を 予約します。これは デバイス ドライバが、他のデバイスに割り当てられているアドレスを自動的に検知して競合 するのを防ぎます。

ro, rw

ro はカーネルに対し、ルートファイルシステムを 「読み込みのみ」でマウント するように指示します。rw は「読み書き可」でマウントします。 もしいずれの指定 もない場合は、ブートイメージから取得した設定が使用されます。

no-hlt

no-hlt はシステムアイドル時は HLT 命令の実行を避けます。HLT は通常消費電力 を劇的に減らします、そのため CPU の無駄を省きますが、いくつかのクローン CPU では正しく動作しないかもしれません。 no387 は、ハードウェア FPU があったと しても無効にします。

init=<name>, noinitrd

最近のカーネルはまた、init=<name>noinitrd オプションを受け入れます。 init には、実行する初期プログラムの名前を指定します。 それゆえ、もし初期化 がうまく構成されないために、シングルモードに入れなかった場合も、init=/bin/sh という値を使って、shell に到達できます。 noinitrd は、初期 RAM ディスクの 自動ロードを無効にします。その代わり、その内容物は、/dev/initrd で利用する ことができます。

vga=<mode>

vga=<mode> は起動時に VGA モードの設定を変更します。 値としては、 normal, extended, ask または、10進数があります。 (ファイルからのカーネルイメージ のブートセクションを参照してください)

kbd=<code>

kbd=<code>,... はBIOS のキーボードバッファに、 キーストロークのシーケンスを プリロードします。キーストロークは、上位バイトがスキャンコードで、下位バイト が、ASCII コードの、16 bit の 16進数として指定します。スキャンコードはしばしば 省略されるので、多くのプログラムは、ASCII コードしか使わないことに注意して ください。スキャンコード表は、PC ハードウェアの多くの文書にあります。スキャン コードは、キーボードレイアウトに依存することも注意してください。

lock

最後に、lock は現在のコマンドラインをデフォルトのコマンド ラインとして格納します。従って、LILO は次回のブート時に、同じイメージを、同じ オプション(lock オプションも含めて)でブートします。

3.2.2. デバイス特化オプション

デバイスのある特性(例えば IO やメモリのアドレス)を指定するオプションも 非常に沢山あります。一般的なものとして、ether, floppy, hd, bmouse,そして、sound など。これらのオプションは、 <oprion>=<number>,....と いう形で 利用します。詳細は、関連の FAQ 集や、HOWTO ものを調べてください。すべての 利用可能なオプションの概要は、カーネルソースの init/main.c を調べてください。

3.2.3. その他のオプション

標準オプションでも、デバイス特化オプションでもない、<変数>=<値> と いう形の オプションは、初期処理に渡される環境変数となります。変数名の大文字小文字の 区別は保たれます。つまり自動的に大文字に変換したりはしません。

初期処理に渡される環境変数は、通常はシステム初期化スクリプト (たとえば、 /etc/rc.local など) で利用されますが、ログインプログラム がユーザ環境からは、 これらの環境変数を取り除いてしまうので、通常のログインセッションでは見ること ができないことに注意してください。

3.2.4. オプションの繰り返し

コマンドラインオプションの繰り返しの効果は、オプションに依存します。 [2] 3 つの考えうる動作があります。

(出現回数に関係なく)その機能を有効にしたり、無効にしたりするオプションは 次のものです。debug, lock, no-hlt, と no387 がこの部類に属します。

出現ごとにグローバル設定が変わり、最後のオプションやその引数の値だけが有効に なるオプションは次のものです。rorw など お互い相反するオプションは、この例 にあたります。また、ramdisk, root, や vga などもこれにあたります。

最後に、reserve や多くのデバイス特化オプションが繰り返された 場合、それぞれが 独自の意味を持ちます。例えば、hd=... hd=... とある場合、2 つ のディスクが構成 されますし、
reserve=0x300,8 reserve=0x5f0,16 
は 0x300 から 0x307 と 0x5f0 から 0x5ff の範囲が予約されます。(この場合、reserve=0x300,8,0x5f0,16 と記述した 場合と同じになります)

3.2.5. 暗黙のオプション

LILO は「BOOT_IMAGE=<名称>」という文字列を、<名称> がカーネルを一意 に特定 できるなら(例えば label オプションなどで)、常にカーネルに 渡します。この 変数は、カーネルごとに依存する、異なった行為を選択するために、/etc/rc で 利用されます。

たとえば人が介在しないで、自動的にブートした場合、auto という 単語がコマンド ラインに渡されます。この情報はブート段階で初期処理が対話のためのプロンプトを 抑止するのに利用されます。

Notes

[1]

デバイス名はカーネルにハードコードされています。それゆえ``標準的な'' 名称しか、サポートされません。あまり一般的でない名称は認識されないかも しれません。そのような場合は、デバイス番号を使ってください。

[2]

オプションはしばしば繰り返し指定されますが、その場合、APPEND や LITERAL を付けて定義した文字列を、ユーザがタイプするパラメータの前に置きます。また 設定ファイルで RAMDISK, READ-ONLY, READ-WRITE, および ROOT が指定された 場合、LILO は、それぞれ ramdisk, ro, rw, および root というオプションを 黙示的に付け加えます。(lockvgaは それらとは異なった内部メカニズムで 処理されます)