<Homeへもどる>   <前に戻る>

カーネルのアップグレード

1.ソースの入手と展開

http://www.kernel.org/

 ここら辺から最新版をダウンロードしてこよう。

#tar zxfv linux-2.4.6.tar.gz

で、上記のようにして展開。
 一般的に、/usr/src/linux 下辺りに展開。個人的には linux-2.4.6 などというディレクトリを用意し、linux というシンボリックリンクを張るのがお好み。とりあえず、/usr/src/linux としてもまったく問題はない。趣味の問題だ。

2.カーネルの設定

#make make menuconfig

とするとメニューベースでカーネルのコンフィギュレーションができる。
もちろん、他にも
#make config
#make xconfig
としても設定は可能だ。
ただし、この場合、configのみだとコンソール形式で後戻り(修正)ができないため、間違えた場合にはもう一度最初から設定しなおさなければならず、不便極まりない。ま、あまり使うことはないでしょう。
xconfigではTcl/Tkを使用したGUI(X-Window)ベースの設定となる。X-Windowを利用するような環境の場合はクライアントとして稼動していることも多いが、今回(私)の場合、コンソールのみでの使用を前提としているので、省略。。。とはいえ、Xが使えるのであればxconfigで設定するのが一番楽。

3.カーネルのコンパイルとその後の設定

 以下の順にコマンドを実行すればコンパイルができる。

#make dep
#make clean
#make bzImage
#make modules
#make modules_install

 上から順に、依存関係ファイルの更新、中間ファイルの削除、カーネルイメージの作成、モジュールのコンパイル、モジュールのインストール、となる。

その後、コンパイルし終わったカーネルイメージを/bootディレクトリへ移動するなどの細かい作業が必要となる。

#cp arch/i386/boot/bzImage /boot/bzImage042235
#cp System.map /boot/System.map-042235
#cd /boot
#rm System.map
#ln -s System.map-042235 System.map

 通常、コンパイルしたカーネルイメージは arch/i386/boot/ 下にある。そのイメージを /boot ディレクトリに適当な名前を付けてコピーし、カーネルソースを展開したディレクトリ(今回の場合は /usr/src/linux)に出来上がった System.map を、これもまた適当な名前を付けてコピーする。
その後、/boot ディレクトリに移動し、既存のSystem.mapを削除し、新たにシンボリックリンクを張る。

4.LILOの設定

 コンパイルしたカーネル類をコピーし終えたら、LILOを設定する。これをやり忘れて「新しいカーネルで立ち上がらない!」なんてことが何度かあったっけか。。。

 通常は /etc 下にある、lilo.conf を編集する。たとえば下記のように。

boot = /dev/hda
timeout = 50
prompt
vga = normal
read-only
map=/boot/map
install=/boot/boot.b
default=linux

image = /boot/vmlinuz-2.4.6
label = linux
root = /dev/hda1
read-only

image = /boot/vmlinuz-2.2.17-1
label = old
root = /dev/hda1
read-only

 赤文字の部分が追加されたところ。
 lilo.conf の編集ポイントとしては、それまでに使っていたカーネルでも起動できるように設定することだ。label と書いてある行がそれで、Linuxの起動時「boot:」と出たときに"old"と入力することで、これまでのカーネルで起動する。一発でカーネルの設定・コンパイルがうまくいき、絶対に立ち上がるという自信があるならともかく、万が一を考えると、旧カーネルで起動できるに越したことはない。

 さて、lilo.conf の編集が終わったら
#/sbin/lilo
としてLILOを有効にしませう。
設定等に間違いがなければ再起動をすると新カーネルで起動するはず。

<メモ for kernel-2.6.x requirements>

o Gnu C 2.95.3 # gcc --version
gccの最新版を入手
そのまえに binutils もアップグレードする。
#tar zxfv binutils-2.15.tar.gz
#cd binutils-2.15
#./configure
#make
#make install

o Gnu make 3.79.1 # make --version
o binutils 2.12 # ld -v
o util-linux 2.10o # fdformat --version
o module-init-tools 0.9.10 # depmod -V
o e2fsprogs 1.29 # tune2fs
o jfsutils 1.1.3 # fsck.jfs -V
o reiserfsprogs 3.6.3 # reiserfsck -V 2>&1|grep reis
erfsprogs o xfsprogs 2.6.0 # xfs_db -V
o pcmcia-cs 3.1.21 # cardmgr -V
o quota-tools 3.09 # quota -V
o PPP 2.4.0 # pppd --version
o isdn4k-utils 3.1pre1 # isdnctrl 2>&1|grep version
o nfs-utils 1.0.5 # showmount --version
o procps 3.2.0 # ps --version
o oprofile 0.5.3 # oprofiled --version

<Homeへもどる>   <前に戻る>