当前位置: 首页 > news >正文

openwrt使用quilt工具制作补丁

前言:简单聊一下为什么需要制作补丁,因为openwrt的编译是去下载很多组件放到dl目录下面,这些组件都是压缩包。如果我们要修改这些组件里面的源码,就需要对这些组件打pacth,也就是把我们的差异点在编译的时候合入到对应的组件里面去。下面的以一个demo为例子,学会即可去照葫芦画瓢去修改我们对应的开源组件。

安装quilt

sudo apt-get install  quilt

为了让 quilt 以首选格式创建补丁,必须在本地主目录中创建一个包含常见 diff 和 patch 选项的配置文件.quiltrc

vi   ~/.quiltrc
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="vi"

要向现有软件包示例添加全新的补丁,请先准备源目录:

需要在package目录下面放example文件夹,如下图所示

里面包含基本的文件

执行下面命令

make package/example/{clean,prepare} V=s QUILT=1

会在该目录下面得到如下东西

下面这个命令是打印当前patch目录有哪些补丁 

quilt push -a

我们当前目录还没有对应的一个补丁 

建一个新的空补丁文件而不导入现有补丁文件:

quilt new 010-main_code_fix.patch

 更改完成后,可使用 quilt diff 命令对其进行查看

如果差异看起来正常,就执行下面的命令

quilt refresh

这个时候就会在该目录下面生成我们的patch目录

要将更新的补丁文件移动到 buildroot(也就是我们的package下面),请在包上运行 update

make package/example/update V=s

就会把build_dir目录下面生成的patch拷贝到/openwrt/lede/package目录下面

最后,重新构建包以测试更改:

make package/example/{clean,compile} package/index V=s

就会编译一下我们pach是否会有语法上面的报错

本文主要来源:

[OpenWrt 维基]使用补丁

相关文章:

  • 从汇编指令看函数调用堆栈的详细过程
  • 机器学习9——决策树
  • 【Visual Studio Code上传文件到服务器】
  • 生物实验室安全、化学品安全
  • Wpf布局之Canvas面板!
  • libevent(2)之使用教程(1)介绍
  • C++11 异步编程(3)--- packaged_task
  • nginx反向代理的bug
  • 用Flink打造实时数仓:生产环境中的“坑”与“解药”
  • 备战全国青少年信息素养大赛图形化编程复赛/省赛——绘制图形
  • [数论](a % MOD + b % MOD) % MOD = (a + b) % MOD
  • 《P1637 三元上升子序列》
  • #华为昇腾#华为计算#昇腾开发者计划2025#
  • Redis学习笔记——黑马点评 附近商铺到UV统计 完结
  • 中州养老:学会设计数据库表
  • 银行账户管理系统01
  • 图解Git中Rebase与Merge的区别
  • Linux中《动/静态库原理》
  • WireShark网络取证分析第一集到第五集和dvwa靶场环境分析漏洞
  • C++并发编程-5.C++ 线程安全的单例模式演变