2011年8月25日 星期四

在Cygwin中設定並使用Qemu

mintty_cygwin_qemu
在看完前三篇編繹BOS文章之後,眼尖的讀者,應該有發現在Linux和MAC OS X平台都是使用qemu 來執行;可是一到Windows 怎麼變成VMWare Player呢!其實筆者曾試著編繹cygwin版的qemu, 卻有太多問題要解決,為求效率;使用其他虛擬機軟體來代替。
這篇算是補完"自製開發BenOS支援Windows+Cygwin"一文。

1. 下載所需qemu工具

在使用谷歌大神後,Qemu.org的友站連結中的非官方版已預先編繹好的程式,找到qemu 0.13版,由此下載 。(感謝他的分享,筆者少花數小時生命。)


2. 安裝Qemu
在下載完qemu-0.13.0-windows.zip後,將它解壓縮到cygwin安裝目錄中。
就筆者環境來說,路徑為C:\cygwin\usr\local\qemu
3. 開啟cygwin命令視窗
加入下列指令到 /etc/bash.bashrc
export PATH=/usr/local/qemu:$PATH
4. 重新開啟cygwin命令視窗
下載最新版bos,執行下列指令,便可看到如上所示執行畫面:
make run
本次在程式碼的編繹腳本修改所使用命令為qemu,主因是此版本qemu-system-x86_64.exe無法正常運作,但qemu卻是正常工作。
@@ -9,7 +9,7 @@ endif
all: run
run:
-ifeq ($(KNAME),CYGWIN)
+ifeq ($(KNAME),$(KNAME_CYGWIN))
        qemu -fda "$(IMG_NAME)"
else
        qemu-system-x86_64 -boot a -M $(MACHINE) -fda "$(IMG_NAME)"
結語

筆者歸納了最近使編繹流程跨平台的經驗,列出幾點供大家參考:
  1. 先到網上花5分鐘找看看,有無編繹好的開發用軟體;
  2. 如果沒有,看看有無編繹經驗分享,
  3. 也無經驗分享,最後才是自己編繹一版。
保持分享的美德,把編繹好的工具,公布出來。如此一來,基於眾人成果,大家互相會受益於時間成本的大大縮短。
當然這也筆者撰文的原因之一。

註:此次報名網址已建置好,請由此報名9/6星系主題活動

更新0825

Dennis 有提出:
我覺得應該找qemu for win32, 用vc++或mingw compile。因為cygwin有些posix api模擬,並沒有做得很好,用native win32 api比較順。而且我很久以前有試過這個 http://www.h7.dion.ne.jp/~qemu-win/ ,它應該可以work。

ben 想:
不過這個qemu-win網址編繹的版本0.9.0有點老而且已停止更新,其實我文章中所用Qemu 可能同一人所維護,只是文中使用連結是較新的版本。若要最新版本,需要的人就要自行編繹了


沒有留言: