如何向Linux 内核提交补丁
对于对Linux kernel有兴趣的开发者来说,很多人都希望自己的代码能够出现在Linux kernel的官方代码中。
一般情况下 ,我们把Linux kernel的官方分之称为mainline,或者upstream。同时,我们把向Linux kernel提交或者贡献代码的过程也称为upstream。
首先要了解Linux内核的开发模式,Linux kernel是分解成一个个子系统进行维护的,各个子系统,各个模块由不同的maintainer维护,当然每个maintainer有自己的代码仓库,这些代码仓库由git 进行管理。在开发的过程中,普通的开发者把自己的补丁或者提交给相应模块的maintainer,这些maintainer对代码进行审核,审核通过后会提交给上一级的maintainer,再由上一级的maintainer统一提交给大神Linus(所以,一般你的代码不是直接发给Linus本人)。maintainer向Linus统一提交是通过给Linus发Pull request邮件进行的,Linus如果对Pull Request包含的代码满意,就会合并到他的主线仓库,然后你的工作成果就会出现在下一个版本中了(Linux kernel大约两个月左右发布一个新版本)。当然,如果你的某个补丁很不合Linus的胃口,