在vmware上安装redboot1
实验环境... 1
1. 编译redboot1
2. 在vmware里运行redboot2
3. 在FC10,FC6下的错误... 2
u FC4
u VMware6.5
Host主机是一台FC4机器。然后需要下载两个软件包,一个是eCos的源码包,另一个是编译工具链。可以到eCos的镜像网站上找到相关软件下载。
eCos2.0
编译工具链
将ecos-2.0.i386linux.tar.bz2和ecoscentric-gnutools-i386-elf-1.4-2.i386linux.tar.bz2解压到/home/redboot
得到两个文件夹/home/linuxuser/redboot/gnutools和/home/linuxuser/redboot/ecos-2.0。
在/home/linuxuser/redboot/下建立一个脚本makeredboot如下:
export PRJ_PATH=/home/linuxuser/redboot/
exportECOS_REPOSITORY=$PRJ_PATH/ecos-2.0/packages/
export PATH=$PATH:$PRJ_PATH/gnutools/i386-elf/bin/:$PRJ_PATH/ecos-2.0/tools/bin
rm build -rf
mkdir build
cd build
ecosconfig newpc redboot
ecosconfigimport ${PRJ_PATH}/ecos-2.0/packages/hal/i386/pc/v2_0/misc/redboot_FLOPPY.ecm
ecosconfig tree
make
dd if=/dev/zeroof=./install/bin/redboot.img bs=512 count=2880
ddif=./install/bin/redboot.bin of=./install/bin/redboot.img conv=notrunc
给makeredboot加上可执行属性,执行.
生成redboot软盘镜像文件:/home/linuxuser/redboot/build/install/bin/redboot.img
建立一个新的虚拟机,添加一个软盘驱动,使用生成的软盘镜像。 在新的虚拟机里面删除硬盘和cdrom (否则vmware会有问题,原因不明)。另外软驱要点中connect at power on才可以。运行虚拟机即可,启动后可以看到下图:
这样一个Redboot在VMware里面就运行起来了,可以在里面输入一些命令,比如 help 之类的。不过有一个提示:
"No networkinterfaces found"
这是由于当前网卡驱动不符,无法建立网络连接
经过试验,FC6先也会出现这个错误。
出现错误如下:
tail: cannotopen `+2' for reading: No such file or directory
make[1]: ***[/home/linuxuser/redboot/build/install/lib/vectors.o] Error 1
make[1]: Leavingdirectory `/home/linuxuser/redboot/build/hal/i386/arch/v2_0'
make: ***[build] Error 2
解决方案:
在命令行设置或在makefile中添加:
export _POSIX2_VERSION=199209
修改之后继续编译编译
发生vectors.o.deps:1: *** empty variable name 错误,经过google毫无信息。
无法解决,换到FC4重新编译项目,没有问题。说明这两个问题都是host系统造成的原因。