如何提取Linux内核,HACK #1 如何获取Linux内核(3)

HACK #1  如何获取Linux内核(3)

Fedora

在Fedora中,内核源码是作为源码RPM(SRPM)提供的。使用yum-units包里所带的yumdownloader下载SRPM。此后要使用的yum-builddep也是yum-units包中所带的,所以如果事先没有安装,首先请安装这个工具包。

可以执行下列命令来下载内核的SRPM。$ yumdownloader --source kernel

在笔者的环境下,下载的是kernel-2.6.35.11-83.fc14.src.rpm。

如前文所述,发布版内核都带有自身特有的补丁。SRPM是将vanilla内核的源代码和补丁分开放置的,补丁在创建过程中被分配给vanilla内核的源代码。所以要获取发布版内核的源代码,就要完全执行RPM的创建过程,但并不完全执行。虽然每个SRPM在创建RPM时都需要用到不同的源码包,但只要执行下列命令,就能够安装创建Linux内核所需的所有源码包。这条命令请在root权限下执行。# yum-builddep kernel-2.6.35.11-83.fc14.src.rpm

安装SRPM需要执行下列命令。安装SRPM,就是指将所包含的文件解压缩。SRPM包含的文件将解压缩到在主目录下生成的rpmbuild的几个子目录下。

小贴士:生成rpmbuild目录的位置,是通过%_topdir这个rpm的宏变量来设置的。在以前的发布版中是在/usr/src/redhat下的生成,近来的版本是在/usr/lib/rpm/macros下创建:%_topdir          %{getenv:HOME}/rpmbuild

直接在用户目录下生成。$ rpm  kernel-2.6.35.11-83.fc14.src.rpm

RPM包的创建是通过rpmbuild命令进行的。本次操作的目的是获取内核的源代码,所以为了让命令结束前能给源代码修复补丁,应在rpmbuild命令中加上-bp选项。命令中的参数会赋予一个用来创建源码包的设置文件,即SPEC文件。$ cd~/rpmbuild/SPEC

$ rpmbuild 朾p kernel.spec

这时就会生成一个标题为~/rpmbuild/BUILD/kernel-2.6.35.fc14/linux-2.6.35.x86_64的目录,在这个目录下会生成发布版内核的源代码。

使用源代码来创建内核二进制文件的方法,请参考Hack #2。

Ubuntu

在Ubuntu或基于Ubuntu的Debian下,内核源代码是作为deb包提供的。首先,与其他的源码包一样用apt-get来执行安装。标题为Linux-source的源码包就是***的内核源码包的元包。# apt-get install linux-source

在笔者的环境下,到这一步就完成了linux-source-2.6.35的安装。

在安装内核源代码的deb包后,会在/usr/src下生成tar文件,只要将这个文件复制到适当的目录下并解压缩,就能够获取内核源代码。$ cp /usr/src/linux-source-2.6.35.tar.bz2~

$ cd

$ tar xjf linux-source-2.6.35.tar.bz2

关于创建内核二进制码的方法,同样请参考Hack #2。

【责任编辑:book TEL:(010)68476606】

点赞 0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值