Linux内核源码介绍-贡献Linux内核社区

建议点击这里查看个人主页上的最新原文

点击这里在哔哩哔哩bilibili在线观看配套的教学视频

点击这里在哔哩哔哩bilibili在线观看配套的加餐视频(就是一些补充)

点击跳转到内核课程所有目录

准备补丁

你可以通过bugzillasyzbot发现内核bug,也可以通过阅读内核代码发现bug或进行重构。或者可以用calc-func-lines.sh脚本找到长函数(不容易阅读)进行重构。

可以参考内核仓库中的补丁,比如我提交的补丁。修改代码时要参考Linux内核代码风格

注意commit message每行长度不超过 72 个字符。

git commit命令之后,使用以下命令会生成补丁文件:

# -1 表示最后一次commit,
git format-patch -1

# 指定commit号
git format-patch --subject-prefix="PATCH next" -1 <commit号>

# 如果是第2个版本或第3个版本,需要指定v2或v3
git format-patch --subject-prefix="PATCH v2" -1

# 如果内容不变,重新发送(比如加一个抄送的人)
git format-patch --subject-prefix="PATCH resend,v2" -1

# 从指定的commit号数向前3个,共生成3个补丁
git format-patch --subject-prefix="PATCH resend,v2" -3 <commit号>

# 生成补丁集
git format-patch --subject-prefix="PATCH resend,v2" -3 commit号 --cover-letter
# 编辑0000-cover-letter.patch, 可参考patchwork上其他补丁的写法
vim 0000-cover-letter.patch

邮箱配置

  • 163邮箱配置: 默认情况下,163邮箱只能在网页和网易邮箱大师登录。如果要用git通过163邮箱发送邮件则需要对163邮箱进行配置。在pc端网页登录163邮箱,点击“设置 --> POP3/SMTP/IMAP”,开启SMTP服务,会弹出授权密码窗口,记下这个授权密码(也可以在下方新增授权密码或删除)。
  • foxmail邮箱(qq邮箱)配置: 在pc端网页登录foxmail邮箱,点击"Settings -> Third-party Services -> IMAP/SMTP", 点击"Generate Authorization Code"生成在.gitconfigthunderbird中登录的密码。
  • 腾讯企业邮箱配置: 登录腾讯企业邮箱个人账号(不是管理员),左上角“设置”,然后“邮箱绑定 -> 客户端专用密码 -> 生成新密码“,注意要记住这个密码,只会显示一次,忘记了就要重新生成密码。thunderbird中登录时的配置:
    • 收件服务器: 协议IMAP,主机名: imap.exmail.qq.com,端口: 993(或不填),连接安全性: 自动检测。
    • 发件服务器: 主机名: smtp.exmail.qq.com,端口: 465(或不填),连接安全性: 自动检测。

thunderbird邮件客户端

最新版本的thunderbird默认使用html格式发送和显示,需要更改配置,参考Plain text e-mail - Thunderbird

依次点击 Account Settings(账户设置) -> 地址簿 -> Composition & Addressing -> Composition(编写) -> 取消勾选 Compose messages in HTML format(以html格式编写消息)

thunderbird有个快捷键k,会忽略话题,不小心按下后邮件就会不再显示,可以在查看 -> 话题里勾选已忽略话题,就能看到不小心按下k而不显示的邮件。

还有,不建议订阅内核任何模块的邮件列表,因为太多了,一旦订阅邮箱基本就爆了,可以在邮件列表网站上选择对应的模块在线浏览,如果需要回复,可以把邮件下载下来保存成文件,然后用thunderbird打开文件,然后就可以回复了。如果实在要订阅,可以访问vger.kernel.orglinux-kernel mailing list FAQ

git发送邮件

安装软件:

sudo apt install git-email -y

163邮箱~/.gitconfig:

[sendemail]
	from = your_name@163.com
	smtpserver = smtp.163.com
	smtpuser = your_name@163.com
	smtpencryption = ssl 
	smtppass = 此处填写163邮箱的授权密码
	smtpserverport = 994 

foxmail(qq)邮箱~/.gitconfig:

[sendemail]
        from = your_name@foxmail.com
        smtpserver = smtp.qq.com
        smtpuser = your_name@foxmail.com
        smtpencryption = ssl 
        smtppass = 此处填写qq邮箱的授权密码

腾讯企业邮箱~/.gitconfig:

[sendemail]
        from = your_name@your_name.com
        smtpserver = smtp.exmail.qq.com
        smtpuser = your_name@your_name.com
        smtpencryption = ssl 
        smtppass = 此处填写腾讯企业邮箱的授权密码
        smtpserverport = 465

获取maintainer邮箱:

./scripts/get_maintainer.pl file1.patch

发送邮件:

# --to是主送,--cc是抄送
git send-email --to=to1@example.com,to2@example.com --cc=cc1@example.com,cc2@example.com file1.patch file2.patch
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值