Mona/QEMU/cygwin環境


Mona/QEMU
Mona/QEMU/MinGW環境

QEMU を cygwin環境でMakeし、Monaを動作させるまでの手順

先人達の情報を参考に、ここにまとめてみる。
2004/07/15現在 QEMU Ver0.60

1.Win32 + cygwin で SDL の開発環境を構築 

http://cefiro.homelinux.org/topics/SDL/printable/setup-win32-cygwin-20030603.html
さんのサイト参考に下記を実施

    (1)cygwin のホームディレクトリに下記 作成
    /usr/local/mingw32/bin
    /usr/local/mingw32/lib
    
    (2)/etc/profile の編集 (パス調整)
      下記3行を追加する。
      既存の行の下へ追加
    
    PATH="/usr/local/bin:/usr/bin:/bin:$PATH"・・・既存
    PATH="/usr/local/lib:$PATH"
    PATH="/usr/local/mingw32/bin:$PATH"
    PATH="/usr/local/mingw32/lib:$PATH"
    
      ※※ここで、csh を使用している場合は
      /etc/csh.login  を下記のように書き換える。
      
      set path=( /usr/local/bin /usr/bin /bin $path:q )
      ↓
      set path=( /usr/local/mingw32/lib /usr/local/mingw32/bin /usr/local/lib /usr/local/bin /usr/bin /bin $path:q )
    
    (3)MinGW の gcc の動作確認
       適当なCソースを作って、動作確認
       
       まずは、普通にコンパイルして、リンクされているdllを確認
       gcc -o hello hello.c
       
       objdump -p hello.exe | grep  dll
             ここでは cygwin1.dll をリンクしていることが分かる。
             
       
       mingw32 モードでコンパイルするには -mno-cygwin オプションを付けます
       gcc -o hello hello.c -mno-cygwin
             これで、cygwin1.dll がリンクしていない事が分かる。
     
     (4) DirectX ヘッダとライブラリのインストール 
        directx-devel.tar.gz を入手し
        取得したファイルが /usr/directx-devel.tar.gz にあるとして,/usr に展開します.
      
            $ cd /usr
            $ tar xvfz directx-devel.tar.gz 
     
     (5) SDL のインストール
     SDL-1.2.7 のソースコードを取得

      SDL 1.2 のダウンロードページ <URL:http://www.libsdl.org/download-1.2.php> から 
      SDL-1.2.7.tar.gz <URL:http://www.libsdl.org/release/SDL-1.2.7.tar.gz> を取得します.
      
      SDL-1.2.7 のソースコードを展開

      $ tar xvfz SDL-1.2.7.tar.gz
      SDL-1.2.7 をコンパイル

      $ cd SDL-1.2.7
      $ env CFLAGS="-O2 " sh configure --prefix=/usr/local/mingw32
      $ make 
      SDL-1.2.7 をインストール

      $ make install
      これで /usr/local/mingw32 以下に SDL のヘッダ,ライブラリがインストールされます.
    
     (6)SDL の動作確認
     
     テストプログラムのコンパイルと実行

    SDL のソースコードを展開したディレクトリ中の test というディレクトリに 
    SDL のテストプログラムが用意されています.これを使って SDL が正常に動作するかどうかテストします.

    $ cd SDL-1.X.X
    $ cd test
    $ sh configure
    $ make 
    できあがった実行ファイル(testwin.exeなど) を実行して動作すれば OK です.


2. qemuのconfigureとMakefileとMakefile.targetを書き換え
   2ch OSを作ろうPart10 (http://pc5.2ch.net/test/read.cgi/os/1083420872/l50)
   QEMU ビルドについての、Tino氏コメント参考

    Tino氏 無理にMinGW入れなくてもCygwinでいけるよ

   参考:QEMU on Windowsさん  http://www.h7.dion.ne.jp/~qemu-win/index-ja.html
               http://www.h7.dion.ne.jp/~qemu-win/qemu-cygwin.txt
   書き換え詳細↓
     configure
       # OS specific
       targetos=`uname -s`
       case $targetos in    ←この
       CYGWIN*)            ←4行を
       mingw32="yes"       ←追加
       ;;                  ←する!!

     makefile
       CFLAGS+=-fpack-struct 
       を
       CFLAGS+=-fpack-struct -mno-cygwin
       に書き換え
     makefile.target
       以下の場所にそれぞれ、 -mno-cygwin  を入れる。
       10行目: CFLAGS=-Wall -O2 -g -fno-strict-aliasing -mno-cygwin
       282行目:   $(CC) -mno-cygwin $(VL_LDFLAGS) -o $@ $^ $(LIBS) $(SDL_LIBS) $(VL_LIBS)
   
 3.qemuを./configureしてmake

   ここで ppc-softmmuでエラーが出るけど無視
   make[1]: Leaving directory `/home/Tino/qemu-0.6.0/ppc-softmmu'
   make: *** [all] Error 1
   i386-softmmuに出来ているqemu.exeを使えばOK!

 4.使い方(Mona起動の方法)
      実行時に必要なファイル
        (1) 上記でmake した qemu-0.6.0/i386-softmmu/qemu.exe
        (2) 上記で入手した、SDL.dll
        (3) qemu-0.6.0\qemu-0.6.0\pc-bios の各種BIOSファイル
                   vgabios-cirrus.bin
                   vgabios.bin
                   bios.bin
       を同一フォルダへ
       
        (4) 最新の(起動したい)mona.img を上記と同一フォルダへコピー
        (5) 以下のようなバッチファイルを作成し、実行
         ※※注  Ver0.6.0からは、ハイフン2つは必要なくなり、すべてのオプションにハイフンを使用
         qemu-mona.bat
           REM Start qemu on windows.
           @ECHO OFF

           START /MIN qemu.exe -L . -fda mona.img 

           CLS
           EXIT

 5.
    2004/07/14現在
      VESA:800x600 16bpp
      dummy Handler
     と表示した所で固まる
     → 2004/07/16 MonaVer0.2.0 β14 リリースで解決済み!! 
 6.cygwin環境でビルドしたQEMUをデバッグする。
    /i386-softmmu/config.mak 
     の SDL_LIBS=・・ の-mwindowsオプションを外す。
       -mwindows とは、cygwinのgccでexeを作るとで起動したとき何もしないと
       無条件でコマンドプロンプトが出る。これを出さないようにするオプション

MENU

now: 1

リンク


最新の20件
2018-09-03 2018-05-09 2017-09-29 2017-01-10 2016-12-11 2016-10-04 2016-08-14 2016-06-05 2016-05-29 2016-04-15 2015-12-28 2013-02-25 2013-02-21 2013-02-20 2013-02-12 2013-02-11 2013-02-10
最新の20件
2010-02-01 2010-01-31 2010-01-30 2010-01-29 2010-01-16

Counter: 7469, today: 1, yesterday: 1

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Last-modified: 2008-03-28 (金) 15:47:55 (3831d);  Modified by mona
PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji
Powered by PHP 5.2.17
HTML convert time to 0.028 sec.