OpenWRT打补丁

openwrt 创建补丁  
quilt介绍

openwrt使用quilt工具对patch进行管理,quilt其实就是一系列shell脚本组成的一个工具。

安装quilt
sudo apt install quilt -y

配置quilt

quilt使用前需要做一些配置,它的配置文件一般放~/.quiltrc或者/etc/quilt.quiltrc,你可以通过直接vim打开/usr/bin/quilt来一窥究竟。一般配置如下:
cat > ~/.quiltrc <<EOF
QUILT_DIFF_ARGS="--no-timestamps --no-index -p ab --color=auto"
QUILT_REFRESH_ARGS="--no-timestamps --no-index -p ab"
QUILT_SERIES_ARGS="--color=auto"
QUILT_PATCH_OPTS="--unified"
QUILT_DIFF_OPTS="-p"
EDITOR="vim"
EOF

如何添加一个新补丁

添加一个新的补丁

以我近期用到的iw包为例,增加一个补丁,先要对它prepare。注意这里uqmi包是还未修改过的,补丁将来就是往它上面打。
make package/network/utils/iw/{clean,prepare} V=s QUILT=1

然后进到包对应的准备好的源码目录:
cd build_dir/target-mips_24kc_musl-1.1.16/iw-4.9/

此时的源码是最原始的,可能它已经存在一些补丁了,先把已存在的补丁打上去,
quilt push -a

查看已有补丁:
quilt series

这里我的iw还没补丁,然后再在此基础上创建你自己的补丁,命令如下:
quilt new 000-iw_test_pch.patch

补丁名字有规定,因为如果包里面包含多个补丁,打补丁需要按照一定的顺序来的。


•补丁名字以数字开头,然后通过-符号链接一个简短的描述,数字和横杆-是重点

•选择的这个开头的数字必须高于已有补丁的开头数字,可以通过quilt series来查看已有补丁的

其实数字就是打补丁的顺序,因为打补丁是通过脚本来完成的,先对补丁文件排序,再逐个打上去。

创建空补丁后,接下来要把需要修改的文件与之关联。可以通过quilt add xxx来做这件事,然后你就可以编辑你要改的文件,也可以直接用quilt edit xx来添加并打开要改的文件:
quilt edit xxx

按照这种方法,把这次生成补丁需要修改的文件都修改后,使用quilt diff预览一下补丁
quilt diff

觉得没问题后,用quilt refresh将更新到补丁文件000-uqmi_test_pch.patch中
quilt refresh

回到openwrt顶层目录,更新一下包
make package/network/utils/iw/update V=s

最后重新编译这个包
makepackage/network/utils/iw/{clean,compile} package/index V=s

posted on   sudochen  阅读(390)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示