[Tomoyo-dev 54] カーネルのコンパイルにチャレンジされたい方はいらっしゃいますか?

Back to archive index

from-****@i-lov***** from-****@i-lov*****
2007年 3月 22日 (木) 13:29:15 JST


 熊猫です。

 テスターとして多数のご参加をいただきましてありがとうございます。
テストといってもコンパイルできるかどうかのテストや動作テストなどいろいろあると思うので、
どのようなテストならできるかを確認する必要があるのですが、
とりあえずカーネルのコンパイルテスト方法について説明したいと思います。

 rpm コマンドでパッケージをインストールするディストリビューションでは、
rpmbuild というコマンドを利用してカーネルをコンパイルします。
まず、ソースパッケージをダウンロードしてインストールします。
現時点の最新版は以下のURLから入手できます。

Fedora Core 5: http://download.fedora.redhat.com/pub/fedora/linux/core/updates/5/SRPMS/ kernel-2.6.20-1.2300.fc5.src.rpm
Fedora Core 6: http://download.fedora.redhat.com/pub/fedora/linux/core/updates/6/SRPMS/ kernel-2.6.20-1.2925.fc6.src.rpm
OpenSuSE 10.1: http://ftp.riken.go.jp/Linux/suse/suse/update/10.1/rpm/src/ kernel-source-2.6.16.27-0.9.src.rpm
OpenSuSE 10.2: http://ftp.riken.go.jp/Linux/suse/suse/update/10.2/rpm/src/ kernel-source-2.6.18.8-0.1.src.rpm
CentOS 4.4:    http://ftp.riken.jp/Linux/centos/4.4/updates/SRPMS/ kernel-2.6.9-42.0.10.EL.src.rpm
CentOS 5:      http://beta.centos.org/centos/5/os/SRPMS/ kernel-2.6.18-1.2747.el5.src.rpm
Asianux 2.0:   http://ftp.miraclelinux.com/pub/Miracle/ia32/standard/4.0/updates/SRPMS/ kernel-2.6.9-42.10AX.src.rpm

 これを rpm コマンドを用いてインストールします。
Fedora Core 6 の場合は以下のようにします。

rpm -ivh kernel-2.6.20-1.2925.fc6.src.rpm

 次に、 rpmbuild コマンドを用いてコンパイルします。
例えば、 i586 プロセッサ向けのカーネルを作成したい場合は、

rpmbuild -bb --target i586 /usr/src/redhat/SPECS/kernel-2.6.spec

のように実行します。あとは、ひたすら待つだけです。
もし i686 プロセッサ向けのカーネルを作成したい場合には

rpmbuild -bb --target i686 /usr/src/redhat/SPECS/kernel-2.6.spec

のように実行してください。

 rpmbuild コマンドに渡している拡張子が .spec のファイルは
シェルスクリプトのような内容を含んでおり、 SPEC ファイルと呼ばれます。

 i586 以前のプロセッサ向けのカーネルパッケージを
作成できないような設定にしている SPEC ファイルもあります。
そのような場合は i586 ではなく i686 を指定してください。

 コンパイルには時間がかかります。(数十分〜数時間)
また、大量のディスク領域を必要とします。(数百MB〜数GB)

 SPEC ファイルの場所は通常は /usr/src/redhat/SPECS/ ですが、
そうではないディストリビューションもあります。
例えば Asianux 2.0 (Miracle Linux 4.0)の場合は /usr/src/asianux/SPECS/ になります。
また、 TurboLinux 10 Server の場合は /var/src/rpm/SPECS/ になります。
OpenSuSE の場合は /usr/src/packages/SPECS/ ではなく /usr/src/packages/SOURCES/ にある
kernel-default.spec を指定します。

 上記手順で作成されるカーネルは TOMOYO カーネルではありません。
TOMOYO カーネルにするには SPEC ファイルを編集する必要があります。
その方法については次回以降に説明します。
今回は、カーネルのコンパイルを体験するだけです。
うまくいかない事やご不明な点がありましたら遠慮せずに返信ください。



tomoyo-dev メーリングリストの案内
Back to archive index