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 条评论
登录 后参与评论

相关文章

来自专栏菩提树下的杨过

mysql 学习笔记

以前主要使用oracle做数据库,现在换成mysql了,发现不一样的地方还是挺多的,记录一下: 一、centos上的yum install方式安装  完全卸...

1887
来自专栏禅林阆苑

mysql 命令完全总结 【原创】

mysql 命令完全总结 Write By CS逍遥剑仙 我的主页: www.csxiaoyao.com GitHub: github.com...

32211
来自专栏python3

MySQL审计

线上的数据库,开发可以直接navicat软件直接操作。一旦发生数据泄露,后果严重。需要禁止使用navicat,使用命令行操作,并且能记录每个开发执行的SQL语句...

891
来自专栏ytkah

如何用SQL命令行工具删除dedecms指定id文章

  用dedecms采集时标题字段设置错了,出现了注释符号<!---->,导致后台的文章列表出现错误,也无法直接从列表中删除,可以远程登录数据库去操作,这个相对...

2706
来自专栏抠抠空间

MySQL之pymysql模块

PyMySQL介绍 PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。 Django中...

2877
来自专栏吴柯的运维笔记

mysql数据库服务概述

什么是数据库? ? 常见数据库服务软件介绍: ? mysql数据库的特点及应用: ? 数据库基本管理 # mysql -u root -p -h 127.0...

2808
来自专栏杨建荣的学习笔记

关于primary key和unique index的奇怪问题 (58天)

今天一个dba交给我一个问题,让我帮忙查一下。说有个脚本运行的时候有错,让我看看是什么原因。 脚本的思路如下: 先drop PK,FK之类的constraint...

26512
来自专栏c#开发者

Oracle常用数据字典表

Oracle常用数据字典表      查看当前用户的缺省表空间   SQL>select username,default_tablespace ...

2726
来自专栏cloudskyme

oracle修改表字段

增加字段     alter   table   docdsp     add   dspcode   char(200)     删除字段     AL...

35110
来自专栏乐沙弥的世界

RMAN 提示符下执行SQL语句

       在手动恢复数据库时,有时候需要在SQL*Plus提示符以及操作系统提示符,RMAN提示符下来回切换显得有些繁琐。实际上RMAN为我们提供了命令行下...

883

扫码关注云+社区