blog-post-img-480

CentOS 5に最新のカーネルをインストールする方法

社内のテスト用のサーバー、今ではテストをクラウドサーバーにて行うので

あまり起動する頻度も無く、ただただ片隅に置かれているだけでした。

どうしてもカーネルのバージョンを調整しないといけない案件があったので

これを機に今では使っていないサーバーのカーネルを最新版にしてみました。


カーネルのコンパイルについては、昔と比べてエラー無く完了します。

作業自体も難しい設定はありません。

既存のシステムを上書きすることも無いので、いつでも前のバージョンに戻せる安心があり

万が一トラブルが発生しても、起動時に切り替える事ができます。

エンジニアなら一度はチャレンジしたいカーネルコンパイル!だと思います。


まずはじめにOSのバージョンと、カーネルのバージョンを確認します。

■OSのバージョンを確認

cat /etc/redhat-release

■カーネルのバージョンを確認

uname -r

■最新のカーネルをダウンロード

wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.tar.bz2
tar xvfj linux-3.12.tar.bz2
cd linux-3.12

■既存のカーネルから設定値を引き継ぐ

cp /boot/config-2.6.xxxxx ./.config

make oldconfig

■カーネルをコンパイルしてインストール

make
make modules_install
make install

すると

make oldconfigまでは何の問題も無くスムーズに進んだのですが

makeのエラーでコケてしまいました。

fs/gfs2/rgrp.c: In function ‘rg_mblk_search’:
fs/gfs2/rgrp.c:1402: internal compiler error: セグメンテーション違反です

CentOS 5の開発環境、ライブラリが古すぎるのか?

2.6系から最新の3.xxxxx系をインストールするのは無理があったのでしょうか。

今回は案件と関係が無いので、ここで終了します。