前のページ 次のページ 目次

4. カーネルのコンパイル

4.1 クリーニングと依存ファイルの確認

設定スクリプトの実行が終了すると,`make dep',`make clean' するように表示されます。ですから`make dep'してください。これはイン クルードファイルなど,必要とするファイルのすべてが存在するかどうかを確認し ます。マシンがよほど遅くないかぎり,これにはそんなに時間が掛かりません。終 ったら`make clean'します。これはすべてのオブジェクトファイルと,以 前のバージョンに関係する古いファイルを消去します。このステップを忘れな いようにしてください。

4.2 コンパイル

依存ファイルのチェックとクリーニングが終了すると,`make zImage'もし くは`make zdisk'することができます(これは長い時間を要するところで す)。`make zImage'はカーネルをコンパイルし,`zImage'と呼 ばれるファイルをarch/i386/bootに置きます(他のファイルもあります)。 これが圧縮された新しいカーネルです。`make zdisk'は同じことをします が,``A:''ドライブに入れたフロッピーディスクに新しいzImageを置きま す。`zdisk'は新しいカーネルをチェックするのに便利です; もしフロッ ピーが爆発したり(あるいは単にうまく動かない場合)には,フロッピーを取り外 して古いカーネルでブートするだけです。また,カーネルを誤って消してしまった ときなど(あるいはそれに類する危機的状態)にもこのフロッピーは便利です。さ らには,ディスクの中身を別のディスクに移したときにも,新しいシステムをイン ストールするのに使用できます(さあこんなにお得でお客さん、いくらなら買いま す!?[うまく訳せません])。

最近のカーネルはすべて圧縮されてますので,名前の先頭に`z'が付いて います。圧縮されたカーネルは,実行時に自動的に展開されます。

4.3 他の``make''できるもの

`make mrproper'はさらに徹底的な`クリーニング'をします。必要なこと もありますが,パッチを当てるごとにしてもいいかもしれません。 `make mrproper'はあなたの設定ファイルも消去してしまうでしょう。 ですから,設定ファイル(.config)が必要でしたら,それのバックアッ プを作っておいてください。

`make oldconfig'は古い設定ファイルにしたがってカーネルを構築しよ うとします; make config'のプロセスは飛ばします。もし,今まで一度 もカーネルをコンパイルしてなかったり,古い設定ファイルがないなら,これを 実行してはいけません。デフォルトの設定を変更したいことがほとんどでしょうか ら。

`make modules'の説明については,モジュールに関する節を参照して ください。

4.4 カーネルのインストール

設定通りの動作をするようなカーネルができたら,インストールしましょう。ほ とんどの人はLILO(Linux Loader)を使用します[訳者は,LILOでなくLoadlinを お勧めします。LILOはうまくいかないと,徹底的にうまくいかないような気がし ます]。`make zlilo'でカーネルをインストールし,そこでLILOを実行 すれば,ブートの準備がすべてできます,が,これはLILOが以下のように設定さ れている場合だけです:カーネルが/vmlinuzで,liloが/sbin にあり,liloの設定ファイル(/etc/lilo.conf)がこれに合致している 場合です。

そうでなければ,LILOを直接使用せねばなりません。LILOはインストールや取扱 いの容易なパッケージですが,設定ファイルで戸惑う人が多いようです。設定フ ァイルを見て下さい(古いバージョンでは/etc/lilo/config,新しいも のでは,/etc/lilo.confです)。そして現在の設定がどうなっているか 見てください。このような感じになっていると思います。

      image = /vmlinuz
          label = Linux
          root = /dev/hda1
          ...

`image ='は現在インストールされているカーネルが設定されています。 ほとんどの人は/vmlinuzを使用します。`label'はliloがどの カーネルあるいはOSをブートするか,判断するために使われ,`root'は 立ち上げるOSの/です。古いカーネルのバックアップを作成し,新しい zImageをコピーします(`/vmlinuz'を使用するなら, `cp zImage /vmlinuz'とします)。それから,新しいシステム上で再度 liloを実行します。もし古いカーネルから立ち上げている場合は, /etc/lilo/installあるいは/etc/lilo/lilo -C /etc/lilo/config を実行する必要があるでしょう。

LILOの設定についてもっと知りたい,あるいはLILOを持っていないのなら,お好 きなftpサイトから最新のバージョンを入手し,説明にしたがってください。

ハードディスクから古いカーネルの1つをブートするには(新しいカーネルがど うにもならなくなったときの対処法の一つです),LILOの設定ファイルの `image = xxx'とそれ以降の行をファイルの一番最後にコピーし, `image = xxx'を`image = yyy'に変更します。ここで, `yyy'には保存しておいたバックアップカーネルのファイルのフルパスを 指定します。それから`label = zzz'を`label = linux-backup' に変更しliloを再起動します。設定ファイルに`delay = x'と いう行を付け加える必要があるかもしれません。xは1/10秒単位で待ち時間を指定し ます。LILOは待ち時間の間,ブートを開始しませんので,その間にシフトキーを 押すなどしてブートを中断することができます。新しいカーネルに問題があると きは,ここで古いカーネルのラベルを入力することでそれを起動できます。


前のページ 次のページ 目次