Menu
はじめに
ネットワーク準備
インストール準備
インストール
 ・HDD1個
 ・RAID1
 ・アップデート
Linux基本操作
サーバー設定
 ・ネットワーク
 ・sshサーバー
 ・DNSサーバー
  ・ダイナミックDNS
 ・Webサーバー
 ・mailサーバー
  ・内部のみ許可
  ・POPbeforeSMTP
 ・ftpサーバー
 ・ntpサーバー
 ・ディスク容量制限
 ・アクセス解析
 ・webメール
 ・全文検索設置
 ・メーリングリスト
拡張・変更
 ・ディスクを交換
 ・RAID1に変更
 ・マシン入替え
 ・postfixにする
 ・kernelをソースから
 ・ドメイン名
   サーバー名
   IPアドレス変更
CGI
 ・カウンタ設置
セキュリティーアップ
格安でドメイン登録
日々のメモ
便利なコマンド

サイト内検索
www.kaji3.com


本日
昨日
---------
kernelをソースからアップデートする
これをやってうまく行かなくても自己責任でお願いします。まあ立ち上がらなかったら起動時に前のkernel選べばいいだけなので大丈夫かな。
手順
最新版はhttp://www.kernel.org/pub/linux/kernel/v2.4/の中にLATEST-IS-2.4.xxで対応すうするものをダウンロードします。今回の例では2.4.24でした。tar.gzとtar.bz2の2種類あります。bz2のほうが小さいのでこちらを落とします。

# cd /usr/src
# wget http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.24.tar.bz2
# tar vjxf linux-2.4.24.tar.bz2

展開先のフォルダに移動してconfigします。
Red Hatにあわせてインストールディレクトリを指定します。
今までRed Hatが使っていたconfigを利用してconfigを引き継ぎます。
これなら今と少なくとも同じ機能は取り込まれます。

# cd linux-2.4.24
# pico Makefile
    export INSTALL_PATH=/boot  << #コメントアウトを削除
# cp ../linux-2.4.20-24.9/configs/kernel-2.4.20-i686.config .config
  linux-2.4.20-24.9はいままでのkernelソースディレクトリ。
# make oldconfig

必要に応じて細かな設定を見直します。削除・追加したい機能があれば・・・

# make menuconfig 
(X wondowが使える場合には# make xconfigでもいいです)

コンパイルします。

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

インストールします。

# make modules_install
# /sbin/depmod -a << moduleにエラーがないか確認 今回は何もなし
# /sbin/installkernel 2.4.24 arch/i386/boot/bzImage System.map

ここで /bootを確認するとリンクも置き換わっているはず。 # ls -l /boot

System.map -> System.map-2.4.24
System.map-2.4.20-24.9
System.map-2.4.24
initrd-2.4.20-24.9.img
initrd-2.4.24.img
vmlinuz -> vmlinuz-2.4.24
vmlinuz-2.4.20-24.9
vmlinuz-2.4.24

  このinstallkernelコマンドをもう一度実行すると
  System.map-2.4.24、vmlinuz-2.4.24はそれぞれ古いのは.oldとなる

grubに新しいkernelのtitleが記述されているか確認し、default=0で今回のkernel優先にします。
特にroot=が前回と同じか確認すること。問題ないとは思いますが・・・

# pico /boot/grub/grub.conf

default=0
title Red Hat Linux (2.4.24)
root (hd0,0)
kernel /vmlinuz-2.4.24 ro root=/dev/md1
initrd /initrd-2.4.24.img
title Red Hat Linux (2.4.20-24.9) RAID boot from /dev/md1
root (hd0,0)
kernel /vmlinuz-2.4.20-24.9 ro root=/dev/md1
initrd /initrd-2.4.20-24.9.img

いちおうはlinux-2.4のリンクも張りなおします。使っているのかなぁ・・・

# rm /usr/src/linux-2.4
# ln -s /usr/src/linux-2.4.24 /usr/src/linux-2.4

モニタを繋いで再起動しましょう。ssh接続では何がどうなるかわかりませんからね・・・・ 汗

# shutdown -r now

無事に立ち上がりました ほぉ 笑


感想としては所要時間がけっこうかかるなあ・・・ 3時間ほど(Celeron700+SDRAM128MB)。別にrpmが提供されている限りは必要ないって言えば必要ないんですよね。本家が春から出さなくなってもどこかで出るんだろうと期待してるんですが、それとは別に経験は必要と思ってやってみました。今回はredhatの前のバージョンのconfigそのままで不用なものを削ってkernelを軽くすることはしなかったけど、究極の自宅サーバーのハードにあったチューニングするならばやってもいいのかなって・・・あまり思いません (笑

Copyright (C) 2003-2004 Kaji3.com. All Rights Reserved.