linux内核命令开发 linux内核开发语言( 四 )


中的和单独维护的) 。它还提供了一些基本的帮助信息,比如如何编译内核和打补
丁 。
如果你想加入内核开发社区并协助完成一些任务,却找不到从哪里开始 , 可以访问
“Linux内核房管员”计划:
这是极佳的起点 。它提供一个相对简单的任务列表,列出内核代码中需要被重新
整理或者改正的地方 。通过和负责这个计划的开发者们一同工作,你会学到将补丁
集成进内核的基本原理 。如果还没有决定下一步要做什么的话,你还可能会得到方
向性的指点 。
如果你已经有一些现成的代码想要放到内核中 , 但是需要一些帮助来使它们拥有正
确的格式 。请访问“内核导师”计划 。这个计划就是用来帮助你完成这个目标的 。它
是一个邮件列表,地址如下:
在真正动手修改内核代码之前,理解要修改的代码如何运作是必需的 。要达到这个
目的,没什么办法比直接读代码更有效了(大多数花招都会有相应的注释),而且
一些特制的工具还可以提供帮助 。例如,“Linux代码交叉引用”项目就是一个值得
特别推荐的帮助工具,它将源代码显示在有编目和索引的网页上 。其中一个更新及
时的内核源码库 , 可以通过以下地址访问:
开发流程
--------
目前Linux内核开发流程包括几个“主内核分支”和很多子系统相关的内核分支 。这
些分支包括:
- 2.6.x主内核源码树
- 2.6.x.y -stable内核源码树
- 2.6.x -git内核补丁集
- 2.6.x -mm内核补丁集
- 子系统相关的内核源码树和补丁集
2.6.x内核主源码树
-----------------
2.6.x内核是由Linus Torvalds(Linux的创造者)亲自维护的 。你可以在
kernel.org网站的pub/linux/kernel/v2.6/目录下找到它 。它的开发遵循以下步
骤:
- 每当一个新版本的内核被发布,为期两周的集成窗口将被打开 。在这段时间里
维护者可以向Linus提交大段的修改,通常这些修改已经被放到-mm内核中几个
星期了 。提交大量修改的首选方式是使用git工具(内核的代码版本管理工具
,更多的信息可以在获?。还褂闷胀ú苟∫彩强梢?
的 。
- 两个星期以后-rc1版本内核发布 。之后只有不包含可能影响整个内核稳定性的
新功能的补丁才可能被接受 。请注意一个全新的驱动程序(或者文件系统)有
可能在-rc1后被接受是因为这样的修改完全独立 , 不会影响其他的代码 , 所以
没有造成内核退步的风险 。在-rc1以后也可以用git向Linus提交补丁 , 不过所
有的补丁需要同时被发送到相应的公众邮件列表以征询意见 。
- 当Linus认为当前的git源码树已经达到一个合理健全的状态足以发布供人测试
时,一个新的-rc版本就会被发布 。计划是每周都发布新的-rc版本 。
- 这个过程一直持续下去直到内核被认为达到足够稳定的状态,持续时间大概是
6个星期 。
- 以下地址跟踪了在每个-rc发布中发现的退步列表:
关于内核发布,值得一提的是Andrew Morton在linux-kernel邮件列表中如是说:
“没有人知道新内核何时会被发布,因为发布是根据已知bug的情况来决定
的,而不是根据一个事先制定好的时间表 。”
2.6.x.y -stable(稳定版)内核源码树
-----------------------------------
由4个数字组成的内核版本号说明此内核是-stable版本 。它们包含基于2.6.x版本
内核的相对较小且至关重要的修补,这些修补针对安全性问题或者严重的内核退步 。

推荐阅读