shell下进入uboot源码根目录,执行make distclean,清除上次编译uboot留下的文件和cpu配置文件
接着执行make _config ,配置开发板的cpu类型,具体的_config 可在Makefile文件中找到,
如果是uboot不支持的cpu类型,则需要自己在Makefile文件中添加相应信息(具体流程可参见uboot源码中的Readme文件)。
例如执行make at91sam9260ek_config ,此时uboot被配置为at91sam9260ek的编译环境。
这时需要根据具体的开发板修改/include/configs/.h文件中的一些设置参数。
如果,是uboot已支持的cpu类型,基本上只要修改很少内容就可以正确运行加载linux镜像。
例如,atmel的at91sam9260的配置文件at91sam9260ek.h ,
需要根据硬件设计选择bootloader 的存储位置(新版本uboot是在/include/config.h中选择的),
设置相应config_bootcommand(例如,"nand read 0x22200000 0x400000 0x200000; bootm 0x22200000"
0x22200000为linux镜像要加载到内存的地址,0x400000,为linux镜像在nandflash中的地址,
0x200000为镜像大小,bootm 为在0x22200000处引导linux镜像。),
配置config_bootargs参数(例如,"console=ttyS0,115200 " "root=/dev/mtdblock2 " "rw rootfstype=jffs2
ip=192.168.1.126:192.168.1.82:192.168.1.1:255.255.255.0:::eth0:off" )。
接下来就可以make了,不过在make之前,需要在Makefile文件中指定编译工具才可以正确编译出可用的uboot 文件,
例如,CROSS_COMPILE ?=arm-none-linux-gnueabi- ,
如果是比较新的uboot版本,需要在arch/