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

Back to archive index

Takayuki Yamakawa takay****@iscsi*****
2007年 4月 11日 (水) 15:34:35 JST


初めて投稿します。

いまさらですが、カーネル「2.6.9-42.0.10.EL」にTOMOYOカーネルパッチを当て、ビ
ルド、動作テストに成功しました。

・開発環境:RHEL4AS U3 i686 「kernel 2.6.9-34ELsmp」
・カーネルRPM:kernel-2.6.9-42.0.10.EL.src.rpm(RHEL4ASU4用)
・TOMOYOパッチ:ccs-patch-1.4-20070401.tar.gz
・SPECファイル(TOMOYO):kernel-2.6.9-42.0.10.EL_tomoyo_1.4.spec
・成果物:kernel-smp-2.6.9-42.0.10.EL_tomoyo_1.4.i686.rpm

ビルドに使用したTOMOYO SPECはRHEL4 U4用のものかと勘違いをしていたので、
そのままのSPECファイルでビルドすると、ビルドエラーとなってしまいました。
CentOS4.4用のものですね(^^;
----------------------ビルドエラーログ-------------------------------------
+ gpg --homedir . --batch --gen-key /usr/src/redhat/SOURCES/genkey.centos
gpg: WARNING: unsafe permissions on homedir "."
gpg: keyring `./secring.gpg' created
gpg: keyring `./pubring.gpg' created
gpg: can't open `/usr/src/redhat/SOURCES/genkey.centos': No such file or
directory
error: Bad exit status from /var/tmp/rpm-tmp.85579 (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.85579 (%build)
---------------------ここまで-----------------------------------------------

そこで、TOMOYO SPECファイルのGPG部分(3324行-3327行)をコメントアウトすると、
ビルドはエラーをはきながらもexit0で終了しました。

後は、CentOS4.4用のインストールマニュアルを見ながら動作確認を行なえました。
おそらく同様の事例はすでに見られているかと思いますが、ご連絡まで。
不明な点があれば、ご連絡下さい。

初歩的な質問なのですが、なぜRHEL用バイナリを提供しないのでしょうか?
CentOSで提供しているからでしょうか?

以上、宜しくお願い致します。









|  熊猫です。
|
|> で、rpm版のコンパイルですが成功しました。
| おめでとうございます。
|
| では、次は TOMOYO パッチを当ててコンパイルする手順ですね。
| 以下は SuSE 10.2 の場合です。( SuSE 10.1 もほとんど同じです。)
|
| まず、 /usr/src/packages/SOURCES/kernel-default.spec を
| 適当な場所にコピーしてください。例えば
|
| cp -p /usr/src/packages/SOURCES/kernel-default.spec
| ~/kernel-2.6.18.8-0.1-default_tomoyo_1.4.spec
|
| のようにします。
| 次に、 kernel-2.6.18.8-0.1-default_tomoyo_1.4.spec を開きます。
|
|
| ファイルの先頭のほうにある Release: で始まる場所へジャンプしてください。
| そして、 Release: の値を 0.1 から 0.1_tomoyo_1.4 に変更してください。
| この作業は、ディストリビュータのカーネルと TOMOYO パッチを当てたカーネルを
| 区別できるようにするために必要です。
|
|
| 次に、 %define tolerate_kabi_changes で始まる場所へジャンプしてください。
| そして、 %define tolerate_kabi_changes の値を 31 に変更してください。
| (最初から 31 になっている場合は変更しないで大丈夫です。)
|
|
| 次に %build という場所へジャンプしてください。
| そして、 cd linux-2.6.18 という行と cp .config .config.orig という行の間に
|
| # TOMOYO Linux
| tar -zxf %_sourcedir/ccs-patch-1.4-20070401.tar.gz
| patch -sp1 < ccs-patch-2.6.18.8-0.1_SUSE.txt
| cat config.ccs >> .config
|
| という4行を挿入してください。
| この作業は、 TOMOYO パッチを展開して適用するために必要です。
| config.ccs は ccs-patch-1.4-20070401.tar.gz の中に含まれており、
| TOMOYO のデフォルト値が記録されています。
| config.ccs の内容を .config に追加することにより、
| make silentoldconfig や make nonint_oldconfig の実行時に
| TOMOYO の指定が行われていないことが原因のエラーが発生するのを
| 回避することができます。
| %_sourcedir は( SuSE 10.2 の場合、) /usr/src/packages/SOURCES として処理
さ
| れます。
|
|
| ファイルの最後のほうにある %changelog という場所へジャンプしてください。
| そして、最初と最後のログだけを残して、その間のログは削除してください。
| この作業は、 sourceforge.jp のトラッキングシステムに登録する際のファイルサ
イ
| ズの
| 制限をクリアするためだけのものであり、トラッキングシステムに登録しないので
あ
| れば不要です。
| 既に公開されているバイナリ RPM パッケージ用の SPEC ファイルは
| http://sourceforge.jp/tracker/?atid=7342&group_id=1973&func=browse にあります。
|
|
| 以上の修正を行ったら kernel-2.6.18.8-0.1-default_tomoyo_1.4.spec を保存しま
| す。
|
| ccs-patch-1.4-20070401.tar.gz を /usr/src/packages/SOURCES/ ディレクトリに
置
| いてください。
| まだ ccs-patch-1.4-20070401.tar.gz はリリースされていないので
| 以下のように subversion から取得して作成します。
|
| wget -O ccs-patch.tar.gz
|
'http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi/trunk/ccs-patch.tar.gz?root=tomoyo&view=tar'
| tar -zxf ccs-patch.tar.gz
| cd ccs-patch
| tar -zcf /usr/src/packages/SOURCES/ccs-patch-1.4-20070401.tar.gz -- *
|
| あとは、
|
| rpmbuild -bb ~/kernel-2.6.18.8-0.1-default_tomoyo_1.4.spec
|
| のようにすれば TOMOYO パッチを適用したバイナリカーネルパッケージが作成され
ま
| す。
|
| 実は、修正済みの kernel-2.6.18.8-0.1-default_tomoyo_1.4.spec は
| 上記アドレスからダウンロードした ccs-patch.tar.gz の中に含まれています。
| オリジナルの /usr/src/packages/SOURCES/kernel-default.spec と比較してみると
| どのように変更すればよいのかが判ることでしょう。
|
| では、頑張ってください。
|
| _______________________________________________
| tomoyo-dev mailing list
| tomoy****@lists*****
| http://lists.sourceforge.jp/mailman/listinfo/tomoyo-dev
|




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