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


不可估量的价值 。当一个新的功能被加入内核,最好把解释如何使用这个功能的文
档也放进内核 。当内核的改动导致面向用户空间的接口发生变化时,最好将相关信
息或手册页(manpages)的补丁发到mtk.manpages@gmail.com , 以向手册页(manpages)
的维护者解释这些变化 。
以下是内核代码中需要阅读的文档:
README
文件简要介绍了Linux内核的背景,并且描述了如何配置和编译内核 。内核的
新用户应该从这里开始 。
Documentation/Changes
文件给出了用来编译和使用内核所需要的最小软件包列表 。
Documentation/CodingStyle
描述Linux内核的代码风格和理由 。所有新代码需要遵守这篇文档中定义的规
范 。大多数维护者只会接收符合规定的补丁 , 很多人也只会帮忙检查符合风格
的代码 。
Documentation/SubmittingPatches
Documentation/SubmittingDrivers
这两份文档明确描述如何创建和发送补丁,其中包括(但不仅限于):
- 邮件内容
- 邮件格式
- 选择收件人
遵守这些规定并不能保证提交成功(因为所有补丁需要通过严格的内容和风格
审查),但是忽视他们几乎就意味着失败 。
其他关于如何正确地生成补丁的优秀文档包括:
"The Perfect Patch"
"Linux kernel patch submission format"
Documentation/stable_api_nonsense.txt
论证内核为什么特意不包括稳定的内核内部API,也就是说不包括像这样的特
性:
- 子系统中间层(为了兼容性?)
- 在不同操作系统间易于移植的驱动程序
- 减缓(甚至阻止)内核代码的快速变化
这篇文档对于理解Linux的开发哲学至关重要 。对于将开发平台从其他操作系
统转移到Linux的人来说也很重要 。
Documentation/SecurityBugs
如果你认为自己发现了Linux内核的安全性问题,请根据这篇文档中的步骤来
提醒其他内核开发者并帮助解决这个问题 。
Documentation/ManagementStyle
描述内核维护者的工作方法及其共有特点 。这对于刚刚接触内核开发(或者对
它感到好奇)的人来说很重要,因为它解释了很多对于内核维护者独特行为的
普遍误解与迷惑 。
Documentation/stable_kernel_rules.txt
解释了稳定版内核发布的规则,以及如何将改动放入这些版本的步骤 。
Documentation/kernel-docs.txt
有助于内核开发的外部文档列表 。如果你在内核自带的文档中没有找到你想找
的内容,可以查看这些文档 。
Documentation/applying-patches.txt
关于补丁是什么以及如何将它打在不同内核开发分支上的好介绍
内核还拥有大量从代码自动生成的文档 。它包含内核内部API的全面介绍以及如何
妥善处理加锁的规则 。生成的文档会放在 Documentation/DocBook/目录下 。在内
核源码的主目录中使用以下不同命令将会分别生成PDF、Postscript、HTML和手册
页等不同格式的文档:
make pdfdocs
make psdocs
make htmldocs
make mandocs
如何成为内核开发者
------------------
如果你对Linux内核开发一无所知,你应该访问“Linux内核新手”计划:
它拥有一个可以问各种最基本的内核开发问题的邮件列表(在提问之前一定要记得
查找已往的邮件,确认是否有人已经回答过相同的问题) 。它还拥有一个可以获得
实时反馈的IRC聊天频道,以及大量对于学习Linux内核开发相当有帮助的文档 。
网站简要介绍了源代码组织结构、子系统划分以及目前正在进行的项目(包括内核

推荐阅读