Linux 内核学习笔记系列,内核开发部分,简单介绍 Linux 内核的开发结构的相关知识,以提供参考资料为主。

内核开发

内核文档中提供了大量关于内核开发的内容,具体可以参考 The Linux Kernel documentation

开发结构

命令链

内核所有活动组件都有一个维护者,维护者在 MAINTAINERS 文件中给出,具体内容可以直接看该文件头部的说明文字。

开发周期

在一个新的内核版本发布后,Linus Torvalds 会打开一个合并窗口(merge window),在比较短的一段时间内保持开放,大约两星期。新代码通常只能在这段时间内加入。

合并窗口关闭时,候选的发布版内核也准备好了。候选发布版提供了一个机会,可以测试各项修改之间的交互,以及识别并修复bug。

在一切都稳定以后,一个新的内核版本就发布了。

在线资源

  • https://www.kernel.org/:包含了内核源代码及许多基本的用户空间工具。
  • https://git.kernel.org/:Git 源代码的存储库。
  • https://lwn.net/:内核开发过程方面的首要信息源,收集了 Linux 开发所有方面的有趣新闻以及 IT 社区中的相关事件,而优秀的研究文章对各个项目的发展现状给出了深刻的见解。

编码风格

具体可以参考 Linux kernel coding style

补丁结构

现在建议使用 Git 来管理补丁。

提交补丁可以参考 Submitting patches: the essential guide to getting your code into the kernel