Tetsuo Handa
from-****@I-lov*****
2007年 3月 24日 (土) 14:07:42 JST
熊猫です。 > で、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 と比較してみると どのように変更すればよいのかが判ることでしょう。 では、頑張ってください。