こちらを参考に最新カーネルにアップデート
まず、最新の安定版カーネルのバージョンを確認
Latest Stable Kernel: 3.8.8
ダウンロード
# cd /usr/local/src
# wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.8.tar.bz2
ダウンロードしたファイルを解凍・展開
# tar xvfj linux-3.8.tar.bz2
# cd linux-3.8
現在のカーネルビルド設定を引き継ぐため、/bootディレクトリにある設定ファイルを.configにリネームしてカレントディレクトリにコピーする
# cp /boot/config-2.6.32-358.2.1.el6.i686 ./.config
コピーした設定ファイルを用いて新しい設定ファイルを作成する
# make oldconfig
この後、古い設定ファイルと新しいKernelとの機能差の部分について対話的に設定することになるので、デフォルト設定とするため、プロンプトが帰ってくるまで「Enter」キーを押下し続ける
コンパイルする
# make
Kernel Moduleをインストールする
# make modules_install
カーネルをインストールする
# make install
インストール後の確認
/bootディレクトリにLinuxカーネルがインストールされている(抜粋)
# ls -l /boot
lrwxrwxrwx 1 root root 22 4月 22 16:31 2013 System.map -> /boot/System.map-3.8.0
-rw-r–r– 1 root root 2086913 4月 22 16:31 2013 System.map-3.8.0
-rw-r–r– 1 root root 6180691 4月 22 16:32 2013 initramfs-3.8.0.img
lrwxrwxrwx 1 root root 19 4月 22 16:31 2013 vmlinuz -> /boot/vmlinuz-3.8.0
-rw-r–r– 1 root root 4151392 4月 22 16:31 2013 vmlinuz-3.8.0
/lib/modulesディレクトリにカーネルモジュールがインストールされている(抜粋)
# ls -l /lib/modules
drwxr-xr-x 4 root root 4096 4月 22 16:47 2013 3.8.0
/etc/grub.confファイルにエントリーが追加されている(抜粋)
#cat /etc/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# 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/mapper/vg_xxx-LogVol00
# initrd /initrd-[generic-]version.img
#boot=/dev/sde
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (3.8.0)
root (hd0,0)
kernel /vmlinuz-3.8.0 ro root=/dev/mapper/vg_xxx-LogVol00 rd_NO_LUKS rd_LVM_LV=vg_xxx/LogVol01 rd_LVM_LV=vg_xxx/LogVol00 rd_NO_MD quiet rhgb crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=jp106 LANG=ja_JP.UTF-8 rd_NO_DM
initrd /initramfs-3.8.0.img
再起動して、カーネル選択画面から3.8を選択して起動
デフォルトで起動するカーネルを変更する場合は上記/etc/grub.confファイルの「default=0」の部分の数字をエントリの上から0,1,2,…となるので任意のカーネルに設定する
エントリが追加された時は一番上、つまりdefault=0に追加されるので再起動すると最新のカーネルで起動することになる