EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

Linux:DebianとFedoraを使用したカーネルカスタマイズ

  2007/09/21 12:00

Fedoraでカスタムカーネルを構築する

 Fedoraでは、バニラカーネルが動作しなくなるくらいまでカーネルのあちこちにパッチを適用します。もちろんお金がかかることはありませんが、時間はそれなりにかかります。本物のFedoraカーネルソースを使用する場合は、ソースRPM(SRPM)の形式になっているので、カーネルを構築し、それをRPMにパッケージする必要があります。まず、カーネルのSRPMをお気に入りのFedoraミラーからフェッチします。

$ wget http://mirrors.kernel.org/fedora/releases/7/Fedora/source/ SRPMS/kernel-2.6.21-1.3194.fc7.src.rpm

 次に、RPMT構築ツールを持っているかどうか、また、前回の記事で用意した標準構築環境が残っているかどうかを確認します。

# yum install rpmdevtools

 その後、ホームディレクトリでビルドツリーを作成します。この作業は必ず自分自身として行ってください。ルートユーザーとして行ってはいけません。

$ fedora-buildrpmtree

 これによりrpmbuildtreeディレクトリが作成されます。このディレクトリにはBUILD、RPMS、SOURCES、SPECS、SRPMSの5つのディレクトリがあります。次に、ソースRPMをインストールします。このソースRPMをインストールすると、新しいrpmbuildtreeディレクトリにファイルが解凍されます。

$ rpm -ivh 2.6.21-1.3194.fc7.src.rpm

 「group kojibuilder does not exist.」という警告が表示されますが、無視してください。

 次に、RPM再構築の%prepステージを実行します。--targetオプションは、使用しているCPUの種類に合わせます。

$ rpmbuild -bp --target=i686 ~/rpmbuild/SPECS/kernel-2.6.spec

 これにより、カーネルtarballが抽出され、すべてのFedoraパッチが適用されます。ここで、新しいビルドツリーのソースディレクトリに移動します。

$ cd ~/rpmbuild/BUILD/kernel-2.6.21/linux-2.6.21-1.3194.i686/

 まず、新しいカーネルを構成します。

$ make mrproper
$ make xconfig

 最後に、すべてをRPMに組み込みます。

$ rpmbuild --target i686 -ba ~/rpmbuild/SPECS/kernel-2.6.spec

 ここでも、--targetオプションはCPUの種類に合わせます。新しいRPMは、~/rpmbuild/RPMS/i686/にあるはずです。新しいkernel.rpmを見つけ、他のRPMと同様にしてインストールします。

# rpm -ivh kernel-2.6.21-1.3194.i686.rpm

 新しいkernel.rpmをインストールすると、ファイルがコピーされます。また、ブートメニューエントリも作成されるので、リブート後は、すぐにブートメニューから新しいカーネルを選択できます。


著者プロフィール

  • japan.internet.com(ジャパンインターネットコム)

    japan.internet.comは、1999年9月にオープンした、日本初のネットビジネス専門ニュースサイト。月間2億以上のページビューを誇る米国 Jupitermedia Corporation(Nasdaq: JUPM)のニュースサイトinternet.comやEarthWeb.comからの最新記事を日本語に翻訳して掲載するとともに、日本独自のネットビジネス関連記事やレポートを配信。

バックナンバー

連載:japan.internet.com米国最新IT記事

もっと読む

All contents copyright © 2007-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5