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操作系統進行維護的目的。
評論