Kernel patch
需要window-git, 需要Linux开发环境
如何查找相关模块的维护者
首先下载最新的kernel源码,stable发布版本,可以使用浏览器下载,解压到Linux环境;然后比较文件,比如你要维护的是power目录的源码,是否与相关高通版本有差异,是否需要修改的等。
到你需要维护的目录下,或者直接在根目录下,执行git log寻找相关的commit,
使用如下命令diff一个patch,该命令在高通相关目录下执行;
git format-patch -1 8c0984e5a75337df513047ec92a6c09d78e3e5cd
其中git的第三个参数是kernel中的git log的commit 的Change-Id
可以找到需要修改的模块的修改记录,选取一条修改记录,使用其commit id产生一个patch
将这个patch移动到根目录下,然后执行以下的命令
- 检查patch是否合规
./scripts/checkpatch.pl 0001-power-move-power-supply-drivers-to-power-supply.patch
- 检查维护者
./scripts/get_maintainer.pl 0001-power-move-power-supply-drivers-to-power-supply.patch
cpufreq maintainer
Radael J. Wysocki
Viresh Kumar
Thermal maintainer
Zhang Rui
如何下载代码
那么到 https://git.kernel.org/ 中搜索是使用哪个关键字呢?
上面的搜索结果体现在kernel中就是如下的截图
如何更新windows-git下的代码
$git remote update
如何基于stable版本进行开发并push代码
- 首先通过window-git下载一份代码
- 在linux环境下git reset –hard重置head
- 修改目标文件,commit到本地 git commit –s –amend。 -s是签名的意思Signed
- Commit之后,生成commit id,format-patch。检查patch的正确性./script/checkpatch.pl
- 正确无误后,检查维护者
- 发送邮件
这里email是配置好的,使用了163的邮箱,也可以使用其他可用的,一般用gmail,由于我的gmail配置不好,才使用163邮箱的。
签名与邮箱
签名即 Author 这个有名字,也有公司邮箱,这个邮箱可以与发送邮件邮箱一致,也可以不一致;但是会同时发送邮箱
如何配置这个邮箱?
如下图,正式windows-git下的配置,是用来发送patch的邮箱;还有一个是commit的邮箱
Commit邮箱是Linux开发环境的邮箱,由于与公司的邮箱共用,所以必须如此