Linux Kernel 开发树
The Linux Kernel Archives
mainline: |
3.18-rc1 |
2014-10-20 |
[tar.xz] |
[pgp] |
[patch] |
|
[browse] |
|
|
stable: |
3.17.1 |
2014-10-15 |
[tar.xz] |
[pgp] |
[patch] |
|
[browse] |
||
stable: |
3.16.6 |
2014-10-15 |
[tar.xz] |
[pgp] |
[patch] |
[browse] |
|||
longterm: |
3.14.22 |
2014-10-15 |
[tar.xz] |
[pgp] |
[patch] |
[browse] |
|||
longterm: |
3.12.30 |
2014-10-08 |
[tar.xz] |
[pgp] |
[patch] |
[browse] |
|||
longterm: |
3.10.58 |
2014-10-15 |
[tar.xz] |
[pgp] |
[patch] |
[browse] |
|||
longterm: |
3.4.104 |
2014-09-25 |
[tar.xz] |
[pgp] |
[patch] |
[browse] |
|||
longterm: |
3.2.63 |
2014-09-13 |
[tar.xz] |
[pgp] |
[patch] |
[browse] |
|||
longterm: |
2.6.32.63 |
2014-06-18 |
[tar.xz] |
[pgp] |
[patch] |
[browse] |
|||
linux-next: |
next-20141022 |
2014-10-22 |
|
|
|
|
|
[browse] |
|
Linux 内核是由多个开发者以分散型的模式进行开发的。 这里出现的“ 分散型 ” 是指多个衍生源码树同时存在。下面将简单介绍一些具有代表性的源码树及其地位。
Linus 树
最具有代表性的源码树应属 Linux 内核的最初创始人 ——Linus Torvalds 所管理的Linus 树。新版本 Linux 内核的发布,就意味着 Linus 树的源代码被贴上了新发布版本的标签。 到 2011 年为止,Linux 内核的版本号一直是用 2.6.x 这样的三个数字来表示的(Linux 2.6.39 的下一版本将是 Linux 3.0).Linus 树一直被认为是 Linux 内核源代码的“ 根源 ” 因此一旦其发布了新版本, 其他的开发树就会将自己独特的开发成果移植到这个版本上,在此基础上再次进行开发。Linus树由于其“根源”的地位而称为主线(mainline)。
一旦发布新版本 Linus 树, 就会立刻打开一个“ 合并窗口 ” merge window) 接受下一版本需要作出的改变。 合并窗口将开启约两周时间。 合并窗口关闭后, 就会发布下一版本的候选版, 即所谓的“rc 内核 ” (rc 是 release candidate(发布候选)的缩写)。 从 rc 内核发布后到下一版本发布的期间为测试期,这一期间基本只接受关于bugfix 的修改。rc 版内核每隔约一周时间会依次推出 rc1、rc2...... 当 Linus 判断其质量已经达到可以发布的水平时, 就会作为新版本发布。 按照最近的实际情况来看, 基本上在 rc6 ~ rc9 左右就会发布新版本, 也就是说 Linux 内核每隔 2 ~ 3 个月就会发布新版本。 新版本发布后, 又会打开下一版本的合并窗口, 然后对rc 版进行测试。
Linux 内核就是按照这样的周期来开发的。
linux-next 树
这是一个为发布将来的版本而积累新代码并进行测试的源码树, 主要由 Stephen Rothwell 等人进行管理和运营。 原则上要添加新功能或者进行安装配置时, 首先要在linux-next 树中进行测试,在确认各自之间可以兼容之后再添加到 Linus 树内。
stable 树
这是一个主要只针对过去发布的内核版本进行 bug 修改, 使其更加稳定的树, 由 Greg Kroah-Hartman、Chris Wright 进行维护管理。 这个树的版本号是在 Linus 树的版本号后面加一位数字来表示。 针对某个 Linus 树版本的稳 定(stable)版维护一般持续 6 个月左右,但也有持续更久的。
开发树
Linux 内核可以说是各种功能的集合体。 例如内存管理、 文件系统、 网络、 各种设备驱动程序、CPU 架构固有部分等。 这些功能部分称为“ 子系统 ” 各子系统分别在不同的源码树中进行开发。 在开发、 修改过程中也有一些不属于特定子系统的内容, 这些内容首先会被发送到 Andrew Morton 管理的 mm 树( 准确地说是 mmotm :mm on the moment ,补丁包的缩写) 这样的源码树统称为“开发树”。在各开发树中开发出的源代码在经过 linux-next 中的测试后再植入 Linus 树。开发树的数量多如繁星。 如果哪天你因为想要开发某个功能而在手边的源代码上进行了修改,这也可以说是一个“开发树”。Linus 树、开发树等作为所有树的根源,也称为“upstream” 即“上游” 但这是广义上的叫法,有时也仅指最上游的 Linus 树。
发布版内核
最后要介绍的是发布版内核(distribution kernel) 应该有很多人使用的都是作为 Linux。发布版的一部分发布的内核。 这些来源于发布版的内核几乎都是在 Linus 树或 stable 树内核的基础上进行发布版特有的扩展和 bug 修改而得到的。 像这样添加了发布版特有的修改,并作为发布版的一部分发布的内核,就称为“发布版内核”。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。