一、准备

   1、u-boot-2010.06源码

   2、arm-linux-gcc-4.4.3

二、移植

   1、顶层Makefile

       打开uboot顶层目录的Makefile,在其中搜索smdk2410:

smdk2410_config:unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t smdk2410 samsung s3c24x0


       我们在搜索到得这条规则后面添加我们自己的一项规则:

mini2440_config:unconfig
@$(MKCONFIG) $(@:_config=) arm arm920t mini2440 samsung s3c24x0


   2、建立mini2440头文件

       在include/configs下执行命令:

cp smdk2410.h mini2440.h


   3、建立mini2440工作目录:

//创建目录
mkdir -p board/samsung/mini2440
//以smdk2410为模板,复制文件到我们的mini2440目录
cp board/samsung/smdk2410/* board/samsung/mini2440/
//改名
mv board/samsung/mini2440/smdk2410.c board/samsung/mini2440/mini2440.c

       修改mini2440/Makefile

//打开该目录下的Makefile,修改生成的目标文件
COBJS   := smdk2410.o flash.o
改成:
COBJS   := mini2440.o flash.o


   4、uboot的顶层目录下执行命令:

make mini2440_config&&make


   如果出现错误:undefined reference to `cs8900_initialize'

   则在include /configs/mini2440.h中:

#define CONFIG_CS8900/* we have a CS8900 on-board */
//注释掉!!
//#define CONFIG_CS8900/* we have a CS8900 on-board */


   最后出现:arm-linux-objcopy --gap-fill=0xff -O binary u-boot u-boot.bin

   说明已经生成了烧写镜像u-boot.bin