这个过程比编译内核的过程更简单一些。这里一 mini2410 开发板为例 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

(1)      下载文件,我用的是 u-boot-<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />1.3.0.tar.bz2

(2)      解压文件, tar –jxvf u-boot-1.3.0.tar.bz2

(3)      修改 makefile ,在 makefile[u-boot-1.3.0 目录下的 ] 添加

mini2410_config: unconfig

       @$(MKCONFIG) $(@:_config=)arm arm920t mini2410 NULL s3c2410

第一行的意思是为 mini2410 开发板建立一个编译选项,下面是指定 cpu 类型,及芯片型号

(4)      建立 mini 开发板目录,在 board 目录下建立 mini2410 目录,并将 s3c2410 目录的内容拷贝过来,修改 smdk2410.c 文件 mini2410.c 。同时修改 mini2410 下的 makefile 文件: OBJS:=mini2410.o flash.o

(5)      建立配置头文件,在 include/configs 目录下建立 mini2410.h 头文件,并拷贝 smdk2410.h 的内容到其中

(6)      指定交叉编译环境,这一步,我们在安装交叉编译环境的时候已经指定好了

(7)      编译, #make mini2410_config    #make CROSS_COMPILE=arm-linux-

 

编译正确,则会在 u-boot-1.3.0 目录下生成 u-boot, u-boot.bin, u-boot.srec 三个映像文件,其中 u-boot ELF 格式二进制的 p_w_picpath 文件, u-boot.bin 是原始的二进制 p_w_picpath 文件, u-boot.srec Motorola S-Record 格式的 p_w_picpath 文件。

 

说明,这样生成的 p_w_picpath 文件,是基于标准 s3c2410 公板的,需要针对具体的开发板进行代码级的修改。