我正在尝试在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
在内核rt.spec我disbleed编译变体我不需要 – 即只编译rt和固件。 还定义不build立debuginfo。
编译完成后,我有~/rpmbuild/RPMS/x86_64/两个文件:
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 kernel-rt-2.6.33.9-rt31.75.el6rt.x86_64需要-rt31.75.el6rt
没有文件夹〜/ rpmbuild / RPMS / noarch – 我期望它显示出来。
此外,我已经试过rpmbuild --rebuild kernel-rt-2.6.33.9-rt31.75.el6rt.src.rpm ,但得到了相同的结果…
我究竟做错了什么? 我已经看到了这个问题 ,但是它暗示了我已经尝试过的东西,并且我想自己构build内核,而不是使用从SLC预build的内核。
如果您没有进行任何严格的驱动程序更改或其他优化,我仍然build议使用预编译的实时内核 ,但是如果您需要自行构build,请执行以下操作以生成正确的程序包。
rpmbuild -ba --without debug kernel.spec
这会build立你的内核。
rpmbuild -ba --target noarch --with firmware --without debug --without doc --without perftool --without perf kernel.spec
这样就构build了kernel-rt-firmware软件包。
我自己没有尝试过,但是在问题中引用的回购中有一个rt固件SRPM。 build立可能提供依赖关系。
cd ~/rpmbuild/SPECS rpmbuild -bb --without debug kernel-rt.spec --clean cd ~/rpmbuild/SPECS rpmbuild -bb --target noarch --with firmware --without debug --without doc --without perftool --without perf kernel-rt.spec --clean