設定情報は、ファイル /etc/lilo.conf に格納され、変数を指定するという形で 成り立っています。
以下のような文法を適用します。
フラグ変数は、一つの単語で構成され、その後にホワイトスペースか、ファイル の終了コードが置かれます。
文字列変数は、変数名、任意のホワイトスペース、イコール記号、任意の ホワイトスペース、値、そしてそれに続くホワイトスペースかファイルの終了 コードから構成されます。
ブランク、タブ、改行、コメントの空でないシーケンスは、ホワイトスペース としてカウントされます。
変数名は、大文字小文字を区別します。値は普通は、大文字小文字を区別しま しますが、一部例外もあります。(後述)
タブと改行は、特別な文字で、変数名や値の一部とは成り得ません。他の コントロール文字や、非 ASCII 文字の利用は認められません。
ブランクとイコール記号は、バックスラッシュでエスケープするか、ダブル クォートで囲まれている場合は、変数名や値と成り得ます。ただイコール記号は 1文字だけでは変数名や値にはなり得ません。
エスケープされたタブは、エスケープされたブランクに変換されます。エスケープ された改行は、入力行から取り除かれます。エスケープされたバックスラッシュ (つまり 2 つのバックスラッシュ)はバックスラッシュそのものになります。 引用文字列の中では、ダブルクォート、バックスラッシュ、ダラー記号、及び改行 のみがエスケープできます。
引用文字列は、途中の行の最後にバックスラッシュを記述することで、複数行に 跨ることができます。行末はその次の行の先頭にいくらスペースやタブがあろうが 無かろうが、一つのスペースに置き換えます。
環境変数は、$<名称> または ${<名称>} という形で指定することで、利用する ことができます。ダラー記号はエスケープされます。
コメントは、ナンバー記号(#)で始まり、改行で終わります。全ての文字(バック スラッシュも含めて)は改行まで、無視されます。
Example 4-1. /etc/lilo.conf の設定例
boot = $FD install = $MNT/boot.b map = $MNT/map compact read-only append = "nfsroot=/home/linux-install/root \ nfsaddrs=128.178.156.28:128.178.156.24::255.255.255.0:lrcinst" image = $MNT/zImage |
/etc/lilo.conf はグローバルオプションのないものもあるかもしれません。多くの グローバルオプションは、コマンドラインからも指定できますが、恒常的なものは 設定ファイルに記述した方がより便利です。
/boot/boot.<数値>の代わりに、元のブート セクターを<バックアップファイル>(/dev/null のようなデバイス名でも構わ ない)にコピーします。
ブートセクターを含むデバイス(例えばハードディスク のパーティションなど)を指定します。省略された場合、現在ルートとして マウントされているデバイスから、ブートセクターは読み込み(おそらく 書き込みも)を行います。
パーティションタイプ番号を定義します。詳細は パーティションタイプの変更ルールのセクションを参照してください。
隣接したいくつかのセクターをまとめて、一つの read リクエストで 読めるように試みます。これは、ロード時間を劇的に減少すると共に、マップ ファイルを小さくします。COMPACT 変数は、特にフロッピーディスクからブート する場合にお薦めです。COMPACT は、LINEAR と LBA32 と競合するかもしれない ので、その他の問題 のセクションを 参照してください。
デバイスブートイメージとして、指定のイメージを使います。 省略された場合は、設定ファイル上で最初に記述されたイメージが使われます。
最初のイメージをブートする前に、LILO が待つべき時間を 10 分の 1 秒単位で指定します。これは、キーボードが有効になると即座に ハードディスクから起動してしまうようなシステムには便利です。DELAY 変数 が省略されたり、0 が指定された場合は、LILO は即座に実行されます。
指定ディスクに対し、非標準的なパラメータを定義します。 詳細は、ディスクジオメトリ のセクションを参照してください。
LILO がパーティションテーブルの3次元アドレスを調整します。 パーティションエントリには、そのパーティションの先頭と最後のセクターの 3次元(セクター/ヘッド/シリンダー)アドレスと、32bit のリニアアドレス の2つがあります。もしあるパーティションがトラック単位で割り当てられていな い場合で、かつ他のオペレーティングシステム(例えば PC/MS-DOS や OS/2)が 同じディスクを使用している場合、それらの OS は、3次元アドレスの方を変更 してしまうかもしれません。LILO は双方のアドレスタイプが一致するパーティ ションにしか、そのブートセクターを置けません。FIX-TABLE 変数が設定されて いる場合、LILO はこの不正な3次元アドレスを再調整します。
Warning |
警告− このことは、その後、他のオペレーティングシステムがアドレスを元に 戻してしまわないことを保証するものではありません。またこの変更は、他の 予期せぬ効果をもたらす可能性があります。正しい修正方法は、トラック単位に パーティションを割り当てるようなプログラムを使ってパーティションの切り 直しをすることです。またいくつかのディスク(例えば、アドレス変換が有効な 大容量 EIDE のディスク)では、特定の状況下では、パーティションテーブル エントリの矛盾をさけることはできません。 |
BACKUP 変数と同じですが、古いバック アップコピーが存在しても上書きします。同じ設定ファイル内にこのオプション があった場合は、BACKUP オプションは無視されます。
LILO はパーティションテーブルがたとえ不正だったとしてもこれを 無視して、そこにブートセクターを置きます。
指定されたファイルを新しいブートセクターとして、 インストールします。省略された場合、/boot/boot.b がデフォルトとして使用 されます。
指定ファイルの設定で、キーボードを再マップ します。詳細は、キーボード変換 のセクションを参照してください。
セクター/ヘッド/シリンダー・アドレスの代わりに、32-bit 論理 ブロックアドレスを生成します。もし BIOS がパケットアドレスをサポート しているなら、ディスクアクセスに、パケットコールを用います。これは 1024 シリンダーを越えたパーティションからのブートを可能にします。もし BIOS がパケットアドレスをサポートしていなかったら、LINEAR オプション のように、LBA32 アドレスは、C:H:S アドレスに変換されます。フロッピー ディスクは、依然 C:H:S アドレスを使っています。LBA32 は、1998 年以降 のシステムで、使用することをお薦めします。またLBA32 は COMPACT と両立 しません。その他の問題 のセクションを参照してください。
セクター/ヘッド/シリンダー・アドレスの代わりに、リニアセクター アドレスを生成します。リニアアドレスは、実行に変換され、ディスクの ジオメトリに依存しません。LINEAR を使うとブートディスクはポータブルで なくなります。なぜならディスクジオメトリを決定する BIOS サービスは、 フロッピーディスクには、働かないからです。大容量ディスクで、LINEAR を 使うと、/sbin/lilo はアクセスできないディスク領域への参照を生成するで しょう(BIOS 制限 のセクションを参照してください)。なぜならブート前 は、3 次元 セクターアドレスは分からないからです。LINEAR は COMPACT を 競合します。その他の問題 のセクションを参照してください。
マップファイルの場所を指定します。もし MAP 変数が 省略された場合、ファイル /boot/map が使用されます。
ブートプロンプトの前に表示するメッセージを 格納したファイルを指定します。``LILO ''と表示された後、更新キー(シフト キー、その他)を待っている間は、メッセージは表示されません。FF 文字 ([Ctrl L])はローカルスクリーンをクリアします。メッセージファイルの サイズは、65535 バイトまでです。メッセージファイルが変わったり、移動した 場合は、マップファイルの再構築が必要です。
将来予測される危険についての警告を無効にします。
事前に何のキーも押されていなくても、強制的にブートプロンプトを表示 します。PROMPT が設定されていて、かつ TIMEOUT が設定されてない場合は、 無人リブートはできません。
シリアルラインからの制御を有効にします。指定された シリアルポートは初期化され、LILO は、そのポートとキーボードの双方からの 入力を受け付けます。シリアルライン上に、break 信号を送ることは、LILO の 注意を引くために、コンソール上で、シフトキーを押すのと同じです。例えば シリアルラインがモデムに繋がっているなど、シリアルアクセスが、コンソール アクセスよりの安全でない場合、全てのブートイメージにパスワード保護を かけるべきでしょう。パラメータ文字列は、以下のような文法になります−
<ポート>,<bit/秒><パリティ><bit数> |
コンポーネント<bit/秒>、<パリティ> と <bit数> は省略可能 です。もしこの うち一つでもコンポーネントが省略された場合、全ての他のコンポーネントも 省略されなければなりません。加えて、もしポートだけが指定された場合は、 カンマも省略しなければいけません。
0 ベースのシリアルポートの番号です。0 は /dev/ttyS0 その他 の別名である COM1 に対応します。(もし存在するなら)4 ポート全てを 利用することができます。
シリアルポートのボーレートです。以下のボーレートを サポート します− 110, 300, 1200, 2400, 4800, 9600, 19200, 38400 bps。 デフォルトは、2400 bps です。
シリアルラインで使われるパリティです。LILO は入力 パリティ を無視し、8 番目の bit を取り除きます。パリティを表現するのに、以下 のような(大文字または小文字の)文字を使います− n はパリティなし、 e は偶数パリティ、そして o は奇数パリティです。
1 文字内のビット数です。7 ビットと 8 ビットのみが サポート されます。デフォルトは、パリティなしの場合、8 ビットで、奇数または 偶数パリティの場合、7 ビットです。
SERIAL が設定されると、自動的に DELAY が 20 に上がります。
例− serial=0,2400n8 はデフォルトパラメータで COM1 を初期化します。 |
キーボード入力に対するタイムアウト時間(10 分の 1 秒単位) を設定します。指定された時間、何もキー入力が無かった場合、自動的に最初 のイメージがブートされます。あまり長い間、パスワードの入力がない場合も 同様です。
より多くの進行情報を表示します。数値が高くなればなる程 出力も増加します。もしコマンドラインに -v が追加されると、それに応じて <レベル>が上昇します。出力情報レベルは以下です−
0 以下 警告とエラーのみ表示 0 追加、及びスキップしたイメージ毎に 1 行表示 1 重要なファイルとデバイス名、及びなぜそれがアクセスされるかの 理由が表示されます。また例外的ではあるが、特に有害ではないよ うな状況についての付加情報メッセージや、バージョン番号なども 表示します。 2 静的、および進行的な一時ファイルやデバイスを表示します。 3 ディレクトリのジオメトリ情報や、パーティションテーブルの変更 規則を表示します。 4 マップファイルに記述したセクターマッピングを表示します。(圧縮 後のものは BIOS に渡すのに適した形にフォーマットしたものを表示 します) 5 セクターのマッピング情報を表示します。(圧縮以前の生の状態を表示 します) |
-q オプションが使われている場合は、レベルは多少違う意味になります−
0 イメージ名のみ表示します。 1 全てのグローバル、及びイメージ毎の設定も表示します。 2 最初マップセクターのアドレスを表示します。 |
加えて、カーネル構成パラメータ APPEND, INITRD, RAMDISK, READ-ONLY, READ-WRITE, ROOT, VGA, と一般的イメージ毎のオプション FALLBACK, LOCK, OPTIONAL, PASSWORD, RESTRICTED, SINGLE-KEY はグローバルオプションのセクションに指定することができ ます。その場合、各イメージのセクションに同じ指定がない場合のデフォルトとして 使用されます。説明は以下を参照してください。
最初は、オプションの余りの多さにうんざりするかもしれません。しかし``普通の'' 構成なら、BOOT, COMPACT, DELAY, ROOT, VGA くらいしか使わないでしょう。
以下のオプションは、全てのイメージに対し、その種類に関係なく指定することが できます。
そのエントリの第 2 名称を指定します。
当該イメージがブートされたときの、デフォルトの コマンドラインとして格納する文字列を指定します。これは、システム起動に 達する前にクラッシュしてしまうかもしれない(実験中の)カーネルを検査する ような時に有効です。FALLBACK オプションを使うと、次のリブート(例えば、 手動によりリセットや、監視機能による)時に異なった(たぶん正しく動作する) カーネルがロードされるでしょう。fallback メカニズムによるコマンドライン は、-R オプションによるデフォルトコマンドラインの削除や変更によって、 クリアされます。デフォルトコマンドラインの変更を参照してください。
デフォルトでは、LILO はそれぞれのイメージを特定するための名称 として、メインファイル名(パスを除いた)を使います。LABEL 変数を使うこと によって、別の名称を使うことができます。
ブート時のコマンドラインを、次回のブート時のデフォルトコマンドライン として、自動的に記録します。この場合、LILO は手動で上書きされまで、lock し続けることになります。
マップ作成時のそのメインファイルが利用できない場合、このイメージ を省略します。これはいつも存在する訳ではない、テスト用のカーネルを指定 するのに便利です。
イメージをロードしようとする時にユーザにパスワード を尋ねます。設定ファイルは暗号化せずにこのオプションを記述しますので、 設定ファイルをスーパユーザしか読めないようにすべきです。パスワードは常に 大文字小文字を区別します。
パスワード保護を緩めて、コマンドライン(たとえばシングルユーザ モード指定など)が指定された時のみ、パスワードを要求するようにします。 RESTRICTED 変数は、PASSWORD 変数と一緒に指定された時のみ有効です。
一つのキーを押すだけでイメージの選択が可能になります。その後に [Enter] キーを押す必要がありません。SINGLE-KEY オプションは、イメージの label、または別名、(またはその両方)が1文字であることを要求します。 それゆえ、その文字で始まる他のラベルや別名があってはいけません。例えば、 「linux」というラベルと「l」という別名を指定することは、SINGLE-KEY 変数 を使う場合は許させません。またもし1文字の名称しか指定しないと、コマンド ラインパラメータを指定できなくなるので注意してください。
全ての一般のイメージ毎のオプションは、LABEL と ALIAS を除いて、全イメージの デフォルト値として、グローバルオプションセクションに記述することができます。
Example 4-2. イメージごとのオプション
password = Geheim single-key image = /vmlinuz label = linux alias = 1 restricted other = /dev/hda1 label = dos alias = 2 |
それぞれ(カーネルもカーネル以外も)のイメージの説明は、任意の変数が後に続く 特別な変数で始まります(デバイスからのカーネルイメージのブートセクション をご覧ください)。以下の変数は、Linux カーネルを説明するために使用されます。
<文字列>に指定されたオプションをパラメータ行に付けて、 カーネルに渡します。これは完全に自動検出できないようなハードウェアの パラメータを指定するのによく利用します。例えば以下のような。
append = "aha152x=0x140,11" |
ブート時に、初期 RAM ディスクとしてロードすべきファイルを 指定します。
APPENDと似ていますが、こちらは他のオプションは削除して しまいます(例えばルートデバイスの設定など)。不用意な LITERAL オプション の使用は、必要不可欠のオプションを削除してしまうことになるので、この オプションはグローバルオプションセクションに指定することはできません。
任意の RAM ディスクのサイズを指定します。0 を指定すると RAM ディスクは作成されません。省略した場合は、ブートイメージで使用され ているサイズが採用されます。
ルートファイルシステムを読み取り専用でマウントすべき場合に指定 します。大抵は、システムのスタートアッププロシージャが後で(例えば、fsck を行った後など)ルートファイルシステムを読み書き可能で再マウントします。
ルートファイルシステムを読み書き可能でマウントすべき場合に指定 します。
ルートとしてマウントすべきデバイスを指定します。 特殊名称 CURRENT が使用された場合は、現在ルートファイルシステムがマウント されているデバイスがルートデバイスとして設定されます。もし -r オプション によってルートが変更された場合は、それぞれのデバイスが使用されます。ROOT 変数が省略された場合、カーネルイメージに含まれているルートデバイスが使用 されます。これは、rdev プログラムで変更できます。
ブート時に選択されるべき、VGA テキストモードを指定します。 以下の値が許されます。(大文字小文字は区別しません)
通常の 80x25 テキストモードを選択します。
80x50 テキストモードを選択します。EXTENDEDは、EXT と短縮して 記述することができます。
ブート時に停止して、ユーザに入力を求めます。 <数値> 対応するテキストモードを使用します。利用可能なモードのリ ストは vga=ask でブートして、[Enter]キーを押すことで表示できます。
もしこの変数が省略された場合は、カーネルイメージに含まれる VGA テキスト モードが使用されます。rdev コマンドでカーネルイメージに設定されている VGA テキストモードを変更することができます。
LITERAL 以外の全てのカーネルのイメージ毎のオプションもまた、全てのカーネルに 対するデフォルトとして、グローバルオプションセクションに記述できます。
もし RAMDISK, READ-ONLY, READ-WRITE, ROOT, または VGA のうちいくつかが、構成 ファイル上では省略されて、更にカーネルイメージ内の対応変数が変更された場合は LILO またはカーネルは、その新しい値を使用するでしょう。
同じイメージに対し異なった設定を行うことも全く問題ありません。なぜなら LILO は、それらの設定を、イメージ自身ではなく、別のイメージディスクリプタに保存 するからです。
Example 4-3. カーネルのためのオプションの例
image = /vmlinuz label = lin-hd root = /dev/hda2 image = /vmlinuz label = lin-fd root = /dev/fd0 |