工作需要,编译 CentOS 4.2 (~=~ EL4)的内核。
可是 rpm -i kernel-*.src.rpm 后,却找不到去哪里了
rpm -qa 也看不到的,
后来想起应该是在/usr/src/redhat里,进去一看,果然有,在SOURCES和SPECS里,一大堆的patch,看的头晕。 rpm -qf 也不说是哪个包里的。看来src.rpm是不进rpm的数据库的。
言规正传,又是一个不小心,看到有这么个命令 rpmbuild
当然要先man 一下,哈哈,原来那些patch不是要自己一个个的补啊。
-bp 只作准备 (解压与打补丁)
-bc 准备并编译
-bi 编译并安装
-bl 检验文件是否齐全
-ba 编译后做成*.rpm和src.rpm
-bb 编译后做成*.rpm
-bs 只做成*.src.rpm
-tc -ti -ta -tb -ts 的功能类似,只是所需参数由spec文件变成tar包。
至于我的最初任务,
cd /usr/src/redhat/SPECS
rpmbuild -bp kernel-2.6.spec
就轻松搞定,生成的内核树在 /usr/src/redhat/BUILD/kernel-x.x.x
再 make menuconfig && make .... 就不多说了