一、quilt 生成补丁(openWRT官方推荐)
安装 quilt
sudo apt install quilt
修改源码生成补丁
- 进入到编译目录源码目录(注意:源码目录在out/下的编译目录)
- export QUILT_PATCHES=patches
- quilt init
- quilt new 001-xxx-xxx-xxx.patch
- quilt add src/xxx.c # 把需要修改的文件添加进去
- 修改源码
- quilt refresh # 刷新补丁
- cat patches/001-xxx-xxx-xxx.patch # 查看补丁
- 将001-xxx-xxx-xxx.patch 拷贝到模块Makefile同级patches目录下
- 清空模块重新编译即可
二、diff 生成
./origin/src/xxx.cpp : 未修改的源码文件
./modify/src/xxx.cpp :修改后的源码文件
生成补丁文件
diff -ruN ./origin/src/xxx.cpp ./modify/src/xxx.cpp > ./patches/001-xxxx-xxxx-xxxx.patch
将001-xxx-xxx-xxx.patch 拷贝到模块Makefile同级patches目录下重新编译即可
三、git 生成补丁
如果代码已有git版本管理,源代码修改完成后,如下命令生成补丁文件:
git diff src/xxx.cpp > ./patches/001-xxxx-xxxx-xxxx.patch
将001-xxx-xxx-xxx.patch 拷贝到模块Makefile同级patches目录下重新编译即可