差分表示
- 最後の更新で追加された行はこのように表示します。
- 最後の更新で削除された行はこのように表示します。
* QEMU
- http://fabrice.bellard.free.fr/qemu/
>QEMU is a generic and open source processor emulator which achieves a good emulation speed by using dynamic translation.
QEMUのi386 User mode emulationモジュールをLinuxZaurus向けにビルドしてみました。
** 更新履歴
- 2005/03/16 qemu-i386/0.6.1-1を公開。
** ダウンロード
- 最新バージョン
-- [[qemu-i386_0.6.1-1_arm.ipk Download:qemu-i386_0.6.1-1_arm.ipk]]
i386バイナリの実行には別途ライブラリも必要です。実行したいバイナリによって必要な共有ライブラリが異なるので、qemu-gnemul-0.5.1.tar.gz等を使用してください。
http://fabrice.bellard.free.fr/qemu/download.html
** ビルド内容
下記の内容でビルドを行っています。
*** gcc3のクロスコンパイラ作成
gcc2.95ではビルドがうまくいかないようなので下記のサイト等を参考にgcc3のクロスコンパイラを作成。
- [[gccのビルド…gcc3.3.3編 http://ehe.s57.xrea.com/index.php?gcc%A4%CE%A5%D3%A5%EB%A5%C9%A1%C4gcc3.3.3%CA%D4]]
- [[ぴろのぺーじ http://www.piro.hopto.org/~piro/pukiwiki/pukiwiki.php?%5B%5Bgcc-3.3.1%5D%5D]]
- [[クロスコンパイラとしてGCC3.Xを使用する http://www.mit.msn.to/zaurus/gcc3.html]]
- [[XScaleなコードを吐くコンパイラを手に入れる http://www.t12.jp/~ryuta/misclab/zaurus/compiler.html]]
*** パッチ作成
CFLAGSに''-fno-omit-frame-pointer''を追加。
--- qemu-0.6.1.orig/Makefile.target 2004-11-15 05:51:33.000000000 +0900
+++ qemu-0.6.1/Makefile.target 2005-03-11 22:47:28.000000000 +0900
@@ -7,7 +7,7 @@
VPATH+=:$(SRC_PATH)/linux-user
DEFINES+=-I$(SRC_PATH)/linux-user -I$(SRC_PATH)/linux-user/$(TARGET_ARCH)
endif
-CFLAGS=-Wall -O2 -g -fno-strict-aliasing
+CFLAGS=-Wall -O2 -g -fno-strict-aliasing -fno-omit-frame-pointer
LDFLAGS=-g
LIBS=
HELPER_CFLAGS=$(CFLAGS)
diff -r -u qemu-0.6.1.orig/cpu-exec.c qemu-0.6.1/cpu-exec.c
handle_cpu_signalの最後の引数が抜けているので追加。
--- qemu-0.6.1.orig/cpu-exec.c 2004-11-15 05:51:33.000000000 +0900
+++ qemu-0.6.1/cpu-exec.c 2005-03-11 22:47:40.000000000 +0900
@@ -1009,7 +1009,7 @@
is_write = 0;
return handle_cpu_signal(pc, (unsigned long)info->si_addr,
is_write,
- &uc->uc_sigmask);
+ &uc->uc_sigmask, puc);
}
#elif defined(__mc68000)
*** ビルド
./configure \
--interp-prefix=/mnt/gnemul/qemu-%M \
--target-list=i386-user \
--cross-prefix=arm-linux-
make
** 使用例
http://www.macromedia.com/support/flash/downloads.html
Macromedia Flash Player 6 - Standalone player (Projector) for Linux を 動かしてみます。
http://forums.gentoo.org/viewtopic.php?t=117774
上記フォーラムのトピックにgflashplayerをqemuで動かすのに必要なファイルをまとめたアーカイブがあったので、これを使用しました。
XサーバはX/Qtを使用しました。
$ export DISPLAY=:0.0
$ qemu-i386 -L /mnt/flash_x86 /mnt/flash_x86/usr/bin/gflashplayer
[[File:gflashplayer_s.jpg File:gflashplayer.jpg]]
'''※とりあえず動きましたがメチャメチャ遅くて使い物にはならないと思います。'''
** コメント
コメント等がありましたらこちらへどうぞ。
- 2007-11-02 (Fri) 02:51:36 ''[[Alex Fetcher]]'' : Great site!<br>15da1d9576755b7d759cc7de6e08d3c6
[[#comment]]
[[#comment]]
08845