To Linux kernel社区发送补丁patch

本文详细介绍了向Linux社区提交内核补丁的步骤,包括下载源码、创建补丁、编译检查、风格检查、确定Maintainer、发送邮件等关键环节。还提到了配置git send-email信息以确保邮件发送的正确性。
摘要由CSDN通过智能技术生成

本文主要参考提交内核补丁到Linux社区的步骤 - 广漠飘羽 - 博客园

为了便于自己记忆,和备份。

记录一下提交patch的流程:

一、下载源码(clone分支)

在官网下载最新代码,或者通过MAINTAINERS寻找对应子系统的仓库代码。

通常linux-next的仓库是最新的分支代码,git clone这个就行。

二、创建补丁

1. 下载后修改代码

2. 然后 git add -A

3. git commit -m "information about this patch"

4. git format-patch --subject-prefix='PATCH' -i HEAD~ (单个补丁) 

5. git format-patch --cover-letter --subject-prefix='PATCH' -N #这里的N是你要提取的补丁个数(系列补丁)

4和5选一个

说明:

subject-prefix 是为邮件标题添加个前缀
cover-letter 是为系列邮件创建封面邮件

三、编译检查和风格检查

1. 代码编译检查,不报错并能运行就好

2. 用./scripts/checkpatch.pl 00*.patch进行风格检查

3. 用 ./scripts/kernel-doc -v -none <改动的.c/.h源码文件>进行代码格式检查

四、确定Maintainer是谁

./scripts/get_maintainer.pl 00*.patch

五、发送邮件

git send-mail --to <maintainerA> --to <maintainerB> .... --cc linux-XXXX@xxxx --cc ... 00*.patch

        说明:        

                --to :发件人,可以有多个

                --cc:抄送人,可以有多个

发单个补丁,例如

git send-email --to=edumazet@google.com,davem@davemloft.net \
               --cc=eric.dumazet@gmail.com,netdev@vger.kernel.org xxx.patch

发系列补丁,例如

(1)git send-email --to=edumazet@google.com,davem@davemloft.net \               

                        --cc=eric.dumazet@gmail.com,netdev@vger.kernel.org xxx.patch(封面补丁)

(2)git send-email  --in-reply-to=message-id   (message-id填发送封面补丁时的结果)

                --to=edumazet@google.com,davem@davemloft.net \         

                --cc=eric.dumazet@gmail.com,netdev@vger.kernel.org xxx.patch

通过--in-reply-to可以添加附函,使得这条邮件作为对上一条邮件的回复,形成一个系列补丁

六、如果邮箱有问题

当然,在这之前,需要在git中配置你的sendmail信息

$ cat ~/.gitconfig

[...] [sendemail] smtpserver = ... smtpserverport = 465 smtpencryption = ssl smtpuser = ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值