Think && Act
  • Welcome
  • OpenWRT系统
    • Remote Command Execution on GL.iNet's mini-routers
    • 配置DTS支持USB存储
    • OpenWRT procd启动过程
    • udhcpc如何绑定网络接口
    • 提交新平台补丁到OpenWRT社区
  • 无线WiFi技术
    • WiFi 四次握手分析
    • mac80211框架基础
    • How to get wirelss assoclist on MT7628
    • WPS on GL.iNet's OpenWRT
  • 密码学与安全
    • Feistel Cipher
    • 数据加密标准(DES)
    • Data Encryption Standard(DES)
    • Advanced Encryption Standard(AES)
  • 数据结构与算法
  • VPN技术
    • Using Tor on GL.iNet's mini-routers
    • Using Softether VPN on GL.iNet's mini-routers
    • Using ZeroTier on GL.iNet's mini-routers
  • Go语言
    • A Quick Guide for Go Modules
  • Shell脚本
    • Parameter Expansion ${}
    • User's Guide for Awk
  • Python语言
    • Python in Visual Studio Code
  • 投资理财
    • 【入门】股票入门基础
    • 【股初】找准股票入场时机
    • 【股初】合理规避风险
    • 【股初】“好公司”投资法
    • 【股初】财务三表分析
    • 【股初】“捡烟蒂”投资法
    • 【股初】构建白马组合
    • 【股进】选择好生意
    • 【股进】好公司——商业逻辑
  • 工具箱
    • A Guide of Visual Studio Code
    • hexo搭建博客
Powered by GitBook
On this page
  • Step 1: quilt 配置
  • Step 2: 创建新patch
  • Step 3: 编辑已存在的patch

Was this helpful?

  1. OpenWRT系统

提交新平台补丁到OpenWRT社区

Step 1: 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
  • EDITOR 指定编辑补丁使用的编辑器

  • 其他变量控制patch的属性,如使用 a/file 和 b/file 格式代替默认的 dir.orig/file 和 dir/file

Step 2: 创建新patch

创建新patch,要先准备源码目录

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

接着切换到准备的源码目录

cd build_dir/target-*/example-*

push存在的patch

quilt push -a

创建新的patch

quilt new 000-main_code_fix.patch
  • patch名要以数字开头表示patch序列,后紧跟一横线和剪短的描述

  • patch的序列号应该要高于存在的patch(quilt series 命令可以查看存在的patches)

编辑文件

quilt edit src/main.c

查看修改的内容

quilt diff

生成patch

quilt refresh

切换回buildroot目录

cd ../../

更新package

make package/example/update V=s

Step 3: 编辑已存在的patch

准备源码目录

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

切换到已准备的源码目录

cd build_dir/target-*/example-*

应用存在的patches

quilt push -a

查看patch列表

quilt push -a

将要编辑的patch置顶

quilt pop 005-fix_bug.patch

编辑文件

quilt edit src/main.c

查看修改的内容

quilt diff

生成patch

quilt refresh

切换回buildroot目录

cd ../../

更新package

make package/example/update V=s

可以发现,添加新的patch和编辑已有的patch,步骤差不多,只是编辑已有的patch多了一步将patch置顶操作

Previousudhcpc如何绑定网络接口Next无线WiFi技术

Last updated 5 years ago

Was this helpful?