这些文件非常详细的介绍了如何成功的创建和发送一个补丁,包括(但不限于):

-Email内容

-Email格式

-发送给谁

遵守所有这些规则并不能保证成功(对所有的补丁都需要进行内容和风格的详细检查),但是不遵守这些规则就一定不会成功。

其他关于如何创建补丁的很好的文章有:

“The Perfect Patch"

linux/patches/stuff/tpp.txt">www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt

"Linux kernle patch submission format"

linux.yyz.us/patch-format.html

Do*****entation/stable_api_nonsense.txt

这个文件解释了有意识的决定-不在内核里使用稳定的API-的原因,包括:

-子系统分隔层(为了兼容?)

-操作系统之间的驱动可移植性

-缓和(或者阻止)内核源代码树的急速变动

这个文档对于了解Linux的开发哲学是非常关键的,对于由开发其他操作系统转而开发Linux人也是很重要的。

Do*****entation/SecurityBugs

如果你感觉到你发现了Linux内核里的一个安全问题,请遵照这个文档里所描述的步骤来提醒内核开发者,并帮助解决问题。

Do*****entation/ManagementStyle

这个文档描述了Linux内核维护者如何运作,以及他们为什么这样做。它对于任何内核开发新手(或者任何对本话题感兴趣的人)来说是非常重要的。

因为它解释了一些惯有的错误概念,可解决有关内核维护者独特行为的疑惑。

Do*****entation/stable_kernel_rules.txt

本文件描述了稳定版本内核释出的规则,还有如果你想对其中的一个版本做一些改动应该做些什么。

Do*****entation/kernel-docs.txt

一个有关内核开发的外部文档的列表。如果你在内核内部文档里没有找到? 要找的东西,你可以参考这个列表。

Do*****entation/applying-patches.txt

介绍了对于什么是补丁,以及如何应用补丁于不同的内核开发分支。

内核也有很多可以从源代码自动产生的文档。这包括内核内部API的全面描述,有关如何处理好锁定的规则。这些文档会被创建于 Do*****entation/DocBook/文件夹中。在内核主源码树中通过运行下面的命令可以创建出PDF,Postscript, HTML 和manpage等不同格式的文档: make pdfdocsmake psdocsmake htmldocsmake mandocs

成为一个内核开发者

如果你对Linux内核开发一无所知,你可以看看Linux KernelNewbies项目:

kernelnewbies.org

它包含一个邮件列表,在那里你可以问任何有关内核开发的基础问题(在问问题之前先搜索一下存档,很可能这个问题已经被解答过了。)它还有一个IRC频道,你可以在里面实时的提问。它还有很多有用的文档,对于学习Linux内核开发很有用。

这个网站有有关代码组织,子系统,当前项目(代码树之内的和之外的)的基本信息。它也描述了一些基本的“物流”信息,比如怎么样编译内核和怎么样打补丁。

如果你不知道从何处起步,但是你想找一些任务来做以加入内核开发社区,请看一下Linux Kernel Janitor项目:

janitor.kernelnewbies.org/

这是一个很好的起步的地方。它描述了一些相对来说简单的内核中需要清理的和解决的问题。和负责这个项目的开发者一起工作,你会学到如何令你的补丁进入Linux内核树的基本知识,而且可能会为你指明下一步的发展方向,如果你自己尚不明确的话。

如果你已经有了一段代码想要放到内核树里,但是需要某种形式的帮助,那么kernel-mentors项目就可以帮你的忙了。这是一个邮件列表,可以在下面找到:

selenic.com/mailman/listinfo/kernel-mentors

在你对Linux内核代码作任何实际的改动之前,必须要了解相关的代码是如何工作的。为了达到这个目的,没有比直接读它(很多困难的地方都有很好的注释)更好的方法了,甚至可能是在某个特殊工具的帮助下来阅读。很值得推荐的这样一种工具是Linux Cross-Reference项目,它可以把源代码以一种自我引用的、索引的网页形式显示出来。一个非常好的最新的内核代码仓库可以在这里找到: //sosdg.org/~coywolf/lxr

所有这些事情有时候很难做到。要想完美做到这些要求可能需要几年的时间。这是一个持续的发展过程,需要很多耐心和决心。但是不要放弃,这是可以实现的。很多人已经做到了这一点,每个人都经历过你现在这个阶段。


相关内容