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 |