本文能成型 ,多源自于muge0913大神的文章,
我基本上都是照着他的步骤去做的,
这个社会,大部分人都在模仿,如果能从单纯的模仿中学到你不会的东西,
模仿是值得的。
u-boot版本:u-boot-2010.09.tar.bz2
系统是上文中提到的:Fedora9
好 我们开始搭U-boot框架。
主要要创建2个东东:
一个borad信息,一个nand_sp1的信息
1.borad
创建:
cd u-boot-2010.09.tar.bz2
cd board/samsung
mkdir th6410 //我连名字都没改
把smdk6400下东东copy过来
cp smdk6400/* th6410/ //拷贝
cd th6410
mv smdk6400 th6410 //改名
vim Makefile
COBJS-y := th6410.o//change smdk6400 to th6410
改Makefile是为了在编译时生成th6410.o
cp include/configs/smdk6400.h include/configs/th6410.h //建立th6410头文件
2.修改uboot根目录下的Makefile
目的:增加th6410的编译项。
方法:将smdk6400 那几行全部copy过来,修改成th6410
th6410_noUSB_config \
th6410_config : unconfig
@mkdir -p $(obj)include $(obj)board/samsung/th6410
@mkdir -p $(obj)nand_spl/board/samsung/th6410
@echo "#define CONFIG_NAND_U_BOOT" > $(obj)include/config.h
@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
@if [ -z "$(findstring th6410_noUSB_config,$@)" ]; then \
echo "RAM_TEXT = 0x57e00000" >> $(obj)board/samsung/th6410/config.tmp;\
else \
echo "RAM_TEXT = 0xc7e00000" >> $(obj)board/samsung/th6410/config.tmp;\
fi
@$(MKCONFIG) th6410 arm arm1176 th6410 samsung s3c64xx
@echo "CONFIG_NAND_U_BOOT = y" >> $(obj)include/config.mk
这样我们就增加了一个编译项:th6410_config,等会儿我们就能用到
3.cd nand_sp1/board/samsung/
mkdir th6410
cp -ar smdk6400/* th6410/ //-ar参数是为了把隐藏文件也copy过去
开始编译:
make th6410_config ARCH=arm//如果出现Configuring for th6410 board...则表示设置正确
make ARCH=arm //编译后在根目录下会出现u-boot.bin文件,则u-boot移植的第一步就算完成了
写文章时候,已经编译过了。
按照文章可以一步一步做到。