Linux-使用patch命令给uboot打补丁(3)

patch:修改文件,让用户对原文件打补丁

用法  

patch -p[剥离层级]  <[补丁文件]

打补丁示例:

u-boot-1.1.6_jz2440.patach补丁文件给u-boot-1.1.6打补丁

patch -p1  <../u-boot-1.1.6_jz2440.patach 

“p”指的是被打补丁路径,后面的数字表示去掉路径的第几部分。"1",表示去掉第1个

“<”指的是u-boot-1.1.6_jz2440.patach补丁文件位置

“../”表示返回上一个目录,如下图所示,这两个文件在同一目录下,当我们在u-boot-1.1.6目录下,就需要“../”:

1.如下图,先打开u-boot-1.1.6_jz2440.patach文件查看diff比较的目录位置,发现补丁文件是以u-boot-1.1.6目录开头的

2.所以在u-boot-1.1.6目录下时,打补丁使用patch -p1  <../u-boot-1.1.6_jz2440.patach

因为补丁文件在system目录下,所以使用"../"返回到system上一目录。

因为当前已经在u-boot-1.1.6目录下,所以使用p1删除补丁文件中第一个已经重复的目录名。

3:补丁打好后,在u-boot-1.1.6目录下使用make命令开始配置工程,

3.1 make 100ask24x0_config                                    //配置100ask

3.2 make                                                                //编译工程,并生成u-boot.bin文件,如下图所示

当要取消make编译时,在编译期间输入 make clean即可

4:通过FTP将编译好的bin文件拷贝到Windows上,然后通过oflash下载在nor flash中

 补充:

Patch文件说明:

diff -urN u-boot-1.1.6/common/cmd_bootm.c u-boot-1.1.6_jz2440/common/cmd_bootm.c   //蓝色代表原文件名以及文件地址,红色代表打上补丁后的新文件名以及地址
--- u-boot-1.1.6/common/cmd_bootm.c	2006-11-02 22:15:01.000000000 +0800
+++ u-boot-1.1.6_jz2440/common/cmd_bootm.c	2010-11-26 12:54:38.150155640 +0800
                                            //--- 对文件里代码删减     +++ 对文件里代码添加
@@ -318,5 +318,5 @@                         //-318,5 表示在原文件里第318行内有删减,接下来显示5段。+318,5同样类似
                                                          //第318行,第一段
	switch (hdr->ih_comp) {                           //第319行,第二段
 	case IH_COMP_NONE:                                //第320行,第三段
-		if(ntohl(hdr->ih_load) == addr) {         //第321行,删减第四段
+		if(ntohl(hdr->ih_load) == data) {         //第322行,增加第五段

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏java 成神之路

NIO 之 Selector实现原理

3689
来自专栏清晨我上码

第六节 netty前传-NIO Selector

可以使用单个线程来处理多个channel来节省资源。对于操作系统而言,线程之间切换是昂贵的,并且每个线程也占用操作系统中的一些资源(存储器)。 因此,使用的线程...

792
来自专栏coolblog.xyz技术专栏

基于 Java NIO 实现简单的 HTTP 服务器

本文是上一篇文章实践篇,在上一篇文章中,我分析了选择器 Selector 的原理。本篇文章,我们来说说 Selector 的应用,如标题所示,这里我基于 Jav...

63312
来自专栏蓝天

基于zookeeper的主备切换方法

继承CZookeeperHelper即可快速实现主备切换: https://github.com/eyjian/mooon/blob/master/mooo...

1032
来自专栏架构师之旅

【Java SE】Java NIO系列教程(八) SocketChannel

英文:Jakob Jenkov 译文:ifeve - 郑玉婷 链接:http://ifeve.com/socket-channel/ Java NIO中的Soc...

2067
来自专栏java 成神之路

NIO 之 Channel实现原理

44714
来自专栏YG小书屋

ES节点丢失导致实时数据导入速度特别慢

6062
来自专栏日常分享

NIO 服务端TCP连接管理的方案

   因为服务端与客户端实现的是长连接,所以需要对客户端的连接情况进行监控,防止无效连接占用资源。

1015
来自专栏xdecode

Netty与传统Server对比

前言 本文旨在介绍传统Socket服务端与NIO服务端的差异. 以餐厅服务员简单举例,每个客人对应一个请求. 传统Socket / OIO 1 public ...

2507
来自专栏大数据架构

Java进阶(五)Java I/O模型从BIO到NIO和Reactor模式

1695

扫码关注云+社区