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目录并重新编译软件包测试之

posted @ 2017-01-12 16:53  夕相待  阅读(2215)  评论(0编辑  收藏  举报