【ecos学习1】wmware运行redboot[方法一]--脚本实现配置
背景:
远程服务器Ubuntu生成软盘镜像,通过Mac下wmware运行.
1- 环境及版本:
uname -a
2.6.38-8-generic #42-Ubuntu SMP Mon Apr 11 03:31:50 UTC 2011 i686 i686 i386 GNU/Linux
VMware Fusion 5.0.3 (1040386) // for mac
2- 下载:
wget --passive-ftp ftp://ecos.sourceware.org/pub/ecos/ecos-install.tcl
3- 安装:
sh ecos-install.tcl
eCos installer v2.0.1 starting...
Written and maintained by Jonathan Larmour <jifl@eCosCentric.com>
Retrieving installer metadata information...
**************************************************
---------------------------------------------------------
Available distribution sites:
[1]     ftp://mirrors.kernel.org/sources.redhat.com/ecos
[2]     http://mirrors.kernel.org/sources.redhat.com/ecos
[3]     ftp://mirror.aarnet.edu.au/pub/sourceware/ecos
[4]     http://mirror.aarnet.edu.au/pub/sourceware/ecos
[5]     ftp://ftp.mirrorservice.org/sites/sources.redhat.com/pub/ecos
[6]     http://www.mirrorservice.org/sites/sources.redhat.com/pub/ecos
[7]     ftp://gd.tuwien.ac.at/opsys/ecos
[8]     http://gd.tuwien.ac.at/opsys/ecos
[9]     ftp://ftp.funet.fi/pub/mirrors/sources.redhat.com/pub/ecos
[10]    ftp://ftp.gwdg.de/pub/misc/sources.redhat.com/ecos
[11]    http://ftp.gwdg.de/pub/misc/sources.redhat.com/ecos
[12]    ftp://ftp-stud.fht-esslingen.de/pub/Mirrors/sources.redhat.com/ecos
[13]    http://ftp-stud.fht-esslingen.de/pub/Mirrors/sources.redhat.com/ecos
[14]    ftp://bo.mirror.garr.it/mirrors/sourceware.org/ecos
[15]    http://bo.mirror.garr.it/mirrors/sourceware.org/ecos
[16]    ftp://ftp.u-aizu.ac.jp/pub/gnu/cygnus/ecos
[17]    ftp://ftp.chg.ru/pub/sourceware/ecos
[18]    ftp://ftp.sun.ac.za/pub/mirrorsites/sourceware.org/pub/ecos
[19]    http://ftp.sun.ac.za/ftp/pub/mirrorsites/sourceware.org/pub/ecos
[20]    ftp://ftp.twaren.net/Unix/Sourceware/ecos
[21]    http://ftp.twaren.net/Unix/Sourceware/ecos
[22]    ftp://mirror.facebook.com/sourceware/ecos
[23]    http://mirror.facebook.com/sourceware/ecos
[24]    http://sources-redhat.mirrors.airband.net/ecos
[25]    ftp://ecos.sourceware.org/pub/ecos
Please select a distribution site: 25 //速度还不错
---------------------------------------------------------
Please select a directory for installation
[Default /home/shelley/ecos]: /home/shelley/ecos_3
---------------------------------------------------------
Available prebuilt GNU tools:
[1] arm-eabi
[2]     arm-elf (old)
[3]     i386-elf
[4]     m68k-elf
[5]     mipsisa32-elf
[6]     powerpc-eabi
[7]     sh-elf
[q]     Finish selecting GNU tools
("*" indicates tools already selected)
Please select GNU tools to download and install: 3  //与CPU架构有关,看参考资料图.
[1]     arm-eabi
[2]     arm-elf (old)
[*]     i386-elf
[4]     m68k-elf
[5]     mipsisa32-elf
[6]     powerpc-eabi
[7]     sh-elf
[q]     Finish selecting GNU tools
("*" indicates tools already selected)
Please select GNU tools to download and install: q
Entering /home/shelley/ecos_3
Retrieving GNU tools for i386-elf
**************************************************
Retrieving eCos version 3.0
**************************************************
Downloads complete.
If you wish to disconnect from the internet you may do so now.
Unpacking ecoscentric-gnutools-i386-elf-20081107-sw.i386linux.tar.bz2...
Unpacking ecos-3.0.i386linux.tar.bz2...
Generating /home/shelley/ecos_3/ecosenv.sh
Generating /home/shelley/ecos_3/ecosenv.csh
---------------------------------------------------------
In future, to establish the correct environment for eCos,
run one of the following commands:
   . /home/shelley/ecos_3/ecosenv.sh             (for sh/bash users); or
   source /home/shelley/ecos_3/ecosenv.csh       (for csh/tcsh users)
It is recommended you append these commands to the end of your
shell startup files such as $HOME/.profile or $HOME/.login
---------------------------------------------------------
Installation complete!
4- 编译
ecos_3>ls -lrt
//下载的文件包含
ecos-3.0 //ecos源码
gnutools //交叉编译工具i386-elf
ecosenv.sh //export环境变量 for sh/bash users
ecosenv.csh // export环境变量 for csh/tcsh users
//当前目录创建执行脚本:
vi redboot.env
export PRJ_PATH=/home/shelley/ecos_3
export ECOS_REPOSITORY=$PRJ_PATH/ecos-3.0/packages/
export PATH=$PATH:$PRJ_PATH/gnutools/i386-elf/bin/:$PRJ_PATH/ecos-3.0/tools/bin rm build -rf
mkdir build
cd build
ecosconfig new pc redboot
ecosconfig import ${PRJ_PATH}/ecos-3.0/packages/hal/i386/pc/v3_0/misc/redboot_FLOPPY.ecm
ecosconfig tree
//给文件redboot.env赋权
chmod redboot.env
//执行文件
source redboot.env
U CYGSEM_HAL_USE_ROM_MONITOR, new inferred value 0
U CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK, new inferred value 0
U CYGHWR_HAL_I386_FPU_SWITCH_LAZY, new inferred value 0
可能出错情况:
ecosconfig: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory
直接下载,复制到/usr/lib目录。chmod +x libstdc++.so.5.0.7
http://download.csdn.net/download/zblue78/205090#
sudo ln -s libstdc++.so.5.0. libstdc++.so.
//编译
~/ecos_3/build>make
//编译成功后
cd ~/ecos_3/build/install/bin$
redboot.elf
redboot.bin
//生成镜像
./dd conv=sync if=redboot.bin of=redboot.flp bs=1440k
0+1 records in
1+0 records out
1474560 bytes transferred in 0.001818 secs (811115135 bytes/sec)
//导入虚拟机















如果提示"宾客机操作系统已停用CPU"

dd conv=sync if=redboot.bin of=redboot.flp bs=800k
表示bs的值太小
如果提示"无法连接虚拟设备ied0:0,因为宿主机上没有相关的设备"一定将硬盘和光驱删除,否则会提示错误.原因未知.

参考资料:
http://ecos.sourceware.org/getstart.html
http://www.blogbus.com/redboot-logs/19114095.html

read-only access to git repository:
git clone https://github.com/galoishelley/vmware-ecos
【ecos学习1】wmware运行redboot[方法一]--脚本实现配置的更多相关文章
- ecos编译redboot,vmware运行redboot,执行hello world(图形配置)
		
1- 下载源文件 :~/ecos$ ls -lrt total 80 drwxr-xr-x 7 XXXX XXXX 4096 Mar 27 2009 ecos-3.0 -rw-r--r-- 1 X ...
 - Python学习/复习神器-->各种方法/技巧在哪用和典型例子(一)
		
就我个人在学习Python的过程中,经常会出现学习了新方法后,如果隔上几天不用,就忘了的情况,或者刚学习的更好的方法没有得到应用,还是沿用已有的方法,这样很不利于学习和掌握新姿势,从而拉长学习时间,增 ...
 - 6.python在windows下用批处理文件在运行中输入程序名直接运行的方法
		
最近由于平时自由时间比较多,在看一本python入门书籍,在里面学习了一种用windows下的批处理文件在电脑运行界面中直接输入程序名称就可运行的方法,现将其详细说明如下: 1.首先编写一个教程上的程 ...
 - 传智播客学习之Android运行原理 (转)
		
传智播客学习之Android运行原理 (2010-03-20 22:45:15) 转载▼ 今天终于忙里偷闲,和大家探讨一下android技术,第一次听到3G应该追溯到大学三年级的时候了,记得当时现代通 ...
 - webpack学习:uni运行时代码解读一 (页面初始化加载)
		
uni的vue代码是如何在微信小程序里面执行的,对此比较感兴趣所以去调试学习了一波. 准备工作 // 在vue.config.js里打开非压缩的代码 module.exports = { config ...
 - win8win10以管理员身份运行cmd方法
		
win8win10以管理员身份运行cmd方法 Win7/8下提示OpenSCManager failed 拒绝访问Maven nexus 安装nexus : wrapper | OpenSCManag ...
 - Android之判断某个服务是否正在运行的方法
		
/** * 判断某个服务是否正在运行的方法 * * @param mContext * @param serviceName * 是包名+服务的类名(例如:net.loonggg.testbackst ...
 - 用UBOOT自带loadb命令加载应用程序到SDRAM中运行的方法
		
S3C44B0开发板中,用UBOOT自带loadb命令加载应用程序到SDRAM中运行的方法 1.开发板说明: 开发板上已有移植好的UBOOT运行. 2.交叉编译工具链为arm-linu-g ...
 - Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法
		
Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法 最近由于老师要求要在Ubuntu下QT上进程多线程服务器的开发,虽然只是单纯的调用qt的network模块,但是为了避免麻烦,我 ...
 
随机推荐
- mysql 获取全局唯一值
			
在涉及数据库存储数据的时候,经常会遇到唯一值问题,有的是主键带来的限制,有的则是业务上的需要. 下面介绍几种唯一值的获取或者生产方法: 先建一个测试用的表tbl_user,有三个字段:Id.Name. ...
 - 在JS中调用JAVA变量
			
在JS中调用JAVA变量可以,方法是:var JS变量名 = “<%=JAVA变量名 %>”<%中间写java代码,跟在JSP中一样%>在JAVA中 ,无法调用JS变量
 - 通过meteor实现的一个照片墙
			
always love tech 初次使用meteor所遇到的一个问题: insert failed: Method '/pictures/insert' not found 提示没有这个方法,然后可 ...
 - js判断数组和对象
			
<script> var arr=new Array(); var obj={'1':2}; var num=11; function isType(obj){ if(obj instan ...
 - C#代码实现,确保windows程序只有一个实例(instance)
			
static class Program { /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static vo ...
 - Cognitive Radio Emergency Networks – Requirements and Design
			
2005 IEEE 这是一个典型的Ad hoc场景.紧急情况下的临时自组网络.虽然之前的论文中把它标记为out-of-band global coverage,但这个也是分组的,每个组有个gatewa ...
 - Socket 编程示例(二)
			
利用晚上这点闲暇时间,写了一个Socket通信的小实例,该实例包含服务器端和客户端.其基本工作流程是:当服务器启动服务以后,客户端进行连接,如果连接成功,则用户可以在发送消息框中输入待发送的消息,然后 ...
 - jQuery_基础
			
一.jQuery与DOM对象的转换. 1.jQuery对象转换为DOM对象:$cr[0] 或 $cr.get(0) $cr为jQuery对象 2.DOM对象转换为jQuery对象:$(cr) cr为D ...
 - codecomb 2086【滑板鞋】
			
题目背景 我的滑板鞋时尚时尚最时尚 回家的路上我情不自禁 摩擦 摩擦 在这光滑的地上摩擦 月光下我看到自己的身影有时很远有时很近 感到一种力量驱使我的脚步 有了滑板鞋天黑都不怕 题目描述 你在魅力之都 ...
 - bzoj1650 [Usaco2006 Dec]River Hopscotch 跳石子
			
Description Every year the cows hold an event featuring a peculiar version of hopscotch that involve ...