linux内核补丁提交_提交您的第一个Linux内核补丁的清单

linux内核补丁提交

Linux内核是最大,也​​是发展最快的开源项目之一,它由约53,600个文件和近2000万行代码组成。 Linux内核在全球范围内有15600多名程序员参与了该项目,Linux内核遵循维护者模型进行协作。

maintainer model

在本文中,我将提供一个快速核对清单,其中列出了您进行第一个内核贡献时所涉及的步骤,并介绍了在提交补丁之前应了解的知识。 要更深入地了解贡献您的第一个补丁的提交过程,请阅读KernelNewbies First Kernel Patch教程

为内核做贡献

步骤1:准备系统。

本文中的步骤假定您的系统上具有以下工具:

步骤2:下载Linux内核代码存储库:


   
   
git clone -b staging-testing
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git

复制您当前的配置:

 cp /boot/config-`uname -r`* .config 

步骤3:构建/安装内核。


   
   
make -jX
sudo make modules_install install

步骤4:建立分支并切换至该分支。

 git checkout -b first-patch 

步骤5:更新您的内核以指向最新的代码库。


   
   
git fetch origin
git rebase origin/staging-testing

步骤6:更改代码库。

使用make命令重新编译以确保您的更改不会产生错误。

步骤7:提交更改并创建补丁。


   
   
git add <file>
git commit -s -v
git format-patch -o /tmp/ HEAD^
structure of a typical linux kernel patch

该主题由以冒号分隔的文件名路径组成,其后是修补程序按命令式所做的操作。 在空白行之后是补丁的说明以及必须签署的标记,最后是补丁的区别。

这是一个简单补丁的另一个示例:

simple patch example

接下来, 使用来自命令行的电子邮件 (在本例中为Mutt)发送补丁:

 mutt -H /tmp/0001-<whatever your filename is>  
get_maintainer.pl脚本

提交第一个补丁之前要了解什么

  • Greg Kroah-Hartman暂存树是提交您的第一个补丁的好地方,因为他接受来自新贡献者的简单补丁。 当您熟悉补丁发送过程时,可以发送复杂性更高的特定于子系统的补丁。
  • 您也可以从更正代码中的编码样式问题开始。 要了解更多信息,请阅读Linux内核编码样式文档
  • 脚本checkpatch.pl为您检测编码样式错误。 例如,运行:
     perl scripts/checkpatch.pl -f drivers/staging/android/* | less 
    
  • 您可以完成开发人员遗漏的TODO:
     find drivers/staging -name TODO  
    
  • Coccinelle是用于模式匹配的有用工具。
  • 阅读内核邮件存档
  • 浏览linux.git日志,以查看以前的作者的启发。
  • 注意:请勿置顶与补丁的审阅者交流! 这是一个例子:

    错误的方法:

    克里斯,
    是的,让我们安排明天的会议在二楼。
    > 2013年4月26日,星期五,上午9:25,克里斯写道:
    >约翰,我有一些问题:
    > 1.您想安排明天的会议吗?
    > 2.在办公室的哪一层?
    > 3.什么时候适合您?

    (请注意,最后一个问题在答复中无意中没有得到回答。)

    正确方法:

    克里斯,
    请在下面查看我的答案...
    > 2013年4月26日,星期五,上午9:25,克里斯写道:
    >约翰,我有一些问题:
    > 1.您想安排明天的会议吗?
    是的,明天很好。
    > 2.在办公室的哪一层?
    让我们将其保留在二楼。
    > 3.什么时候适合您?
    早上09:00可以。

    (所有问题都得到了回答,这样可以节省阅读时间。)

  • Eudyptula挑战是学习内核基础知识的好方法。

要了解更多信息,请阅读KernelNewbies First Kernel Patch教程 。 之后,如果您仍然有任何疑问,请在kernelnewbies 邮件列表#kernelnewbies IRC频道询问

翻译自: https://opensource.com/article/18/8/first-linux-kernel-patch

linux内核补丁提交

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值