torutkのブログ

ソフトウェア・エンジニアのブログ

CentOS 5.2のカーネルを新しいバージョンに入れ替える(第2回)

昨日の失敗はVMwareによるところが大きいのではと思い、別のマシンで試すことに。昨日の手順と同じにビルドして再起動したところOKでした。かなりあっさり成功するものです。

カーネルのバージョンの振り方

LinuxカーネルのバージョンはMakefileに書かれている以下の記述となります。

VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 27
EXTRAVERSION = .13
NAME = Trembling Tortoise

このままビルドすると、モジュール類は/lib/modules/2.6.27.13 の下に、カーネルイメージファイル名は、/boot/vmlinuz-2.6.27.13 になります。

CentOS等のLinuxディストリビューションでは、2.6.18-92.1.22.el5のように、カーネルバージョン(2.6.18)に続いて独自のバージョン(92.1.22.el5)を付けています。

このような独自バージョンを付けるには、

  1. MakefileのEXTRAVERSIONを修正する
  2. カーネル設定項目CONFIG_LOCALVERSIONを設定する

の2つの方法があるようです。ネット検索では前者が多いのですが、Linuxカーネル提供物の内容を修正するよりは、設定項目としていじる方を用いるのがよいかと思います。

カーネルの設定項目にある以下項目が独自バージョン指定です。

  • General Setup
    • CONFIG_LOCALVERSION

ここに、"-1.1.torutk"のように設定すると、2.6.27.13-1.1.torutkとなります。