qemu

2019年01月18日

前回の記事では、Xilinx QEMU の Zynq UltraScale+ MPSoC ZCU102(ZynqMP)ターゲットの APU(AArch64 Cortex-A53 4 コア)上で Toppers fmp を動かしました。

今回は RPU(ARM Cortex-R5 2 コア)上で Toppers fmp を動かして見ます。
環境は前回の準備を前提としますが、今度は ARM のツールチェーンの準備が別途必要です。

続きを読む

2018年12月27日

以前の記事で Xilinx QEMU を Ubuntu 18.04 上でビルドしましたが、その QEMU を使って、Zynq UltraScale+ MPSoC(以後 ZynqMP) の APU パート、AArch64 (a53) 4 コアターゲットの Toppers FMP を動かして見ました。

Toppers も、QEMU と同じ Ubuntu Linux 環境でクロスビルドします。
何か所かハマったので、正解ルートだけではなく、あえてハマったポイントと回避策も記録として残しますので、少々冗長になります。

続きを読む

2018年12月04日

QEMU の Windows 版のビルド方法は、このブログでも何度も取り上げていますが、QEMU が要求する GLib ライブラリのバージョンが上がり続けているなどの理由により、正常動作する QEMU をビルドできる環境を構築し、QEMU のバージョンアップに追従し続けることが、現状かなり難しくなっています。(少なくとも現在の MSYS2 の GCC 8.2.0 環境でビルドした QEMU は正常動作しません。)

そこで本記事では、QEMU のメンテナの一人であり、長年 Windows 版を開発、バイナリの配布をし続けている Stefan Weil さんがメンテナンスしているビルド環境をお借りして、Ubuntu 18.04 上で Windows 64-bit 版 QEMU をクロスビルドする方法を解説します。

続きを読む

2016年11月21日

お久しぶりです。だいぶ間が空いてしまいました。その間、全身性エリテマトーデス(SLE)という、免疫が狂って自分自身を攻撃してしまう原因不明の難病を発病し、半年ほど休職していたりと色々ありましたが、なんとか職場復帰することができました。またよろしくお願いします。

そんなこんなで浦島太郎状態なのですが、QEMU のサイトを久しぶりに見てみた所、Docker という仮想化技術を使用して QEMU の Windows 用バイナリをビルドできるようになったそうなので、試してみました。
続きを読む

2015年12月02日

Xilinx さんが公開している QEMUは Linux ホストのみサポートなのですが、一応ごにょごにょしてみたら Windows でも MinGW-w64 環境で動作させることができたので、メモを残しておきます。(ちゃんとした修正では無いことを、ご了承ください。)

続きを読む

2013年04月24日

だいぶ昔にこのような記事を書いたのですが、その後の調査で理由がわかった(ことを、QEMU 1.1.2 の target-mips/ 以下を確認していて思い出した)ので追記します。
続きを読む

2013年01月08日

QEMU のイメージファイル(仮想ディスクとして使用)を配布する際には、実際に使ったぶんだけファイルサイズが大きくなる(あるいは、別ファイルに差分だけを書き出せる)、QCOW2 形式(QEMU Copy-On-Write image file format version 2)が便利です。

buildroot でビルドした rootfs.tar から、QCOW2 形式のイメージファイルを作った時のメモです。
続きを読む

2012年12月05日

2012年11月05日

1 年以上前に試した時は、様々な問題があって MinGW-w64 でビルドした x64 版の QEMU は動作しませんでした。

QEMU のソースを眺めていて、tcg/i386/tcg-target.c に、_WIN64 の ifdef が増えていることに気が付きました。どうも、QEMU 1.1.0 あたりから x64 対応が入ったようです。
他にも、例えば target-arm/op_helper.c あたりで、生の long が使われていたりしたのが、uintptr_t になっていたりして、ちゃんと動きそうな感じがします。

というわけで、再び挑戦してみたところ、QEMU 1.2.0 で x64 版の動作が確認できました。

続きを読む

2012年10月12日

QEMU は ARM semihosting をサポートしているので、QEMU の標準入出力に対して、QEMU 上で動作するターゲットプログラム (ARM) から直接 printf() や fgets() ができます。

(ちなみに、弊社の PARTNER デバッガソフトウェアと exeGCC は、同様のメカニズムを VLINK として提供しています。これは ARM プロセッサに限定されない、MIPS や SH でも使用可能な、汎用のしくみです。)

続きを読む

2012年06月20日

Android と言えば ARM ですが、最近は MIPS ベースの Android にも注目が集まっているようです。 (私はあまり詳しくないのですが。)

そういえば、x86 と ARM 以外の Linux は動作させたことが無いなと思ったので、まずは QEMU 1.1.0 で MIPS Linux を動作させてみることにしました。
続きを読む

2012年06月13日

以前 QEMU 1.0.1 をビルドしたのですが、RAM ディスクで arm-test ぐらいは動いたものの、Debian を qcow2 イメージからブートさせることはできませんでした。
これはどうやら、私のビルド環境の問題などではなく、既知の不具合だったようです。
続きを読む

2012年03月26日

弊社の若槻、辻、小林でInterface 2012年5月号にQEMUの記事を書きました。

  • 第一章 「エミュレータ QEMUの概要とLinuxの起動、テストのための改造」
  • Appendix 1 「QEMUの内部構造: 動的バイナリ変換技術について」


Interface誌へのリンク



2012年02月20日

Windows XP (32 bit) の MinGW 環境で QEMU 1.0.1 のビルドに成功しました。
その時のメモです。
続きを読む

2011年08月04日

シミュレータはメモリを大量に使うので、64 ビット Windows 環境では、できれば互換モード(32 ビットモード)ではなく、64 ビットモードで動かしたいところです。

QEMU は、Linux などの x86_64 環境では、普通に動作しています。
ならば Windows でも 64 ビットモードで動くのではないかと思い、MinGW-w64でビルドして
みたのですが、ビルド自体はできたものの、SEGV が発生してまともに動きませんでした。
原因を調査してみると、x86_64 と x64 環境の、さまざまな相違点が明らかになってきました。
続きを読む

記事検索
最新コメント
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード