Engineer's Notebook

あるエンジニアの雑多メモ 技術的なことや資産運用などを技術者目線で綴ります

QEMUをWindowsでビルドする手順

投稿日:2020-09-12 更新日:

QEMUをちょっと改造したくなったので、Windowsでビルドしてみました。
今回はARMv8 AArch64用のQEMUをWindwos向けにビルドしてみます。他のアーキテクチャのビルドも手順は同じですので参考にしてください

 

スポンサーリンク

ビルド環境の構築

ビルドにはMinGW64を使用しますので、まずはその環境を整えていきます。

MSYS2のインストール

こちらからMSYS2をダウンロードしてインストールします。
MSYS2 download | SourceForge.net

MinGW64および必要なパッケージのインストール

MSYS2をインストールしたディレクトリにあるmsys2.exeを起動し、以下のコマンドを実行します。

これでコンパイラなど必要なものがインストールされます。

※もしかしたら足りないパッケージもあるかも。もしビルド中にエラーが発生したら、足りないパッケージを随時インストールしてください。パッケージ名はこちらで検索できます。
Search - MSYS2 Packages

ツールのコピー

MinGWには、GNU Toolchainの別名版(x86_64-w64-mingw32-gccなど)が用意されているのですが、なぜか別名版が用意されていないものがありますので自分で用意します。

具体的には、C:\msys64\mingw64\bin 下で以下の操作を行います。

  • ar.exe を x86_64-w64-mingw32-ar.exe という名前でコピー
  • ranlib.exe を x86_64-w64-mingw32-ranlib.exe という名前でコピー
  • windres.exe を x86_64-w64-mingw32-windres.exe という名前でコピー
  • nm.exe を x86_64-w64-mingw32-nm.exe という名前でコピー
  • objcopy を x86_64-w64-mingw32-objcopy という名前でコピー

下の手順で --cross-prefix= を付けなければこんなことしなくてもいいのかもしれません。その場合は、他のgcc(Cygwinのgccなど)が使われることが無いように注意してください。

スポンサーリンク

QEMUのビルド

QEMUソースのダウンロードと展開

次にQEMUのソースをダウンロードし展開します。今回は5.1.0を使います。

なぜかMSYS2では展開時にエラーが発生したので、展開だけはCygwinを使いました。

他のバージョンをビルドしたい場合は、こちらからソースを取得してください。
Full list of releases

mingw64.exeの起動

まず、先ほどまで作業していたmsys2.exeを閉じ、同じディレクトリにあるmingw64.exeを実行します。mingw64.exeは64bit版MINGWにパスを通した状態で起動するmsys2.exeと思ってもらえればOKです。

ここから先は、このmingw64.exe上で作業を進めます。

configure実行

QEMUソースのトップディレクトリに入って、configureを実行します。

今回はAArch64向けのみをビルドします。全てのアーキテクチャ用にビルドしたい場合は、--target-listを指定せずにconfigureを実行してください。

QEMUのバージョンによってはPhython2を必要とするものもあります。その場合は、以下のようにしてください。その場合は、もちろんPython2のインストールも必要です。

ビルド&インストール

configureが通ったら、makeします。

ビルドが完了したら以下のコマンドでインストールします。

まぁ、別にインストールしなくてもビルドしたファイル
aarch64-softmmu/qemu-system-aarch64.exe
を直接実行してもいいですが。

mingw64.exe以外(コマンドプロンプトなど)から実行する場合は、MinGW64のDLLにパスを通すか、DLLをexeと同じディレクトリにコピーしてください。

アドセンス 336x280

アドセンス 336x280

関連コンテンツ

いまあなたにおすすめ

-ソフトウェア開発

Copyright© Engineer's Notebook , 2020 All Rights Reserved Powered by AFFINGER5.