如何在Openwrt上,针对内核创建自定义Patch?
参考资料:
1.http://wiki.openwrt.org/doc/devel/patches?s[]=quilt --- 官方对于如何打Patch的说明
2.http://blog.csdn.net/hbsong75/article/details/8825184 --- 使用quilt的小例子
众所周知,openwrt采用的是:从各个开源站点下载源码,解压缩,然后再打上N多Patch的方式,来搭建自己的编译环境的。其中,针对内核的编译,也是这么操作的。
那么,如何为内核创建自定义的Patch呢?
1. 使用quilt工具
quilt是一个开源的管理Patch的工具,openwrt采用此工具来生成Patch和打上Patch。具体使用方法,见参考资料2
2.从官网下载的openwrt的SDK中,针对内核已经有一些现存的Patch了。他们放在: target/linux/XXX子目录中,其中:
generic/
-MIPS-ath79-XXXX.patch
H. 将build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/linux-3.14.18/patches/platform/910-MIPS-ath79-XXXX.patch
拷贝到target/linux/ar71xx/patches-3.14 --- 这样,就真正将这个Patch 收编到SDK中了
I.将之前解压缩的linux内核目录全部删除: make target/linux/clean
然后,再利用 make kernel_menuconfig 或者 make target/linux/prepare V=s QUILT=1 就看到我们自定义的Patch已经生效了
***************注意:上述方式仅仅用于对原有内核文件修改的处理方式,如果是新增一个文件,则需要*******************
比如:若需要在build_dir/target-mips_34kc_uClibc-0.9.33.2/linux-ar71xx_generic/linux-3.14.18/include/linux中加入文件:xxxx.h,则需要将此文件放到:
target/linux/ar71xx/files/include/linux 目录中
如何在Openwrt上,针对内核创建自定义Patch?的更多相关文章
- 如何在Ubuntu上给软件创建快捷方式
特殊方法:在搜索栏搜索程序 然后在快捷栏 反键 锁定在启动器 默认情况下,Ubuntu会将自动安装的软件快捷方式保存在/usr/share/applications目录下,如果我们要创建桌面 ...
- 如何在openwrt上实现 U盘的自动挂载
U盘的自动挂载,分为两种场景 1.路由器先上电,然后插上U盘并自动挂载 2.路由器先插上U盘,然后上电并自动挂载 上述场景的实现,需要如下几个步骤: 1.支持如下模块: USB驱动模块:USB OHC ...
- 分享如何在github上为代码创建一个链接
从自学前端到现在差不多一个月了,在此期间,一直有一种困惑,如何将自己电脑中编写的代码生成一个链接,以便可以发布呢?今天有幸被高人指点一二,现将其分享. 第一步,网上注册一个github账号 第二步,新 ...
- 在Linux上进行内核参数调整
在Solaris上,使用工具mdb就可以直接修改内核内存里的内容.而在Linux上,则通常使用命令sysctl(8)做类似的事情. 本文以Fedora为例,介绍如何在Linux上进行内核参数调整. 常 ...
- 【COCOS2DX-LUA 脚本开发之四】使用tolua++编译pk创建自定义类
此篇基本[COCOS2DX(2.X)_LUA开发之三]在LUA中使用自定义精灵(LUA脚本与自创建类之间的访问)及LUA基础讲解 在Lua第三篇中介绍了,如何在cocos2dx中使用Lua创建自定义类 ...
- 如何在Linux上通过grub添加内核参数
转自Linux中国 我们可以在linux内核启动时为其提供各种各样的参数.这些参数可以自定义内核默认的行为,或者通知内核关于硬件的配置信息.内核参数应在内核启动时通过引导装载程序,如GRUB或LILO ...
- 如何在openWRT系统上实现双版本
最近由于项目需要,需要在AR9331芯片单板(原来是4MBFlash,后来扩充到16MB Flash)上,实现openwrt双版本机制. 双版本的好处,主要是:在升级版本过程中,如果遇到断电等情况,不 ...
- 关于如何在github上创建团队开发环境
今天想写个如何在github上创建团队开发环境的博客.送给那些还不知道如何在github上创建团队开发环境的开发人员. 1.首先,当然你要有个github的账号.具体怎么注册我这里就不说了.可以上gi ...
- 如何在Linux上创建,列出和删除Docker容器
本篇文章介绍的内容是关于在Linux机器上创建,列出和删除docker容器,下面我们来看具体的内容. 1.启动Docker容器 使用下面的命令启动新的Docker容器.这将启动一个新的容器,并为你提供 ...
随机推荐
- 使用JEECG过程中的问题汇总(持续更新)
1.首次启动Tomcat服务时,控制台信息提示请使用SQL Server 2005或更高版本. <dependency> <groupId>org.jeecgframework ...
- BS中保存参数
开发中经常需要将值存起来,当点击某一项时以便知道点击了哪一项. 一:应用JS页面跳转(牛腩中讲到) HTML: <td class="txt c"><a href ...
- Mac触控板常用的手势操作
Mac触控板常用的手势操作 学习了:http://topbook.cc/archives/151 一个手指直接点击,类似Windows中鼠标左键功能,同时在苹果Safari等浏览器中,这个手势还 ...
- C# 深入理解堆栈、堆在内存中的实现
尽管在.NET framework下我们并不需要担心内存管理和垃圾回收(GarbageCollection),但是我们还是应该了解它们,以优化我们的应用程序.同时,还需要具备一些基础的内存管理工作机制 ...
- oracle中设置了最大链接数还是报错
须要更新的数据有1100条.我连接的时候一直报错 ORA-12518, TNS:listener could not hand off client connection 依据商品的文章设置了最大连接 ...
- java中==与equal()的区别
==和equal()都是用来判断两个变量是否相等的. (1)如果两个变量是基本类型变量,且都是数值型的(不一定数据类型相同),只要是值相同,将返回true; (2)如果两个变量是引用型变量,只有它们指 ...
- json.parse()使用过程中,肯能会出现的问题(Excel表中数据也存在类似问题)
如果使用json.parse()报如下的错误, Js错误: Jsp页面的显示的错误: 经分析显示:是由于某个字段的值存在换行符造成的 解决方案:只需要将存在换行符的字段重新编辑,使其不存在换行符即可. ...
- 使用iOS-QR-Code-Encoder 生成二维码
一:所需类库 iOS-QR-Code-Encoder 官网主页:https://github.com/moqod/iOS-QR-Code-Encoder 导入:QuartzCore.framework ...
- npm技巧
你看一个同事正在编码,其中应用上了一些简写和技巧,不知为何,你不熟悉它并且你的大脑一片混乱,这种场景发生在过去我们每个人身上. 在这篇短文中,我们将会介绍一些非常实用的 npm 技巧.有很多文章中的技 ...
- iOS工程中的info.plist文件的完整研究
原地址:http://blog.sina.com.cn/s/blog_947c4a9f0100zf41.html 们建立一个工程后,会在Supporting files下面看到一个"工程名- ...