U-Boot,全称 Universal Boot Loader,是遵循GPL条款的开放源码项目。U-Boot的作用是系统引导。
U-Boot从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是根据相应的Linux内核源程序进行简化而形成的,尤其是一些设备的驱动程序,这从U-Boot源码的注释中能体现这一点。
程序执行流程:
(1)一上电,运行bootloader
(2)读出内核,启动内核--最主要目的
(3)挂接根文件系统,运行里面应用程序
(1)使用 linux-2.6.22.6_jz2440.patch给linux-2.6.22.6.tar.bz2打补丁。
tar xjf u-boot-1.1.6.tar.bz2
patch -p1 < ../u-boot-1.1.6_jz2440.patch (-p1忽略第一个参数)
(2)从linux中拷贝到windows,使用oflash烧写u-boot.bin
(3)回车观察菜单
?或help查看命令;
print查看环境变量;
set bootdelay 10;
?+命令查看说明。
menu返回菜单。
(4)uboot做什么:
最终目的:启动内核(其中需要初始化其他资源来完成这个任务)
a:从flash读出内核
写flash,网卡,USB等
b:拷贝到SDRAM
初始化SDRAM,时钟,串口等
c:启动内核
d:实现上面几部,总结如下: