5.1. インストール

このセクションでは、LILO のインストールについて説明します。LILO のアンインス トールについては、セクション LILO のアンインストール を参照して下さい。

5.1.1. 互換性

カーネルのヘッダーファイルは、/usr/include/linux になければいけませんし、 通常は、カーネルは、LILO をコンパイルする前に、make config を実行して、 作成されていなければいけません。

/bin/sh は本当のボーンシェルでなければいけません。bash は完全に互換性があり ますが、いくつかの ksh では問題が起こるかもしれません。

配布物に、INCOMPAT というファイルがあります。そこには LILO の古いバージョン との互換性について述べてあり、その他の互換性についての記述もあります。

5.1.2. 簡易インストール

もしあなたが自分のハードディスクに LILO をインストールしたいが、別に全ての 機能を使いたい訳ではないなら、簡易インストールスクリプトを使うといいかも しれません。詳細は、QuickInst(というファイル)を読んで下さい。

Quickinst は一番最初のインストールか、既存の状態を完全にリプレースする場合 にしか、利用できません。LILO の既存のインストール状態の更新には使えません。 他の LILO のインストールファイルが全くないディレクトリに、LILO を解凍して いるか確認してください。

5.1.3. ファイル

lilo-21.tar.gz にはいくつかのファイルが含まれています−

lilo/README

このドキュメントはプレーンな ASCII フォーマットです。複雑な表を含む、 いくつかのセクションは、doc/user.tex にある LaTex バージョンにのみ 含まれています。

lilo/INCOMPAT

LILO の古いバージョンとの互換性のリストです。

lilo/CHANGES

更新履歴です。

lilo/VERSION

それぞれのリリースのバージョン番号です。

lilo/QuickInst

簡易インストールスクリプトです。

lilo/lilo-<version>.lsm

それぞれの LILO のリリースの LSM ("Linux Software Map") エントリです。

lilo/Makefile

他の全てを作成する Makefile です。

lilo/*.c, lilo/*.h

LILO のマップインストーラの C ソース及び共通ヘッダーファイルです。

lilo/*.S

LILO ブートローダのアッセンブラソースです。

lilo/activate.c

簡易なブートパッケージ設定ツールの C ソースです。

lilo/dparam.s

ディスクパラメータダンプツールのアッセンブラソースです。

lilo/mkdist

現在の LILO の配布物を作成するために使うシェルスクリプトです。

lilo/keytab-lilo.pl

キーボード変換テーブルを作成する Perl スクリプトです。

lilo/doc/README

ドキュメントを生成する方法に対する記述です。

lilo/doc/Makefile

LaTex ソースを DVI 出力やプレーンな ASCII README に変換するために使う Makefile です。

lilo/doc/user.tex

LILO のユーザーズガイドの LaTeX ソースです。 (このドキュメント).

lilo/doc/tech.tex

LILO の技術概要の LaTeX ソースです。

lilo/doc/*.fig

技術概要で使う、いくつかの xfig フォーマットの画像です。

lilo/doc/fullpage.sty

数平方マイルの森林を救うためのスタイルファイル

lilo/doc/rlatex

全ての参照がなくなるまで、繰り返し LaTeX を出力するシェルスクリプトです。

lilo/doc/t2a.pl

ユーザーズガイドの LaTeX ソースをプレーンな ASCII テキストに変換する Perl スクリプトです。

lilo ディレクトリ下(その周辺も)の make をした後に作成されるファイル−

5.1.4. 標準初期インストール

まず、LILO ファイルをインストールしなければいけません。

もし非標準的なディスクで、LILO を使う場合は、ディスクのパラメータを決定し、 それを設定ファイル内に指定しなければなりません。詳細は``ディスクジオメトリ'' のセクションを参照してください。非標準的なディスクを使う場合は、次に LILO の ブートセクターをフロッピーディスクに置いてテストすべきです。

ここで、あなたは使用するブートコンセプトを決定する必要があります。/dev/hda2 に Linux のパーティションがあるとしましょう。あなたは、LILO をそこにインス トールしたいでしょう。DOS-MBR が LILO のブートセクターをロードします。

5.1.5. ビルド時の設定

ビルド時に、いくつかのパラメータを設定することができます。Makefile の上の方に 書くか、/etc/lilo.defines というファイルに書きます。このファイルが存在する場合 Makefile の設定は無視されます。

以下の項目が設定できます。

BEEP

``LILO''と表示された後にビープ音を鳴らすようにします。これはシリアル コンソール越しに起動したり稼働している時に、正しい時間にビープ音が鳴らない マシンの場合、便利です。このオプションはデフォルトでは無効です。

IGNORECASE

イメージ名の照合時に大文字小文字を区別しません。例えば``linux'' と ``Linux'' は同一として扱います。このオプションはデフォルトで有効です。 パスワードの照合は、大文字小文字を常に区別することに注意してください。

LARGE_EBDA

EBDA (拡張 BIOS データ領域) のためのスペースをより多く確保する ために、LILO を下位アドレスにロードします。これは最近の MP システムで必要 です。LARGE_EBDA を有効にすると、``小さな'' イメージ(たとえば、``Image'' や ``zImage''など)の最大サイズが小さくなることに注意してください。

NO1STDIAG

第 1 ステージブートローダにおいて、読み込みエラーが起きても、 診断情報を生成しません。これによって、ディスクコントローラが一時的に読み 込みエラーを起こしただけで、冗長なエラーコードを表示してしまうのを防ぎます。 このオプションはデフォルトでは無効です。

NODRAIN

いくつかのシステムではキーボードバッファにゴミがあるので、起動時に この領域を空にします。NODRAIN を設定することで、キーボードバッファの掃除を 無効にします。このオプションはデフォルトでは無効です。

NOINSTDEF

INSTALL オプションが省略された場合、新しいブートセクターをインス トールせず、古いブートセクターを更新しようとします。このオプションはデフォ ルトでは無効です。

ONE_SHOT

もし何かのキーが押されていたら、コマンドラインタイムアウト(構成 変数 TIMEOUT)を無効にします。こうすると、非常に短いタイムアウトが、PROMPT 変数が設定されている場合に利用されます。ONE_SHOT はデフォルトでは無効です。

READONLY

マップファイル内のデフォルトコマンドラインのセクターの上書きを 禁止します。こうすることにより、-R で指定したコマンドラインが、明示的に 解除されるまで、有効になります。READONLY は LOCK, FALLBACK 及びすべての REWRITE_TABLE によって有効になる全てのオプションを無効にします。デフォルト ではこのオプションは無効です。

REWRITE_TABLE

ブート時のパーティションテーブルの書き換えを有効にします。 これはシステムパーティションにアクティブフラグがセットされていることが 必要な、またパーティションタイプを変更する必要のあるシステムを起動する 時に必要になるでしょう。``パーティションテーブルの書き換え''セクションも 参照してください。このオプションは危険なので、デフォルトでは無効です。

USE_TMPDIR

一時的なデバイスファイルを作成するときに TMPDIR 環境変数に指定 されたディレクトリを使用します。もし TMPDIR が設定されていなかったり、

USE_TMPDIR

なしで、LILO がコンパイルされた場合、一時的なデバイスファイル は、/tmp に作成されます。 [2] このオプションはデフォルトでは無効です。

VARSETUP

可変サイズのセットアップセグメントの利用を有効にします。このオプ ションは、デフォルトで有効で、旧式のカーネルを使う時に稀に起こるであろう 不具合時のみ、固定サイズのセットアップセグメントに移行するようにします。 XL_SECS=<セクター数> 特別に大きい(非標準の)フロッピーディスクをサポート します。セクター数は、BIOS のディスクパラメータテーブルに特殊な値として 設定されます。この手法は、システムによっては不適当な動作を引き起こすかも しれないことに注意してください。このオプションはデフォルトでは無効です。

/etc/lilo.defines は恒常的な変更がある場合に使うといいでしょう。通常のインス トール手続きでは、このファイルには触れません。

ビルド時の設定を変更したあとは、LILO 以下のようなコマンドで、再コンパイル しないといけません。

make spotless
make

5.1.6. フロッピーディスクインストール

いくつかの場合 [3] 、ハードディスクのアクセスせずにカーネルを起動できるように、 フロッピーディスクに LILO をインストールすることが望ましいです。

基本的な手続きは、全く単純です(BIOS 制限セクションも参照してください)

これは以下のように簡単にできます

/sbin/mke2fs /dev/fd0 [ -d /fd ] || mkdir /fd
mount /dev/fd0 /fd
cp /boot/boot.b /fd
cp /zImage /fd
echo image=/fd/zImage label=linux |
  /sbin/lilo -C - -b /dev/fd0 -i /fd/boot.b -c -m /fd/map
umount /fd

/sbin/lilo のコマンドラインはちょっとトリッキーです。-C - は設定情報を標準入力 から取得し(通常はファイルに書かれてますが)、-b /dev/fd0 はブートセクターを フロッピーディスクに書くことを指定し、-i /fd/boot.b は第 1、及び第 2 ステージ ローダをフロッピーから取得することを指定し、-c はロード手続きをスピードアップ して、-m /fd/map はマップファイルもフロッピーに置くことを指定します。

Notes

[1]

例えば /usr/src/lilo など

[2]

TMPDIR を尊重するのは``正しい''ことですが、LILO が一時的なデバイスファイル をつくるということは、動作環境が完全には設定されていないのかもしれません。 そのような場合には、TMPDIR は正しい場所を指していないかもしれません。

[3]

例えば、BIOS を通じてハードディスクにアクセスできない場合など。