1.安装git,msmtp,git-email
yum install git,msmtp,git-email
2.下载内核源代码
3.配置git
git-config --global user.name "Lidong Chen"
git-config --global user.email cfme_admin@163.com
[root@jemmy linux]# git config --list
user.name=Lidong Chen
user.email=cfme_admin@163.com
4.配置git-sendmail
采用的是163邮箱,gmail给国内屏蔽了,qq邮箱在配置mstmp的时候提示证书认证一致有问题,放弃了。
vi ~/.msmtprc,创建当前用户的msmtp的配置文件,内容如下:
# default
account 163
protocol smtp
host smtp.163.com
from cfme_admin@163.com
user cfme_admin@163.com
password xxxxxx
port 25
auth login
tls off
logfile /tmp/log.txt
account default : 163
执行如下命令,验证发送邮件是否成功。填写自己的邮箱地址。
echo -e "Subject: Test Mail\r\n\r\nThis is a test mail" |msmtp --debug -t xxx@163.com
如果成功,继续后续步骤。
5.开发自己的补丁
git checkout -b dev //创建自己的开发分支
vi kernel/sched/core.c //修改代码
make -j2
make modules_install
make install //编译内核,验证修改是否满足预期
git commit -a -s -m 'sched: fix BUG in preempt_notifier' -e //提交修改
git format-patch -1 //生成补丁
./scripts/checkpatch.pl 0001-sched-fix-BUG-in-preempt_notifier.patch //检查补丁是否符合规范
./scripts/get_maintainer.pl kernel/sched/ -f //查看对应模块的维护者
git send-email --smtp-server /usr/bin/msmtp --to xxx --to xxx --cc linux-kernel@vger.kernel.org 0001-sched-fix-BUG-in-preempt_notifier.patch //发送邮件给对应的维护者和maillist