coLinux在构建嵌入式开发环境中的应用
coLinux是一个修改过的 Linux 内核,它可以与另一个操作系统协作运行。宿主机(host)操作系统控制本机的硬件资源,而访客(guest)操作系统只得到本机硬件的虚拟抽象。主机操作系统提供了以特权级别(ring 0)执行驱动程序的方法,并提供了分配内存的方法。
Linux 内核所需的其他特性(比如网络连接、串口或视频访问)通过外部代理来实现,
比如coLinux可以通过 TUNTAP驱动程序访问外部网络,通过代理访问显示器( X Window System)等。
coLinux的安装及配置
coLinux的安装非常容易,包括几个简单的步骤。安装过程中 coLinux提示可以从网上下载 ArchLinux、Debian 4.0、Fedora 7、Gentoo Deluxe、Ubuntu 7.1等几个 Linux文件系统映像的压缩包。点击相应的“ *Notes”可以打开对应的说明文字与下载的网页。下面笔者以 Fedora9的文件系统映像压缩包为例来介绍 coLinux中 Linux的安装和配置。
从网上下载的 Fedora9文件系统映像压缩包中包含 5个文件,这些文件对于主机操作系统(Windows)来说都是一些普通的文件,但是对于 coLinux来说其中某些文件(Fedora-9.img、 swap.img)却是可读写的 ext3 / swap类型的 Linux文件系统。
Fedora-9.img是一个 4G大小的 Fedora9文件系统映像,内含了 Fedora9系统中必需的所有文件,并预先配置了 slirp的网络,gdm登陆的 Xvnc以及支持声音的 ESD等功能。使用 Fedora9时无需对宿主机的网络功能方面做任何配置,就可以通过宿主机的 API来控制当前的网络适配器(网卡)来收发 TCP/UDP数据包。由于 Slirp不能收发 ICMP信息,ping和 traceroute等命令无法工作,但是其他网络功能丝毫不会受到影响。从外部访问 Linux,需要进行端口重定向,在 coLinux配置文件中可以进行简单设置。另外 coLinux也为 Linux之间提供了 tuntap与 pcap-bridge的通讯模式,具体信息可以参考 colinux自带的帮助文档。
swap.img:这是一个 512M的交换分区的映像。
start-Fedora-9.bat:启动 Fedora9+coLinux的批处理文件(需要根据情况进行修改) ,里面是一个启动 coLinux的命令,命令后面添加了相关的配置参数。
start-Fedora-9.sh:启动 Fedora9+coLinux的脚本文件(需要根据情况进行修改,于 Cygwin环境的 Bash下运行)。
README-Fedora-9.txt:本映像的说明文件。
将下载的文件解压释放出来,编辑文件 start-Fedora-9.bat,根据“ Fedora-9.img”和 “swap.img”在宿主机(Windows系统)中的真实位置,对 cobd0、cobd1进行适当的修改(注意:使用“/”进行目录层次分隔)即可。修改完成后,将其保存在 coLinux软件的安装位置,如 “C:Program FilescoLinux”,双击即可启动 coLinux。Fedora9 Linux开始运行后, Linux启动信息被发送到一个新打开的 FLTK控制台中。如果 cobd0、cobd1的配置信息无误,则能够顺利启动。
5构造拥有 Window和 Linux双重优点的嵌入式开发环境
与 Cygwin相似, coLinux允许在 Windows操作系统上开发和执行 Linux应用程序。但是基于 coLinux的 Linux系统可以用 apt-get/yum等应用程序管理软件安装、更新或删除应用程序,从而达到对 Linux操作系统进行维护的目的。
评论