我正在尝试从Centos 6 x86_64系统上的
RHEL6 MRG source RPMs编译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 /两个文件:
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-2.6.33.9-rt31.75.el6rt.x86_64需要kernel-rt-firmware> = 2.6.33.9-rt31.75.el6rt
没有文件夹〜/ rpmbuild / RPMS / noarch – 我希望它出现在哪里.
另外,我尝试过rpmbuild –rebuild kernel-rt-2.6.33.9-rt31.75.el6rt.src.rpm,但结果相同……
我究竟做错了什么?
我见过this question,但它表明我已经尝试过了,我想自己构建内核,而不是使用SLC预先构建的内核.
如果您没有进行任何激烈的驱动程序更改或其他优化,我仍然建议使用
precompiled realtime kernels,但如果您需要自己构建,请执行以下操作以生成正确的软件包.
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包.