よくわからないエンジニア

よく分からないエンジニアの日々の記録

よくわからないエンジニア

kernel アップデート(Cent6)

恒例のLPIC level2対策として、生まれてはじめてカーネルをアップデートしてみる事にしました。ドキドキします。特に引っかかった箇所は無いんですが、備忘録的に記事にします。

Kernel アップデート手順

手順

作業は/usr/src以下で行います。まずは最新の安定版カーネルを入手して解凍します。2017.01.27現在の最新版は4.9.5でした。

# cd /usr/src
# wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.9.5.tar.xz
# tar Jxvf linux-4.9.5.tar.xz
# cd linux-4.9.5

で、既存の設定を引き継いで、新規項目のみ別途設定するように、旧kernelのコンフィグを使います。

# cp /boot/config-2.6.32-642.13.1.el6.x86_64 ./.config
# make oldconfig

質問が大量に出てくるので、ひたすら答えていきます。当方は面倒だったので、Enter押しっぱなしにしました。
make oldconfigが終わったらmakeします。CPUコア2個なので、とりあえずオプションjに2をつけます。コア数x2が良いとか+1がーとかありますが無視します。

# make -j2

結構時間がかかるのでしばらく放置。完了したら、kernelモジュールとkernelをインストールします。

# make modules_install
# make install

ここまで終わったら、最後にgrubの設定を変更して、新しいkernelで起動するようにします。defaultの値を0に変更します。

#vim /boot/grub/menu.lst

# 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/sda3
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (4.9.5)
<省略>

#reboot

ここまでいったら再起動して下さい。万が一指定したkernelで起動しなかったら、旧kernelを指定して起動して下さい。再びunameでkernelをチェックします。

#uname -r
4.9.5

イェイ

moduleをロードする

折角なので、moduleを読み込んでみます。ファイルシステムとしてxfsを使えるように、モジュールを読み込みます。

# modprobe xfs
# cat /proc/filesystems
nodev   sysfs
nodev   rootfs
nodev   ramfs
nodev   bdev
nodev   proc
nodev   cpuset
nodev   cgroup
nodev   cgroup2
nodev   tmpfs
nodev   devtmpfs
nodev   binfmt_misc
nodev   debugfs
nodev   tracefs
nodev   securityfs
nodev   sockfs
nodev   pipefs
nodev   hugetlbfs
nodev   devpts
        iso9660
nodev   pstore
nodev   mqueue
        ext3
        ext4
        xfs

はい、オッケーですね。ちなみに今回はモジュールとしてxfsを読み込んでいますが、config時にkernelにloadする事も可能です。その場合、モジュールとしてではなくkernelに組み込まれる為、modprobeは不要となります。実際誤って組み込んでしまい、"/lib/modules/4.9.5/kernel/fs/“の下にxfsが無くて焦った事があります。ちなみに、xfsは旧kernelでも普通に使えました。
初めてのkernelアップデートはここまで。それでは。