設定スクリプトの実行が終了すると,`make dep
' と(たぶん,
`make clean
' を実行するように表示されます.ですから
`make dep
'してください.これはインクルードファイルなどの依存
関係が全て正しいかどうかを確認します.マシンがよほど遅くないかぎり,こ
れにはそんなに時間が掛かりません.これが終ったら,古いバージョンのカー
ネルの場合には `make clean
' を行います.これはすべてのオブジェ
クトファイルと,以前のバージョンに関係する古いファイルを消去します.い
ずれにせよ,このステップを忘れないようにしてください.
依存関係のチェック(`make dep
')と不要なファイルの削除
(`make clean
')が終了すると,`make bzImage
' もしくは
`make bzdisk
' を実行することができます(これは時間がかかるとこ
ろです).`make bzImage
'はカーネルをコンパイルし,
`bzImage
' と呼ばれるファイルを arch/i386/boot
に置き
ます(他のファイルもあります).
これが圧縮された新しいカーネルです.`make bzdisk
' は同じこと
をしますが,``A:''ドライブに入れたフロッピーディスクに新しい
bzImage
を書き込みます.`bzdisk
' は新しいカーネルの
動作チェックに便利です; もしフロッピーが爆発したり(あるいは単にうまく
動かない場合)には,フロッピーを取り外せば古いカーネルでブートします.
また,カーネルを誤って消してしまったときなど(あるいはそれに類する危機
的状態)にもこのフロッピーは便利です.さらには,ディスクの中身を別のディ
スクに移したときにも,新しいシステムをインストールするのに使用できます
(さあこんなにお得でお客さん,いくらなら買います!?[うまく訳せません]).
割と最近のカーネルはすべて圧縮されてますので,名前の先頭に
`bz
' が付いています.圧縮されたカーネルは,実行時に自動的に展
開されます.
古いカーネルには bzImage
を作るオプションがありません.これは
単に zImage
となります.このオプションもまだ利用可能ですが,
新しいカーネルのコードのサイズを考えると,bzImage
の構築はほ
とんど必須でしょう.なぜなら,古い方法では大きすぎるカーネルは扱えない
からです.
`make mrproper
' はさらに徹底的なファイル削除((`make clean
'))
を行います.この作業が必要なこともあるので,パッチを当てるごとに実行す
るとよいでしょう.`make mrproper
'は設定ファイルも消去してしま
うでしょう.ですから,設定ファイル(.config
)が必要でしたら,そ
のバックアップを作っておいてください.
`make oldconfig
' は古い設定ファイルにしたがってカーネルを構築しよ
うとします; make config
' のプロセスは飛ばします.もし,今まで一度
もカーネルをコンパイルしてなかったり,古い設定ファイルがないなら,これを
実行してはいけません.デフォルトの設定を変更したいことがほとんどでしょうか
ら.
`make modules
' の説明については,モジュールに関する節を参照して
ください.
設定通りの動作をするようなカーネルができたら,インストールしましょう.
ほとんどの人は LILO(Linux Loader) を使用します[訳者は,LILO でなく
Loadlin をお勧めします.LILO はうまくいかないと,徹底的にうまくいかな
いような気がします].`make bzlilo
' でカーネルをインストールし,
そこで 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 の /
です.
古いカーネルのバックアップを作成し,新しい bzImage
をコピーし
ます(`/vmlinuz
' を使用するなら `cp bzImage /vmlinuz
'
とします).それから,新しいシステム上で再度 LILO を実行します(
`lilo
' を実行するだけです).しかし 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は待ち時間の間
はブートを開始しませんので,その間に(シフトキーを押すなどして)ブートを
中断することができます.新しいカーネルに問題があるときは,ここで古い
カーネルのラベルを入力することでそれを起動できます.