读书频道 > 系统 > linux > Linux内核精髓:精通Linux内核必会的75个绝技
如何获取上游内核
2013-02-19 14:26:13     我来说两句 
收藏    我要投稿   
经过近20年的发展,Linux操作系统已经成为当今最成功的开源软件之一,使用广泛,影响深远。随着Linux操作系统功能的不断丰富和完善,Linux内核的源代码也从最初的几万行增加到如今的数百万行,庞大无比,对于Lin...  立即去当当网订购

在了解Linux内核的各种衍生版本后,我们首先尝试一下获取上游内核(upstream kernel)。Linus树、linux-next树,以及绝大部分的开发树都可以从http://www.kernel.org/获取(见图1-1)。

Linux内核的开发都是在最新版上游内核的基础上进行的。其中最重要的就是作为所有树的根源的Linus树。下面介绍获取Linus树的两种方法。


 

下载tar文件

获取Linus树最简单的方法就是从kernel.org下载tar文件。2.6内核所有发布版本的tar文件都能够从http://www.kernel.org/pub/linux/kernel/v2.6/获取。

这里有很多种类的文件。例如,表1-1所示的是与2.6.38对应的文件,可以从中随意选择一个下载。无论下载的是哪个,解压缩后或打补丁后的tar文件都是一样的。

表1-1 Linux-2.6.38的各种源文件
文 件 名 内  容
linux-2.6.38.tar.bz2 完整的源码树。使用tar+bzip2压缩
linux-2.6.38.tar.gz 完整的源码树。使用tar+gzip压缩
patch-2.6.38.bz2 2.6.37升级到2.6.38的补丁。使用bzip2压缩
patch-2.6.38.gz 2.6.37升级到2.6.38的补丁。使用gzip压缩

除这些以外,还有一些文件名后缀为“.sign”的文件。这些文件都是用来确保各个文件兼容性的GnuPG签名。可以在验证下载是否正常时使用这些文件。

小贴士:使用GnuPG来检测兼容性时可以执行下列命令。
$ gpg --keyserver wwwkeys.pgp.net --recv-keys 0x517DoFoE
$ gpg -verify < 签名文件 > <下载的文件 >

详细内容请参考http://www.kernel.org/signature.html。

rc版或者更新更为频繁的快照tar文件存放在子目录下。主要的子目录如表1-2所示。

表1-2 http://www.kernel.org/pub/linux/kernel/v2.6/的子目录
目 录 名 内  容
next rc版升级到linux-next的补丁
testing rc版源码树的tar文件与补丁。目录下的文件仅针对下一发布版本。针对以前版本的文件存放在下一层的子目录下
snapshots 每天更新1~2次的快照文件补丁

使用Git

Linus树和开发树通过修复各种补丁而不断更新。在最新的树中进行开发是最基本的原则,因此为了保持最新,必须每天多次下载tar文件修复补丁。这项工作是非常花费精力的,但是也不需要担心,因为可以用Git来解决。

Git是Linux内核所采用的SCM(Source Code Management system),具备分散开发所需的多个功能。Git命令更为详细的使用方法将在Hack #4中介绍,这里就先了解一下怎样使用Git命令来获取最新的Linus树。要在适当的目录下执行下列命令,但是在此之前必须注意的是,因为这条命令会将包括修改记录在内的所有仓库数据复制到本地磁盘中,所以必须要有1GB以上的磁盘容量。在操作时请注意磁盘和网络的容量。

$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
命令执行完成后,应该就会生成一个标题为linux-2.6的目录。这就是包括修改记录在内的Linus树的最新、最完整的副本。

为了让手头的源码树时刻保持最新,需要在源码树的根目录(linux-2.6)下执行下列命令。

$ git pull

如果没有对手头的源码树代码作出任何修改,该命令会使得手头的源码树与Linus树的最新状态保持一致。当使用git clone进行复制时,git命令会记住复制源目录的URL,因此执行git pull时不需要指定URL。

使用git命令还可以获取除Linus树以外的开发树的最新版本。在http://git.kernel.org/上能看到放置在kernel.org下的其他开发树一览表。如果希望开发或者追踪各领域最新开发情况,也可以从这里找到开发树的URL。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:Linus树
下一篇:如何获取发布版内核
相关文章
图文推荐
3.3.6 GNOME的软件管
3.3.5 GNOME的文件管
3.3.4 GNOME的窗口管
3.3.3 收藏夹和快捷
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站