openwrt patch
一:
这几天使用一款电信的4G网卡,发现了一些问题,所以决定打个pitch来解决问题,顺便把patch的生成与使用学习一下
二:安装patch的管理工具quilt
1. sudo apt-get install quilt
2.配置quilt
vim ~/.quiltrc 创建配置文件
1: QUILT_DIFF_ARGS="--no-timestamps--no-index -pab --color=auto“
2: QUILT_REFRESH_ARGS="--no-timestamps--no-index -pab"
3: QUILT_PATCH_OPTS="--unified"
4: QUILT_DIFF_OPTS="-p"
5: EDITOR="vim"
三:package的patch方法
1.package的patch生成方法这里以usb-modeswitch-data组件为例
因此我们先进入到trunk/build_dir/target-mipsel_mips32_eglibc-2.19/usb-modeswitch-data-20120120$ 软件包目录
2.安装已有的patch(当然目前此软件包内无patch)
quilt push –a
3.创建新的patch
quilt new 001-modedata-05c6f000.path
注意:
patch文件以数字开头,-”后为patch的描述信息
patch开头的数字必须比已有patch的数字都大,使用命令quilt series查看已有patch的列表
4.修改源文件
quilt edit usb_modeswitch.d/05c6\:f000
5.查看修改内容
quilt diff
1: --- a/usb_modeswitch.d/05c6:f000
2: +++ b/usb_modeswitch.d/05c6:f000
3: @@ -1,6 +1,6 @@
4: # Siptune LM-75 ("LinuxModem")
5:
6: TargetVendor= 0x05c6
7: -TargetProductList=9000
8: -MessageContent="5553424308306384c0000000800006b1020000000000000000000000000000"
9: -
10: +TargetProductList="0016,6000,9000"
11: +StandardEject=1
12: +MessageContent="5553424308306384c000000080000671030000000000000000000000000000"
6.更新修改到patch文件
quilt refresh
打印出Refreshed patch 001-modedata-05c6f000.path
并生成patches目录和文件ls patches/
001-modedata-05c6f000.path series
7.保存patches目录以及文件到usb-modeswitch-data所在的feeds目录并重新编译软件包测试之