試験環境でのログ。しかもテキトー。でもって、うちの場合。
# apt-get install kernel-source-2.4.18
# apt-get install kernel-source だけ実行すると、DLできるソースのバージョン情報が得られる
# cd /usr/src
# bzip2 -d kernel-source-2.4.18.tar.bz2
# tar xvf kernel-source-2.4.18.tar
# bzip2 -dc kernel-source-2.4.18.tar.bz2 | tar xvf -
# tar xjvf kernel-source-2.4.18.tar.bz2 (時間かかる)
# ln -s kernel-source-2.4.18 linux (実は不要でした)
# cd linux (cd kernel-source-2.4.18で良し)
# apt-get install libncurses5-dev
# make menuconfig (どれ選ぶんだ?)
プロセッサ種は異なるものを選ぶとブートしません。。。これでハマった
Processor type and features --->
(Pentium-Pro/Celeron/Pentium-II) Processor family (**** 重要 ****)
ネットワークの設定。以下はiptables使えるようにパケットフィルタリング周りの設定。あとNICの種類
Networking options --->
Network packet filterring (replaces ipchains)
Socket Filtering
...
Network device support --->
Ethernet (10 or 100Mbit) --->
SiS 900/...
以下、内蔵のCD-Rドライブで焼き処理ができるかな?とゆー設定。まだ試してない
ATA/IDE/MFM/RLL support --->
IDE, ATA and ATAPI Block devices --->
SCSI emulation support
SCSI support --->
SCSI CD-ROM support
SCSI generic support
# make dep (長い。。。)
# apt-get install kernel-package
# make-kpkg clean
# make-kpkg --revision cheddar.030323 kernel-image (約15分)
リビジョンはテキトーに。うちはホスト名.date
# cd ..
# dpkg -i kernel-image-2.4.18_cheddar.030323_i386.deb
Would you like to create a boot floppy now? [No] no
Install a boot block using the existing /etc/lilo.conf? [Yes] yes
/vmlinuz@
/vmlinuz.old@
/etc/lilo.conf 確認
これで終了。リブートしてみて、新しいカーネルバージョンでブートしてれば成功。しない場合(LILOが起動しない)は、、、知らん。
うちは検証機で試した時は、プロセッサの選択をしてなくて、なんどやってもダメだった(笑) そんときゃまたOSの再インストールからやりました(バカ)
本番機では一発でいってよかったよ。。
先日、2.4.18 の
セキュリティ(?)バージョンアップを行った。Debian上では、2.4.18-5 から、2.4.18-9 へのバージョンアップ。手順はほぼ同じ。
手順はほぼ同じだが、作業前に以下のことをやっておく。多分
(退避といいつつ、最終的に前のカーネルイメージは消えるから、サクっと消してもいいかも)
- カーネルソース /usr/src/kernel-source.2.4.18.tar.bz2 を退避
- ディレクトリ /usr/src/kernel-source-2.4.18/ を退避
- ディレクトリ /lib/modules/2.4.18/ を退避
そして、apt-get upgrade で、カーネルソースのダウンロード。
以前(2.4.18-5)の、make前の設定を引き継ぐ場合は以下の手順
# cd /usr/src/linux
# cp /boot/config-2.4.18 .config
# make menuconfig (再設定する)
で、最終的に kernel-image-2.4.18_cheddar.030615_i386.deb を作成した(日付がかわってます)。こやつを dpkg でつっこむと、前のバージョンの cheddar.030323 がアップデートされます。たぶん。
dpkg -l の結果の差分をとると、こんな感じ。
cheddar:~/log/dpkg# diff dpkg.list.20030608 dpkg.list.20030614
110c111
< ii kernel-image-2 cheddar.030323 Linux kernel binary image for version 2.4.18
---
> ii kernel-image-2 cheddar.030614 Linux kernel binary image for version 2.4.18
112c113
< ii kernel-source- 2.4.18-5 Linux kernel source for version 2.4.18
---
> ii kernel-source- 2.4.18-9 Linux kernel source for version 2.4.18