您的位置:首页 > 编程语言

获得RHEL 5.4内核源代码的方法

2013-03-23 18:38 225 查看

1. 环境说明

使用的是RHEL5.4的系统:

$cat /etc/issue

Red Hat Enterprise Linux Server release 5.4 (Tikanga)

$uname -a

Linux myhost 2.6.18-164.el5 #1 SMP Tue Aug 18 15:51:48 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux

2. 需要的RPM包
安装基本工具包:rpm-build redhat-rpm-config unifdef。一般情况这三个包都是安装过的,检查一下即可。

$sudo yum install rpm-build

Package rpm-build-4.4.2.3-18.el5.x86_64 already installed and latest version

$sudo yum install redhat-rpm-config

Package redhat-rpm-config-8.0.45-32.el5.noarch already installed and latest version

$sudo yum install unifdef

Package unifdef-1.171-5.fc6.x86_64 already installed and latest version
3. 下载并安装源码包
现在的RHEL发行版中,已经不再带源码包,所以需要单独下载,供Flashcache编译使用。

3.1 准备目录
[supu@host]$ cd

[supu@host]$ mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}

[supu@host]$ echo '%_topdir %(echo $HOME)/rpmbuild' > .rpmmacros
3.2 下载源码包
可以在ftp://ftp.redhat.com/下载到对应的源码包。这里的内核版本号是:

$uname -r

2.6.18-164.el5
所以需要下载的是kernel-2.6.18-164.el5.src.rpm,完整的URL是:

http://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/os/SRPMS/kernel-2.6.18-164.el5.src.rpm
注:最好选择合适的镜像下载,速度会差很多的。

3.3 安装源码包
有了前面的目录准备,现在可以安装源码包了

[supu@host]$
sudo rpm -i kernel-2.6.18-164.el5.src.rpm

[supu@host]$
cd ~/rpmbuild/SPECS

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

OK,这时候源码包就安装到了如下目录:/home/supu/rpmbuild/BUILD/kernel-2.6.18/linux-2.6.18.x86_64

http://www.orczhou.com/index.php/2010/10/how-to-setup-flashcace/

RPM之".rpmmacros"文件

建立~/.rpmmacros 文件 是存储各种宏定义 ,比如_topdir宏的值来自定义打包路径

echo "%_topdir $HOME/rpmbuild" > ~/.rpmmacros

相当于在.rpm文件中写入%_topdir $HOME/rpmbuild即定义%_topdir 为路径$HOME/rpmbuild
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: