了解如何做出您的***Linux内核贡献以及在开始之前您应该了解的内容。Linux内核是最大和发展最快的开源项目之一,由大约53,600个文件和近2000万行代码组成。全球有超过15,600名程序员为其贡献代码,Linux内核项目的维护者使用以下协作模型。在本文中,为了便于提交您在Linux内核中的第一个贡献,我将为您提供一个必备的快速清单,其中包含提交补丁时您应该查看和了解的内容。有关您的第一个补丁贡献的提交过程的更多信息,请阅读KernelNewbies的第一个内核补丁教程。为内核做贡献第1步:准备您的系统。在开始本文之前,假设您的系统已经具备以下工具:文本编辑器电子邮件客户端版本控制系统(例如:git)第2步:下载Linux内核代码存储库。gitclone-bstaging-testinggit://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git复制你当前的配置:cp/boot/config-`uname-r`*.配置第3步:构建/安装您的内核。make-jXsudomakemodules_installinstall第四步:创建一个分支并切换到它。gitcheckout-bfirst-patch第5步:更新内核并指向***代码。gitfetchoriginitrebaseorigin/staging-testing第6步:更改***的代码库。使用make命令重新编译以确保您的更改是正确的。第7步:提交更改并创建补丁。gitaddgitcommit-s-vgitformat-patch-o/tmp/HEAD^主题由冒号分隔的文件名组成,后面是对补丁功能的强制性描述。空行后面是强制签名标志,***是你补丁的diff信息。这是一个简单补丁的另一个示例:接下来,使用get_maintainer.pl脚本从命令行使用邮件(本例中为Mutt)发送补丁:mutt-H/tmp/0001-您的补丁应该发送给的维护者。在提交您的第一个补丁之前您应该知道的事情GregKroah-Hartman的暂存树是提交您的第一个补丁的最佳地点,因为它更容易接受来自新贡献者的补丁。熟悉补丁发送过程后,您可以继续发送更复杂的特定于子系统的补丁。您还可以从更正代码中的编码风格开始。要了解更多信息,请阅读Linux内核编码风格文档。checkpatch.pl脚本可以帮助您检测编码风格错误。例如,运行以下命令:perlscripts/checkpatch.pl-fdrivers/staging/android/*|less开发者留下的TODO注释中未完成的内容可以补全:finddrivers/staging-nameTODOCoccinelle是一个很好用的模式匹配工具。阅读存档的内核邮件。为了获得灵感,您可以浏览linux.git日志以查看以前作者的提交。注意:不要在电子邮件顶部与补丁的审阅者交流!这是一个这样的例子:错误的方式:克里斯,是的,让我们安排明天的会议,在二楼。>2013年4月26日星期五上午9:25,克里斯写道:>嗨,约翰,我有一些问题:>1.你想安排明天的会议吗?>2.在办公室的几楼?>3.你什么时间合适?(请注意,最后一个问题在回复中不小心被遗漏了。)正确的方式:Chris,请参阅下面我的回答...>2013年4月26日星期五上午9:25,Chris写道:>嘿,John,我有一些问题:>1.你想安排会议吗明天?是的,明天很好。>2.在办公室的哪一层?放在二楼吧。>3.什么时间适合你?上午09:00就可以了。(所有问题都已回答,而且还节省了阅读时间。)Eudyptula挑战是学习内核基础知识的好方法。要了解更多信息,请阅读KernelNewbies的第一个内核补丁教程。之后,如果您有任何问题,可以在kernelnewbies邮件列表或#kernelnewbiesIRC频道上提问。