Windows系统启动过程,PC上电 => 进入BIOS(引导操作系统)=> windows => 识别C,D等的硬盘 => 运行应用程序
嵌入式系统启动过程,上电 => bootloader(引导内核)=> LINUX => 挂接根文件系统 => 运行应用程序
“---”表示原来的代码
“+++”表示修改后的代码
“-p1”表示忽略掉第一个斜杠之前的目录(因为已经在那个目录下了)
patch -p? < ../补丁文件
menu : 回到uboot菜单
Diff -urN u-boot-1.1.6/board/100ask24x0/100ask24x0.c u-boot-1.1.6_jz2440/board/100ask24x0/100ask24x0.c
--- u-boot-1.1.6/board/100ask24x0/100ask24x0.c 1970-01-01 07:00:00.000000000 +0700
+++ u-boot-1.1.6_jz2440/board/100ask24x0/100ask24x0.c 2010-11-26 12:54:37.034090906 +0800
diff :命令常用来比较文件,目录,也可以用来制作补丁文件。
常用选项:
1:“-u”:表示在比较结果中输出上下文中一些相同的行,这有利于人工定位
2:“-r”:表示递归比较各个目录下的文件
3:“-N”:将不存在的文件当作空文件
4:“-w”:忽略对空格的比较
4:“-B”:忽略对空行的比较
Tar命令具有打包,解包,压缩,解压缩4种功能,它常用的压缩和解压缩方式有两种。
gzip : (1) .gz bzip2 : (1) .bz2
(2) .z
Tar命令常用的5个选项:
1:“c”表示创建,用来生成文件包
2:“x”表示提取,从文件包中提取文件
3:“z”使用gzip方式进行处理。它与“c”结合就表示压缩,与“x”结合就表示解压缩
4:“j”使用bzip2方式进行处理,它与“c”结合就表示压缩,与“x”结合就表示解压缩
5:“f”使用文件,后面接着一个文件名
总结打补丁步骤:
1:解压
2:进入解压后的目录
3打补丁
book@book-desktop:~$ cd /work/mini2440_system
book@book-desktop:/work/mini2440_system$ ls
u-boot-1.1.6_jz2440.patch u-boot-1.1.6.tar.bz2
book@book-desktop:/work/mini2440_system$ tar xjf u-boot-1.1.6.tar.bz2 //解压
book@book-desktop:/work/mini2440_system$ ls
u-boot-1.1.6 u-boot-1.1.6_jz2440.patch u-boot-1.1.6.tar.bz2
book@book-desktop:/work/mini2440_system$ cd u-boot-1.1.6/ //进入解压的目录
book@book-desktop:/work/mini2440_system/u-boot-1.1.6$ patch -p1 < ../u-boot-1.1.6_jz2440.patch // 使用patch命令打补丁
book@book-desktop:/work/mini2440_system/u-boot-1.1.6$ make 100ask24x0_config //配置,以让这个u-boot支持不同的开发板
Configuring for 100ask24x0 board...
book@book-desktop:/work/mini2440_system/u-boot-1.1.6$ make //编译
在u-boot使用print 命令,输出的都是环境变量,修改环境变量,要使用set命令
bootdelay : 表示倒数计时
uboot的最终目的是启动内核,从flash读出内核,放到SDRAM,然后启动内核,
所以uboot要实现的功能有:(用于开发)
1:读Flash,写Flash,支持网卡,USB
2:初始化SDRAM,初始化时钟,初始化串口
3:启动内核
总结: