答:使用quilt工具

步骤如下:

1. 配置quilt

$cat> ~/.quiltrc <<EOF

QUILT_DIFF_ARGS="--no-timestamps --no-index -pab --color=auto"

QUILT_REFRESH_ARGS="--no-timestamps --no-index -pab"

QUILT_PATCH_OPTS="--unified"

QUILT_DIFF_OPTS="-p"

EDITOR="vim"

EOF

注意:EDITOR=”vim”指定默认的编辑器为vim

2. 为内核生成补丁示例

2.1   清空内核

make target/linux/{clean,prepare} V=s QUILT=1

2.2   创建内核补丁

切换到build_dir/target-<arch>/linux-<board>_<arch>/linux-<version>目录下(也就是openwrt的编译内核的目录)

quilt new my-patch.patch

将要修改的文件arch/arm/boot/dts/Makefile 添加进来以便与patch关联起来:quilt add arch/arm/boot/dts/Makefile

修改arch/arm/boot/dts/Makefile: quilt edit arch/arm/boot/dts/Makefile

quilt refresh (更新补丁)

经过以上操作,内核补丁作完毕,可以在build_dir/target-<arch>/linux-<board>_<arch>/linux-<version>/patches目录中找到补丁

2.3 将补丁放置到适当的目录

切换到openwrt的根目录

将patch会写到对应的补丁目录下:make target/linux/update

如何为openwrt生成补丁的更多相关文章

  1. diff生成补丁与patch打补丁

    1.使用diff生成补丁: diff是Linux下的文件比较命令,参数这里就不说了,直接man一下就行了,不仅可以比较文件,也可以比较两个目录,并且可以将不同之处生成补丁文件,其实就是一种打补丁的命令 ...

  2. 如何为Linux生成和打上patch

    通过diff工具生成补丁, patch工具打上补丁. 在使用diff之前, 你需要保留一份未修改过的源码, 然后在其它地方修改源码的一份拷贝. diff对比这两份源码生成patch. 修改过的源码必须 ...

  3. git diff比较版本差异(生成补丁)

    1.git diff [<options>] <commit> <commit> options 使用--name-only(git diff HEAD cd504 ...

  4. 如何为openwrt中的某个模块生成PKG_MIRROR_HASH

    答:介绍两种方法,第一种自动生成(当然使用自动的啦),第二种手动生成 第一种方法: 1.在软件包的Makefile中让此项写成这样PKG_MIRROR_HASH:=skip  (如果不加上skip,那 ...

  5. 记录openwrt下补丁apply的过程中出错,但是可以单独打上该补丁

    背景: 在openwrt的编译框架下无法正确打上补丁,而单独使用git却可以成功 这个补丁到底与其它补丁有何不同? 该补丁的生成的过程解析: 旧文件:vi 打开旧文件会提示no newline at ...

  6. git diff 与git format-patch 生成补丁包

    git diff commit_id 会生成最后一次提交到目前修改过的内容补丁 git diff commit_id1 commit_id2 会生成两次提交之间修改过的内容补丁 git format- ...

  7. git如何在自动生成补丁时指定补丁名的起始编号

    答:使用选项--start-number,用法如下: git format-patch 1f43be --start-number=2 这样就可以生成起始编号为2的补丁名,类似0002-me.patc ...

  8. openwrt生成备份文件

    生成备份文件时所使用的脚本中调用的命令为sysgrade local image_tmp   = "/tmp/firmware.img" local backup_cmd  = & ...

  9. openwrt生成的交叉编译器在哪里

    答:在staging_dir目录下,示例如下: 编译一个arm64架构所生成的编译器在staging_dir/toolchain-aarch64_generic_gcc-7.4.0_musl/bin/ ...

随机推荐

  1. Egret3D学习笔记一 (Unity插件使用)

    一 官方教程: http://developer.egret.com/cn/github/egret-docs/Engine3D/getStarted/getStarted/index.html 大部 ...

  2. Windows Phone 几种弹出框提示方式

    首先,我们需要在网络上下载一个Coding4Fun 然后,引用  using Coding4Fun.Phone.Controls.Toolkit;                using Codin ...

  3. angularJS中的ng-repeat指令!

    ng-repeat 指令: ng-repeat 指令用来遍历一个数组重复创建当前元素: <ul ng-app="myApp" ng-controller="myAp ...

  4. Dreamweaver 中CSS代码格式化

    首先,用DW打开一个已经写好的css文件,看一下编辑好的,没有格式化之前的代码的样子.   然后,我们点击软件窗口上方的“命令”选项,在弹出的菜单中点击“应用源格式”选项,就可以将我们的代码格式化. ...

  5. JS将阿拉伯数字转为钱

     function DX(n) {         if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n))             return "数据非法" ...

  6. Oracle之使用rman进行异机恢复测试记录

    本次测试目的是从生产数据库导出rman备份然后在测试数据库恢复 1,拷贝备份至相应目录 2,进入rman rman target \ 3,关闭数据库 shutdown 4,以nomount模式启动数据 ...

  7. PL/SQL Developer登入时候报ORA-12638

    在client安装目录,找到打开sqlnet.ora 在里面找到 SQLNET.AUTHENTICATION_SERVICES= (NTS)将其更改为: SQLNET.AUTHENTICATION_S ...

  8. 系统中同时有 python2和 python3,怎么让 ipython 选择不同的版本启动?

    已经安装的情况下: > which ipython /usr/local/bin/ipython > cat /usr/local/bin/ipython  #!/usr/local/op ...

  9. Django - 模型层 - 下

    一.多表 sql 单表 多表 多对一 多对多 一对一 =============================================== 一对多:Book id title price p ...

  10. 每日算法之三十五:Wildcard Matching

    模式匹配的实现,'?'代表单一字符,'*'代表随意多的字符.写代码实现两个字符串是否匹配. Implement wildcard pattern matching with support for ' ...