社内のテスト用のサーバー、今ではテストをクラウドサーバーにて行うので
あまり起動する頻度も無く、ただただ片隅に置かれているだけでした。
どうしてもカーネルのバージョンを調整しないといけない案件があったので
これを機に今では使っていないサーバーのカーネルを最新版にしてみました。
カーネルのコンパイルについては、昔と比べてエラー無く完了します。
作業自体も難しい設定はありません。
既存のシステムを上書きすることも無いので、いつでも前のバージョンに戻せる安心があり
万が一トラブルが発生しても、起動時に切り替える事ができます。
エンジニアなら一度はチャレンジしたいカーネルコンパイル!だと思います。
まずはじめに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系をインストールするのは無理があったのでしょうか。
今回は案件と関係が無いので、ここで終了します。