Centos 6 x86_64システムで RHEL6 MRGソースRPM からkernel-rt-2.6.33.9-rt31.75.el6rt.src.rpmをコンパイルしようとしています。
これを行うのは初めてなので、これを適切に行う方法を調査しました。私が見つけたものから、私はしました:
rpm -ihv kernel-rt-2.6.33.9-rt31.75.el6rt.src.rpm
cd ~/rpmbuild/SPECS
nano kernel-rt.spec
rpmbuild -bb kernel-rt.spec 2> build-err.log | tee build-out.log
kernel-rt.specで、必要のないバリアントのコンパイルを無効にしました。つまり、rtとファームウェアのみをコンパイルします。また、debuginfoをビルドしないように定義されています。
コンパイルが終了した後、私は~/rpmbuild/RPMS/x86_64/
2つのファイルを取得しました。
kernel-rt-2.6.33.9-rt31.75.el6rt.x86_64.rpm
kernel-rt-devel-2.6.33.9-rt31.75.el6rt.x86_64.rpm
しかし、カーネルをインストールしようとすると、エラーメッセージが表示されました:$ Sudo rpm -ihv kernel-rt-2.6.33.9-rt31.75.el6rt.x86_64.rpmエラー:失敗した依存関係:kernel-rt-firmware> = 2.6.33.9 -rt31.75.el6rtはカーネルに必要です-rt-2.6.33.9-rt31.75.el6rt.x86_64
フォルダー〜/ rpmbuild/RPMS/noarch-が表示されると予想される場所はありませんでした。
また、rpmbuild --rebuild kernel-rt-2.6.33.9-rt31.75.el6rt.src.rpm
を試しましたが、同じ結果が得られました...
私は何が間違っているのですか?私は この質問 を見てきましたが、それは私がすでに試したことを示唆しており、SLCから事前に構築されたものを使用せずに自分でカーネルを構築したいと思います。
ドライバーを大幅に変更したり、その他の最適化を行ったりしない場合は、 プリコンパイル済みリアルタイムカーネル を使用することをお勧めしますが、独自にビルドする必要がある場合は、次の手順を実行して適切なパッケージを生成します。
rpmbuild -ba --without debug kernel.spec
これにより、カーネルが構築されます。
rpmbuild -ba --target noarch --with firmware --without debug --without doc --without perftool --without perf kernel.spec
これにより、kernel-rt-firmwareパッケージがビルドされます。
私はこれを自分で試したことはありませんが、質問で参照されているリポジトリにrt-firmwareSRPMがあります。依存関係を提供する可能性のあるビルド。