背景:

远程服务器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[方法一]--脚本实现配置的更多相关文章

  1. 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 ...

  2. Python学习/复习神器-->各种方法/技巧在哪用和典型例子(一)

    就我个人在学习Python的过程中,经常会出现学习了新方法后,如果隔上几天不用,就忘了的情况,或者刚学习的更好的方法没有得到应用,还是沿用已有的方法,这样很不利于学习和掌握新姿势,从而拉长学习时间,增 ...

  3. 6.python在windows下用批处理文件在运行中输入程序名直接运行的方法

    最近由于平时自由时间比较多,在看一本python入门书籍,在里面学习了一种用windows下的批处理文件在电脑运行界面中直接输入程序名称就可运行的方法,现将其详细说明如下: 1.首先编写一个教程上的程 ...

  4. 传智播客学习之Android运行原理 (转)

    传智播客学习之Android运行原理 (2010-03-20 22:45:15) 转载▼ 今天终于忙里偷闲,和大家探讨一下android技术,第一次听到3G应该追溯到大学三年级的时候了,记得当时现代通 ...

  5. webpack学习:uni运行时代码解读一 (页面初始化加载)

    uni的vue代码是如何在微信小程序里面执行的,对此比较感兴趣所以去调试学习了一波. 准备工作 // 在vue.config.js里打开非压缩的代码 module.exports = { config ...

  6. win8win10以管理员身份运行cmd方法

    win8win10以管理员身份运行cmd方法 Win7/8下提示OpenSCManager failed 拒绝访问Maven nexus 安装nexus : wrapper | OpenSCManag ...

  7. Android之判断某个服务是否正在运行的方法

    /** * 判断某个服务是否正在运行的方法 * * @param mContext * @param serviceName * 是包名+服务的类名(例如:net.loonggg.testbackst ...

  8. 用UBOOT自带loadb命令加载应用程序到SDRAM中运行的方法

    S3C44B0开发板中,用UBOOT自带loadb命令加载应用程序到SDRAM中运行的方法    1.开发板说明:  开发板上已有移植好的UBOOT运行.   2.交叉编译工具链为arm-linu-g ...

  9. Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法

    Ubuntu下QT控制台程序无法运行的解决方案以及XTerm的配置方法 最近由于老师要求要在Ubuntu下QT上进程多线程服务器的开发,虽然只是单纯的调用qt的network模块,但是为了避免麻烦,我 ...

随机推荐

  1. YUI Array 之hash

    hash就是把两个参数合并成一个类似hashMap结构的对象,用第一个数组的元素为key,第二个的为value,如果第二个参数未指定,则把对象的对应的值置为true YUI原码 YUI hashYAr ...

  2. Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群

    本文的英文版本链接是 http://xuri.me/2013/11/20/install-mysql-cluster-on-ubuntu-12-04-lts.html MySQL Cluster 是 ...

  3. php 大流量网站访问

    1:确认服务器硬件能否支持当前流量 2:数据库优化,用到什么字段查什么字段,减轻查询负担. 3:静态化,缓存,减少连库操作. 4:禁止外部盗链,减轻负载压力. 5:控制文件下载大小,尽量不超过2M,有 ...

  4. 分享几个实用的jquery工具函数

    1.$.browser对象属性 属性列表 说明  webkit webkit相关浏览器则返回true,否则返回false,如google,傲游.  mozilla mozilla相关浏览器则返回tru ...

  5. [C++程序设计]基于对象的程序设计 基于对象的程序设计

    1. 面向对象分析(object oriented analysis,OOA)2. 面向对象设计(object oriented design,OOD)3. 面向对象编程(object oriente ...

  6. nginx之如何获取真实客户端ip

    nginx的配置文件中日志格式加入$http_x_forwarded_for--> log_format access '$remote_addr - $remote_user [$time_l ...

  7. C编译环境的搭建-sublime篇

    1.安装sublime text 2.下载MingW: http://sourceforge.net/projects/mingw-w64/?source=typ_redirect 3.sublime ...

  8. C++----练习--bool类型作为特别的int要区别对待

    1.程序源码: #include<iostream> int main() { ; int i=condition; std::cout<<i<<std::endl ...

  9. 关于link, visited, hover, active

    LoVe/HAte 如果只是希望点击的时候显示背景色,那么只需要设置 :active,无需设置:hover #navbar:active, #backbtn:active { background-c ...

  10. vmware 网络连接

    解决VMware nat service等服务不能启动 虚拟机如何设置网络连接来上网?