はじめに
カスタムLinuxカーネルを構築する一般的な方法については、以前の記事で一通り説明しました。今回は、Debianの便利なショートカットと、Fedoraの独特のカスタムカーネル構築方法を紹介します。
Debianでカスタムカーネルを構築する
Debianのカーネルソースパッケージの名前は「linux-source-<バージョン名>」です。現在リリースされている公式のソースパッケージは、linux-source-2.6.18(安定版)、linux-source-2.6.21(テスト版、不安定)、linux-source-2.6.22(実験版、不安定)の3つです。
バイナリのDebianカーネルソースパッケージの名前は「linux-image-<バージョン名>」です。以前は「kernel-source」や「kernel-image」というパッケージでしたが、バージョン2.6.12以降はこの形式が使われています。この新しい名前付け規則によって、Debianは他のカーネルにも門戸を開くことになりました。実際にどのようなカーネルが使われるのか現時点ではわかりませんが、とにかく受け入れの準備はできているということです。
カーネルのカスタマイズを行うには、まず、ビルド環境、カーネルソース、さらにfakerootパッケージをインストールします(詳しくは以前の記事を参照)。
# aptitude install linux-source-2.6.22 kernel-package fakeroot
これにより、ソースtarballが/usr/src/にダウンロードされます。このままでは都合が悪いので、次のようにしてソースtarballを個人用のカーネル構築ディレクトリに移動してください。
# mv /usr/src/linux-source-2.6.22.tar.bz2 ~/kernel
個人用カーネル構築ディレクトリでtarballを解凍します。
$ tar zxvf linux-source-2.6.22.tar.bz2
次に、最上位のソースディレクトリに移動し、新規カーネルの構成を開始します。
$ cd linux-source-2.6.22
$ make mrproper
$ make xconfig
構成作業を済ませたら、次のコマンドを実行します。
$ make-kpkg clean
$ make-kpkg -rootcmd fakeroot -rev kernel.1 linux_image
fakerootにより、一般ユーザーとしてカーネルを構築するのに十分なルート特権を取得できます。この方法では、本物のルート特権を必要とするコマンドは実行できませんが、カーネルを構築するにはこれで十分です。この作業を行うと、「linux-image-2.6.22_kernel.1_i686.deb」という名前の.debパッケージが配置されます。もちろん、-revオプションを指定してもかまいません。次に、dpkgを使用して通常どおりの方法でlinux-image-2.6.22_kernel.1_i686.debをインストールします。
# dpkg -i linux-image-2.6.22_kernel.1_i686.deb
これにより、モジュールがインストールされ、モジュールの依存関係が処理されます。また、ブートメニューのエントリが作成され、カーネルと関連ファイルが/bootディレクトリにコピーされます。リブートすると、ブートメニューから新しいカーネルを選択し、そのカーネルを操作できるようになります。