qemu

2023年04月26日

このブログでも何度か取り上げてきましたが、QEMU の Windows バイナリ(x64)のビルドは、以前はとても大変でした。今回、とある事情で数年ぶりに Xilinx QEMU の git HEAD(QEMU 7.1.0 ベース)をビルドする必要がでてきたので調査したところ、以前作った Xilinx QEMU 2020.3(QEMU 5.0.50 ベース)のビルド環境ではライブラリが古いためビルドできず、アップデートも困難な状態でした。

最終的に、最も王道である MSYS2 でビルドが成功し、正常動作が確認できました。その時のメモです。

続きを読む

2019年04月18日

Xilinx 社の ZynqMP 詳しくないのですが、Xilinx QEMU は PMU※1(qemu-system-microblazeel)ターゲットの QEMU と APU/RPU※2(qemu-system-aarch64)ターゲットの QEMU を別プロセスで 2 つ起動してエミュレーションを行う構成が存在します。

以前ビルドした Windows 版※3でも動作させることができたのでメモしておきます。

続きを読む

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誌へのリンク



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

QRコード
QRコード