1.3 实验:编译Bootloader
实验目的:
了解ARM系统的Bootloader的编译过程。
实验内容:
编译ARM-Linux的Bootloader。
预备知识:
熟悉Linux的基本操作。
实验设备:
安装Redhat 9,并且配置好ARM-Linux的开发环境。
实验指导:
1. 编译PPCboot
PPCboot前面已经有所介绍,是常用的ARM-Linux Bootloader的一种。首先打开Linux下的一个终端,并且输入:
cd /s3c2410_linux/ppcboot-2.0.0
进入PPCboot的目录,然后输入:
make clean
即可清理掉以前的编译结果,然后在屏幕上会输出相关的清理信息。
接下来输入:
make
按回车键后会输出相关信息,见到正常结束后就表示已经正确地编译完PPCboot了。
此时在/ppcboot-2.0.0/下面会看到新生成的ppcboot.bin,这个文件就是可以烧写到实验仪上的文件,可以用:
ll ppcboot.bin
查看当前文件生成的时间,验证一下是否是最新的。
可以将新生成的ppcboot.bin文件复制到文件夹/tftpboot下面备用。
2. 编译Bootloader vivi
vivi是MIZI公司提供的一种可以支持Nandflash启动的ARM-Linux Bootloader。本实验采用的ARM9处理器S3C2410采用vivi作为Bootloader,可以直接采用Nandflash启动。打开Linux下的一个终端,输入:
cd /s3c2410_linux/vivi/
进入vivi所在的目录,输入:
make clean
随后在屏幕上即会输出相关的清理信息,然后输入:
make menuconfig
这是用菜单的方法配制vivi的命令,输入后会显示如图1-1所示的画面。
图1-1 vivi配置图
在这个界面环境里可以为vivi选择不同的编译选项,这样可以编译生成不同特性的vivi,按方向键可以选择不同的条目,按回车键或空格键可以进入下级菜单。
(1)进入“System Type”菜单
进入“System Type”菜单后的界面如图1-2所示,在这里可以选择vivi支持什么样的系统。
图1-2 vivi之“System Type”菜单配置图
①进入“ARM system type”菜单
选中“(S3C2410-based)ARM system type”进入下级菜单,如图1-3所示。
图1-3 “ARM system type”菜单配置图
在这里可以选择vivi对不同处理器系统的支持,在按回车键选中后,即可返回上级菜单。
②进入“Implementation”菜单
选中“Implementation”进入下级菜单,如图1-4所示。
图1-4 “Implementation”菜单配置图
在这里可以选择不同平台的系统支持,主要是因为不同平台的Flash配置不尽相同。如果不需要改动,在单击“<Exit>”按钮后即可退出。
(2)进入“General setup”菜单
返回顶层菜单,进入“General setup”菜单,如图1-5所示。
图1-5 vivi的“General setup”菜单配置图
依步骤(1)所述,一级一级地进行设置,最后返回到顶级菜单,再单击“<Exit>”按钮,如图1-6所示。
图1-6 顶层退出菜单
单击“<Yes>”按钮,保存退出menuconfig。
通过以上步骤,系统会自动生成配制文件,并且在编译的时候,make命令会根据配制文件产生出不同的编译结果。最后一步就是使用make命令对vivi进行编译,输入:
make
在屏幕上即会输出相关的编译信息,如果正常结束(没有error出现),就代表编译成功了。
这时候在vivi目录里面会出现叫做vivi的文件,这个文件就是可以直接烧写的Bootloader文件。当然也可以用:
ll vivi
来查看文件生成的时间,看是否是最新生成的。
最后将生成的vivi复制到/tftpboot目录中备用。
实验小结:
本次实验编译了两种不同的Bootloader,分别采用了两种方式。第一种是直接编译,第二种是利用配置菜单生成配制文件后再编译。这两种方法在Linux中都十分常见,第一种多用于编译简单的应用、测试程序,后一种常用在编译工程,内核等方面。