一种简单快速的Openwrt内核patch制作方式

openwrt的patch机制非常不错,应用的很广泛,从内核到应用都有涉及,patch机制也方便了多个用户之间的功能同步及差异控制。

在openwrt上常用的patch生成及修改方式为QUILT工具,应用此工具可以修改现有补丁以及生成新的补丁,但个人认为也有一定局限性;

以普通的开发方式来看,一般我们都会在build_dir中修改现有代码,然后重新编译,再测试功能直到功能OK。

在此过程中,我们会使用自己熟悉的编辑工具来编辑文件,如Notepad++,VIM等,但quilt生成补丁前,需要使用quilt edit文件,

这导致了一些不方便,不能让我们随时随处随意的修改源文件。

下面我将介绍另一种patch制作方式,将不受此局限,即使用Linux自带的diff命令即可;

在编辑修改源文件之前,只需要保存一份我们要修改的源文件用于对比即可。

以kernel加载4G模块来举例,一般我们会在option.c中添加4G模块的VID,PID

第一,保存原有的option.c文件

第二,修改option.c,添加我们的4G模块的VID,PID

第三,重命名文件为option_new.c,此处主要是为了方便diff,编译时还是需要使用option.c文件名的

修改好了文件,下面 开始制作patch,执行一条指令即可:

diff -ruN option.c option_new.c > 999-kernel-option-add-new-dev.patch

我生成的patch内容如下:

--- option.c	2018-09-04 17:14:32.000000000 +0800
+++ option_new.c	2018-06-12 14:56:55.000000000 +0800
@@ -372,8 +372,11 @@
 /* SpeedUp SU98
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值