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

openwrt 使用quilt 打补丁(patch)

1,引入

        本文简单解释如何在OpenWRT下通过quilt命令打补丁--patch,也可查看openwrt官网提供的文档

2,以下代码通过编译net-snmp介绍

        ① 执行编译命令之后,进入build_dir的net-snmp-5.9.1目录下,改目录即为snmp最终编译的目录了

//该命令直接编译snmp
make package/network/services/net-snmp/compile V=s//在工程根目录先回生成 build_dir (openwrt应用都在这个目录下编译)
cd ./build_dir/target-mipsel_24kc_musl/net-snmp-5.9.1

 ② 如何编译snmp时,已经在package对应的目录下存在patch,我们可以再改目录下执行:

cd ./build_dir/target-mipsel_24kc_musl/net-snmp-5.9.1quilt push -a :加载所有的补丁文件

③ 如果我们要为已有的某个文件或多个文件创建一个patch,应该这样做:

quilt new 100-add_module_files.patch :新创建一个patch文件quilt edit agent/snmpd.c  :执行该命令将通过vim打开该文件,进行修改
quilt edit agent/snmpd.h  :执行该命令将再次vim打开该文件,进行修改如果我们需要增加一个新的文件,使用:touch test.c
向patch中增加文件: quilt add test.c同时修改该文件时,任然使用 quilt edit test.c 修改//完成以上步骤:执行以下命令生成patch
quilt refresh

④ 执行完成后,可以在当前目录下的patches中查看:

 ⑤,将生成的patch文件复制到package对应目录,再去编译,才能应用当前patch生效

cp patches/111-test.patch /主目录/package/network/services/net-snmp/patches

以下是我生成的patch文件: (不用于diff)

 3,总结

        上面介绍了如何增加一个patch文件,还有其他的用法目前还没接触,值得注意一点的是,在build_dir/中修改了原码文件,在编译时不生效的,需要为修改的部分重新生成patch,才可以。

相关文章:

  • 【Harbor v2.13.0 详细安装步骤 安装证书启用 HTTPS】
  • WebRTC并非万能:RTMP与RTSP的工程级价值再认识
  • Flutter开发IOS蓝牙APP的大坑
  • 【2025】Visio 2024安装教程保姆级一键安装教程(附安装包)
  • 【奔跑吧!Linux 内核(第二版)】第1章:Linux 系统基础知识
  • Ros工作空间
  • IDEA 占用C盘太大清理
  • LangChain:大语言模型应用的“瑞士军刀”入门指南
  • 上市公司-企业上下游供应链数据(2003-2023年)-社科数据
  • 推导部分和-图论+dfs+连通块
  • 【数据挖掘】Apriori算法
  • 主数据 × 知识图谱:打造企业认知智能的核心基础设施
  • 全国青少年信息素养大赛 Python编程挑战赛初赛 内部集训模拟试卷一及详细答案解析
  • 孤岛铜怎么解决
  • 极狐GitLab 如何将项目共享给群组?
  • 极狐Gitlab 里程碑功能介绍
  • 手写 Vue 源码 === Effect 机制解析
  • Vue3.5 企业级管理系统实战(十七):角色管理
  • WordPress_AdsProPlugin Sql注入漏洞复现(CVE-2024-13322)
  • vue3 computed方法传参数
  • 男子煎服15克山豆根中毒送医,医生:不能盲目相信偏方
  • 李云泽:对受关税影响较大、经营暂时困难的市场主体,一企一策提供精准服务
  • 丁薛祥在学习《习近平经济文选》第一卷专题研讨班上强调:深入学习贯彻习近平经济思想,加强党中央对经济工作的集中统一领导
  • 长三角9座“万亿城市”一季报出炉:多地机器人产量大增
  • 抚州一原副县长拉拢公职人员组建“吃喝圈”,长期接受打牌掼蛋等“保姆式”服务
  • 挑大梁!一季度北上广等7省份进出口占外贸总值四分之三