第一、二期衔接——5.1 u-boot分析与使用—u-boot编译体验
u-boot分析与使用—u-boot编译体验
- 硬件平台:韦东山嵌入式Linxu开发板(S3C2440.v3)
- 软件平台:运行于VMware Workstation 12 Player下UbuntuLTS16.04_x64 系统
- 参考资料:《嵌入式Linux应用开发手册》、《嵌入式Linux应用开发手册第2版》
- 开发环境:Linux 2.6.22.6 内核、arm-linux-gcc-3.4.5-glibc-2.3.6工具链
一、u-boot的目的
1、对比理解u-boot
-
对于常用的电脑:
1、一上电启动BIOS:目的是引导操作系统
2、操作系统:识别出各种硬盘
3、通过硬盘运行各种应用程序 -
对于嵌入式Linux开发板
1、一上电启动bootloader:目的是启动内核
2、内核启动之后,挂接根文件系统
3、通过根文件系统可以运行各种应用程序
2、u-boot实现的功能
我们可以把bootloader理解成一个复杂的单片机程序,它主要实现以下功能:
二、u-boot的编译
1、解压缩
上传压缩文件u-boot-1.1.6.tar.bz2
与补丁文件u-boot-1.1.6_jz2440.patch
到/work/system
目录下,使用tar xjf u-boot-1.1.6.tar.bz2
解压缩,得到如下文件夹:
2、打补丁
-
补丁是什么?
补丁文件是开发者根据自身使用的情况,对Linux系统内部进行修改的文件,在软件发布时,我们可以直接发布补丁文件,对于系统的源码文件可以不必发布。 -
怎么打补丁?
在/work/system/u-boot-1.1.6
目录下运行,patch -p1 < ../u-boot-1.1.6_jz2440.patch
1、首先我们打开补丁文件
2、由于已经在/work/system/u-boot-1.1.6
目录下,命令patch -p1 < ../u-boot-1.1.6_jz2440.patch
中的-p1就是忽略第一个目录
。 -
成功的画面
3、配置u-boot
- 目的:需要u-boot支持多种单板,实现这个首先需要配置u-boot
- 在
/work/system/u-boot-1.1.6
目录下,直接执行make 100ask24x0_config
-
成功的画面
4、编译u-boot
- 在
/work/system/u-boot-1.1.6
目录下,直接执行make
- 成功的画面
三、烧写u-boot.bin
- 把编译出来的u-boot.bin文件烧写到开发版中,这个界面就是u-boot界面
- 对于u-boot中的命令,我们可以通过输入
?
或help
得到 - 对于某个命令的具体用法可以输入
?+ 具体命令