CentOS 5.2 x64で最新カーネルをインストール

タックス

Linuxのカーネルというのは、常に新しいものが公開されています。
一方CentOSのカーネルは、古いカーネルに新しいカーネルの機能をバックポートしているようですが、最新のカーネルではありません。
そのため、最新のカーネルを試したいという場合、カーネルの再構築をしなければなりません。
そこで、新しいカーネルをRPMファイルにし、インストールするやり方をご紹介したいと思います。

現在のCentOS 5.2のカーネルは、2.6.18-92.1.22.el5で、Linuxの最新カーネルは2.6.28.3となっていますので、この前提で説明します。(2009/2/5)
バージョンが上がっても、基本的に2.6のバージョンである限り、手順はさほど変わらないと思います。

  • カーネルRPM作成環境を整える

  • 「ソフトウェアの追加/削除」の「開発」で「レガシーなソフトウェアの開発」「開発ツール」「開発ライブラリ」を入れておくことをおすすめします。
    あと、kernel-develもインストールして下さい。

    # yum -y install kernel-devel

  • 最新カーネルを元にRPMファイルを作成

  • The Linux Kernel Archivesから最新のカーネルをダウンロードして下さい。

    ダウンロードしたlinux-2.6.28.3.tar.bz2を/usr/srcに移動します。
    # mv ./linux-2.6.28.3.tar.bz2 /usr/src

    # cd /usr/src

    linux-2.6.28.3.tar.bz2を解凍します。
    # tar xvjf linux-2.6.28.3.tar.bz2

    # cd linux-2.6.28.3

    カーネル構築の初期化を行います
    # make mrproper

    現カーネルの設定ファイルをコピーします。
    # cp /boot/config-2.6.18-92.1.22.el5 ./.config

    コピーしてきた設定ファイルを元に.configファイルを作成します。
    # make oldconfig

    RPMファイルを作成します。
    # make rpm

    以下の場所にRPMファイルが作成されます。

    カーネルのRPMファイル
    /usr/src/redhat/RPMS/x86_64/kernel-2.6.28.3-1.x86_64.rpm
    ※32bitの場合は、/usr/src/redhat/RPMS/i386に作成されます。

    srcのRPMファイル
    /usr/src/redhat/SRPMS/kernel-2.6.28.3-1.src.rpm

  • 最新カーネルRPMのインストール

  • # rpm -ivh /usr/src/redhat/RPMS/x86_64/kernel-2.6.28.3-1.x86_64.rpm

  • initrdの作成とgrub.confの設定

  • なぜかはわかりませんが、rpmでインストールするだけでは、initrdの作成やgrub.confの修正が行われません。
    前にCentOS4でやった時は、できていたのに…
    もうちょっと調査してみますが、とりあえずmkinitrdコマンドとgrub.confの修正をすれば最新カーネルで立ち上がることを確認しました。

    # mkinitrd /boot/initrd-2.6.28.3.img 2.6.28.3

    /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/VolGroup00/LogVol00
    # initrd /initrd-version.img
    #boot=/dev/sda
    default=0
    timeout=5
    splashimage=(hd0,0)/grub/splash.xpm.gz
    hiddenmenu
    title CentOS (2.6.28.3)
    root (hd0,0)
    kernel /vmlinuz-2.6.28.3 ro root=/dev/VolGroup00/LogVol00 acpi=off rhgb quiet
    initrd /initrd-2.6.28.3.img

    title CentOS (2.6.18-92.1.22.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-92.1.22.el5 ro root=/dev/VolGroup00/LogVol00 acpi=off rhgb quiet
    initrd /initrd-2.6.18-92.1.22.el5.img
    title CentOS (2.6.18-92.el5)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-92.el5 ro root=/dev/VolGroup00/LogVol00 acpi=off rhgb quiet
    initrd /initrd-2.6.18-92.el5.img



  • 再起動とカーネルの確認

  • CentOSを再起動
    # reboot

    起動後、最新カーネルで起動していることを確認する
    # uname -r

  • 最新カーネルのアンインストール

  • rpmコマンドでアンインストール
    # rpm -e kernel-2.6.28.3-1

    /boot/initrd-2.6.28.3.imgを削除
    # rm /boot/initrd-2.6.28.3.img

    /etc/grub.confの上記で追加した部分を削除


    以下、参考リンクです。

    Wikipedia(Linux)
    Wikipedia(CentOS)
    Wikipedia(カーネル)

関連記事


FC2Blog Rankingblogram投票ボタンとれまが人気ブログランキングブログランキング・にほんブログ村へ
くる天 人気ブログランキングにほんブログ村 IT技術ブログ CentOSへ

テーマ : Linux
ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

WING☆

Author:WING☆


カレンダー
05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
カウンター
お問い合わせ

名前:
メール:
件名:
本文:

WING☆からのお知らせ
  • CentOS 7設定集
  •    └wingリポジトリ(el7)

  • CentOS 6 x64設定集
  •    └wingリポジトリ(el6)

  • CentOS 5 x64設定集
  •    └wingリポジトリ(el5)



    My Yahoo!に追加

    FC2ブログランキング



    リンク
    ブロとも一覧
    Virtualization & Sever Maniax
    RSSリンクの表示
    QRコード
    QRコード
    ブロとも申請フォーム

    この人とブロともになる