CentOS - カーネルアップデート!

更新日時:


今日は、予備機として待機中のCentOSマシンのカーネルをバージョンアップしてみました。 当方の現在のCentOSのカーネルバージョンが「 2.6.18-164.9.1.el5 」ですが、これを現時点での Linux の最新カーネル「 2.6.32.3 」にしてみたいと思い作業しましたが、失敗。 「 カーネルパニック 」発生!! どうやら、うまくマウントができていないようです。 思い当たる対処方法やネットで調べたことを試してみましたが、ダメでした。 (ドライバのエラーも見受けられたので、相性とかも含めて調査しましたが)

導入しようとしていたカーネルのバージョンの最終更新日付が昨日のカーネルでした。(実際にこの作業を行った日の前日) リリースされたばかりです。まだ不具合があるのでしょう!? と勝手に判断し、急遽、最新ではなく1ヶ月前が最終更新日のカーネルにしてみました。 導入したカーネルバージョンは「 2.6.30.10 」です。 今度は一発で成功しました。

なんでもそうですが、最新のものにすぐ食いつくのは危ないですな!? (おかげで、多少カーネルについての知識が増えましたが・・・)

作業記録

1.カーネルソースの準備

The Linux Kernel Archives から最新のカーネルをダウンロードし、”/usr/src”フォルダへ移動後、解凍しておきます。

# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.10.tar.bz2
# mv ./linux-2.6.30.10.tar.bz2 /usr/src
# cd /usr/src
# tar xvjf linux-2.6.30.10.tar.bz2

2.カーネル構築の初期化

以前のビルドの残存物を削除すべく、カーネル構築の初期化という作業を行います。 カーネルをコンパイルする前に実行したほうがいいようです。

# cd linux-2.6.30.10 ← 解凍されてできたディレクトリへ移動
# make mrproper

3.「 .config 」ファイルの作成

今回は現行のカーネル設定ファイルを基に「 .config 」ファイルを作成します。 make の時、大量に各種質問があるが全てデフォルト(enter応答)としました。

# cp /boot/config-2.6.18-164.9.1.el5 ./.config
# make oldconfig

4.余計なファイルの削除

# make clean

5.カーネル構築

# make bzImage

6.モジュールのコンパイル

# make modules

7.モジュールのインストール

# make modules_install

8.全体のインストール

# make install

9.「 grub.conf 」の設定

# vi /etc/grub.conf
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/sda3
#          initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.30.10)                           ← 追加
root (hd0,0)                               ← 追加
kernel /vmlinuz-2.6.30.10 ro root=LABEL=/  ← 追加
initrd /initrd-2.6.30.10.img               ← 追加
title CentOS (2.6.18-164.9.1.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-164.9.1.el5 ro root=LABEL=/
initrd /initrd-2.6.18-164.9.1.el5.img
title CentOS (2.6.18-164.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-164.el5 ro root=LABEL=/
initrd /initrd-2.6.18-164.el5.img

10.リブート

マシンをリブートします。

# reboot

11.確認

「 grub 」の画面(カーネル選択画面)では、期待通り(「 grub.conf 」の設定通り)でした。 以下のように確認できるでしょう。 めでたし、めでたし。

# uname -a
Linux *********** 2.6.30.10 #1 SMP Thu Jan 7 19:38:07 JST 2010 i686 i686 i386 GNU/Linux

作業は以上です。 ま、これからなんらかの不具合は出るかもしれませんが。。。

ではまた。

 

Sponsored Link

 

コメントする