现在的位置: 首页 > 综合 > 正文

centos5 得到内核的源代码

2017年12月05日 ⁄ 综合 ⁄ 共 1119字 ⁄ 字号 评论关闭

以 root 的身份安装 rpm-build、redhat-rpm-config 及 unifdef 组件:

 

[root@host]# yum install rpm-build redhat-rpm-config unifdef  

 

以一个不是 root 用户的的户口,创建一个以 ~/rpmbuild 为基础的目录树:

 

[user@host]$ cd [user@host]$ mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} [user@host]$ echo '%_topdir %(echo $HOME)/rpmbuild' > .rpmmacros  

 

<!> 我们强烈推荐你不要以 root 的身份创建组件。(见:Building Source RPM as non-root under CentOS

从这些地方找寻内核的源代码:

(针对 CentOS-4 内核请以 "4" 取代 "5")

(请选择 <版本>/updates/SRPMS 或 <版本>/os/SRPMS)

一旦你找到源代码组件,你可以执行这个指令来安装它:

 

[user@host]$ rpm -i http://mirror.centos.org/centos/5/updates/SRPMS/kernel-2.6.18-194.3.1.el5.src.rpm 2>&1 | grep -v mockb  

(针对 CentOS 5)— 或 —

 

[user@host]$ rpm -i http://mirror.centos.org/centos/4/updates/SRPMS/kernel-2.6.9-89.0.25.EL.src.rpm 2>&1 | grep -v mockb  

(针对 CentOS 4)现在源代码组件已经安装了,请解压及预备源代码文件:

 

[user@host]$ cd ~/rpmbuild/SPECS [user@host SPECS]$ rpmbuild -bp --target=`uname -m` kernel-2.6.spec 2> prep-err.log | tee prep-out.log  

 

`uname -m` 这个数值(注意:是钝音符号,不是单引号)将 --target 设置为你的现有内核的结构。一般来说请是可行的,因为多数人会拥有 i686 或 x86_64。

现在内核的源代码目录树可以在 ~/rpmbuild/BUILD/ 这个目录内找得到。

抱歉!评论已关闭.