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行,增加第五段