1、下載uboot
U-Boot源代碼下載地址 http://www.linuxidc.com/Linux/2011-07/38897.htm
2、解壓文件
tar xvf u-boot-latest.tar.bz2
3、進入uboot根目錄、接著開始修改文件
4、創建板級文件目錄
cd /borad/samsung
mkdir smdk6410
5、復制smdk6400文件到創建的文件目錄
cp smdk6400/* smdk6410/
6、修改目錄下的文件名
cd smdk6410
mv smdk6400.c smdk6410.c
mv smdk6400_nand_spl.c smdk6410_nand_spl.c
7、修改板級文件內容
vim smdk6410.c
:%s/smdk6400/smdk6410/g
:wq
vim Makefile
:%s/smdk6400/smdk6410/g
:wq
8、添加smdk6410配置頭文件
進入目錄/include/configs
cp smdk6400.h smdk6410.h
9、修改根目錄Makefile
修改交叉編譯器為
CROSS_COMPILE ?= arm-linux-
添加smdk6410配置項
首先找到smdk6400配置項,復制出一段然後將復制出來的段落中的smdk6400修改為smdk6410
#########################################################################
smdk6410_noUSB_config \
smdk6410_config : unconfig
@mkdir -p $(obj)include $(obj)board/samsung/smdk6410
@mkdir -p $(obj)nand_spl/board/samsung/smdk6410
@echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
@if [ -z "$(findstring smdk6400_noUSB_config,$@)" ]; then \
echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/smdk6410/config.tmp;\
else \
echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/smdk6410/config.tmp;\
fi
@$(MKCONFIG) smdk6410 arm arm1176 smdk6410 samsung s3c64xx
@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
#########################################################################
10、添加bords.cfg
找到arm1176的芯片相關,添加一行
smdk6410 arm arm1176 smdk6410 linxarm s3c64x0
11、制作uboot
$ sudo make smdk6410_config
$ sudo make
最終出現了如下錯誤
u-boot.lds:19: syntax error
google後在mail list上知道smkd6400系列的已經不支持新版本的uboot矩陣了,並且很可能在下個版本就被移除。