背景:

远程服务器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. Linq的基础2

    var 构建匿名类型1 = from c in ctx.GetTable<Customers>()                          select new          ...

  2. Firebug介绍及使用技巧

    一.介绍 Firebug是网页浏览器Firefox下的一款开发调试工具.安装firebug后在浏览器的插件工具栏中(上方)会有一个小甲虫的图标. F12打开和关闭Firebug窗口. 二.FireBu ...

  3. 第二章IPC——IPC与开启多进程

    问题 一.IPC ①.什么是IPC  ②.为什么要有IPC 二.多进程 ①.如何开启多进程  ②.系统如何创建多进程 三.多进程引发的问题 问:私有进程(利用":+进程名")能否共 ...

  4. laravel 心得

    1.安装 使用composer安装laravel ,切换到你想要放置该网站的目录下,运行命令: composer create-project laravel/larevel project 4.1 ...

  5. php sscanf() 函数使用

    定义和用法 sscanf() 函数根据指定的格式解析来自一个字符串的输入. 如果只向该函数传递两个参数,数据将以数组的形式返回.否则,如果传递了额外的参数,那么被解析的数据会存储在这些参数中.如果区分 ...

  6. 15个顶级Java多线程面试题及回答

    Java 线程面试问题 在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分.如果你想获得任何股票投资银行的前台资讯职位,那么你应该准备很多关于多线程 的问题.在投资银行业务中多线程和并发 ...

  7. oc语言--description方法和sel

    一.description方法 Description方法包括类方法和对象方法.(NSObject类所包含) (一)基本知识 -description(对象方法) 使用NSLog和@%输出某个对象时, ...

  8. excel内容转成xml

    简单记录下如何将excel中的一个表格内容转成xml格式的文件. excel菜单栏中的"开发工具"下有专门处理xml的模块,如下图. 如果你的excel中看不到"开发工具 ...

  9. Unique Binary Search Trees II 解答

    Question Given n, generate all structurally unique BST's (binary search trees) that store values 1.. ...

  10. HDU1232 畅通工程 (并查集模板题)

    畅通工程 Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submis ...