您的位置:首页 > 编程语言

修改内核代码-打补丁-checkpatch.pl

2015-11-25 15:30 190 查看
我们下载一份内核源码,修改了一些代码,需要制作补丁,用diff命令

比如现在有两份内核源码

kernel-old, kernel-new

打补丁,命令为

diff -ruN kernel-old kernel-new > diff.patch

可以通过Kompare,或者直接用gedit打开查看修改的代码

打补丁的命令:

patch -p1或-p0  < ../diff.patch

接着要查看我们修改的代码是否符合内核编码规范

就需要用到内核的脚本checkpatch.pl

命令如下

cd kernel-new

./script/checkpatch.pl ../diff.patch > ../checkresult.txt

打开checkresult.txt查看不符合规范的地方,再修改代码,重新打补丁,直到没有不符合规范的地方

很多都是空格,单行不超过80个字符,tab等错误

下面列出一些碰到过的

ERROR: Macros with complex values should be enclosed in parentheses

复杂的宏要用小括号括起来

ERROR: Missing Signed-off-by: line(s)

这个好像是补丁签名的意思,就是谁打的这个补丁,我是直接忽略这个错误

WARNING: do not add new typedefs

用typedefs出现的警告,不知道怎么把这个取消掉

比如你定义一个结构体 struct xxx

typedef struct xxx *p1;

typedef struct xxx *p2;

就会出现上述警告

WARNING: Prefer [subsystem eg: netdev]_err([subsystem]dev, ... then dev_err(dev, ... then pr_err(...  to printk(KERN_ERR ...

这是用printk的时候会警告
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: