Ubuntu 8.04 中编译RedBoot
本来一直在学习u-boot,感觉它足够强大和灵活,而且网上有很多资料,但我还只是掌握了皮毛,还不能够随意的应用。
公司里的板子主要是使用Redboot和Vxworks boot,本来是有些头痛的,因为这两个boot在网上的资料不多,而且公司的Flash还是SPI接口的,第一次接触,最基本的烧录方法都还没搞定,不过过程还是比想象的顺利,最后编译成功,主要是同事的一路指导,还有就是网上已经有了现成配置好的redboot。
下面是我实际操作中的步骤:
1、下载redboot-ap61.tar.gz,这个压缩包里不仅有源代码,还有MIPS的交叉编译器。
linux/redboot-ap61.tar.gz">http://dl.meraki.net/linux/redboot-ap61.tar.gz
2、在Ubuntu 8.04里面编译的时候老是提示有下面的错误:
tail: cannot open `+2` for reading
一开始不得其解,只好转到redhat下编译,竟然可以通过,很郁闷,不过偶然在网上找到了解决办法:
在命令行设置:
export _POSIX2_VERSION=199209
就可以顺利通过,原因好像是因为一些命令的版本不同导致。
后来又提示没有TCL,所以,临时又安装了一下TCL
sudo apt-get install tcl
需要提醒的是一定要设定生成bin文件的目录,否则它会默认放置到/tftpboot,而根本又没有这个目录,所以会报错退出,我是写了一个简单的脚本,用来每次编译:
#!/bin/sh
make clean
make AP_TYPE=ap51 TFTPPATH=/home/myhome/redboot-ap61/install FLASH_MB=2 DRAM_MB=8
ENET_PHY=icplus ap51
3、但是,编译好的文件,烧录进Flash后,无法正常启动。
碰巧在网上竟然找到了和我这个板子完全对应的、配置好的redboot
http://rapidshare.com/files/112845340/redboot_cobra.tar.bz2.html
这个压缩包里没有交叉编译器,所以要用上面的那个编译器,设定一下路径:
export PATH=$HOME/redhatboot-ap61/gnutool/bin:$PATH
还是使用上面的那个编译脚本,顺利在Ubuntu里通过。
4、烧录进Flash,顺利启动。
- 最新评论