概要
- QEMU は汎用的かつオープンソースの エミュレーター/バーチャライザー
- ハードウェア仮想化サポート不要 で完全なマシンのソフトウェアエミュレーションが可能
- XenやKVM との連携により、 高パフォーマンス を実現
- 多様なアーキテクチャ や用途に対応
- ドキュメント・サポート・開発 体制が充実
QEMUの概要
- QEMU は、汎用的でオープンソースな マシン&ユーザースペースエミュレーター/バーチャライザー
- ソフトウェアのみで完全なマシンをエミュレート し、ハードウェア仮想化サポートは不要
- 動的翻訳 を用い、高いパフォーマンスを実現
- XenやKVMハイパーバイザー と統合し、エミュレートされたハードウェアを提供
- ハイパーバイザーサポート時、 CPUパフォーマンスはほぼネイティブ
- CPU直接エミュレーション により、異なるアーキテクチャ間でのOS実行が可能
- 例:ARMv7ボード用OSをx86_64 PCボード上で実行
- ユーザースペースAPI仮想化 により、LinuxやBSDのカーネルインターフェースを仮想化
- 異なるアーキテクチャABI間でのバイナリ実行が可能
- ハードウェアエミュレーション不要、CPU・システムコールのエミュレーションのみ
- 多様なユースケース に対応
- ユーザーによる直接利用や、高レベル管理レイヤーへの統合
- libvirt ライブラリ経由での間接利用(oVirt、OpenStack、virt-manager等)
- GNU General Public License, version 2 でリリース
- 詳細は LICENSEファイル 参照
ドキュメント
- オンラインドキュメント: https://www.qemu.org/documentation/
- 開発版ドキュメント: https://www.qemu.org/docs/master/
- ソースツリー内 docs/ フォルダーからSphinxで生成
- 追加情報: QEMU公式ウェブサイト 参照
ビルド方法
- QEMU はマルチプラットフォーム対応
- モダンなLinux、OS-X、Win32(Mingw64ツールチェーン)、その他UNIXターゲット
- 基本的なビルド手順
mkdir buildcd build../configuremake
- 詳細・追加情報
- Linux: https://wiki.qemu.org/Hosts/Linux
- Mac: https://wiki.qemu.org/Hosts/Mac
- Win32: https://wiki.qemu.org/Hosts/W32
パッチの提出
- GITバージョン管理システム でソースコード管理
git clone https://gitlab.com/qemu-project/qemu.git
- パッチ提出手順
git format-patchやgit send-emailでqemu-devel@nongnu.orgに送信- すべてのパッチに 'Signed-off-by'行 が必要
- Developers Guide のスタイルガイドライン遵守
- 追加情報
- https://wiki.qemu.org/Contribute/SubmitAPatch
- https://wiki.qemu.org/Contribute/TrivialPatches
- QEMUウェブサイト もソース管理下
git clone https://gitlab.com/qemu-project/qemu-web.git- https://www.qemu.org/2017/02/04/the-new-qemu-website-is-up/
- git-publish ユーティリティ推奨
- インストール: https://github.com/stefanha/git-publish
- ワークフロー
- 新規ブランチ作成:
git checkout master -b my-feature - コミット作成&'Signed-off-by'付与
git publishでパッチシリーズ送信(my-feature-v1タグ付与)- v2以降:同ブランチで修正後
git publish(v2タグ付与)
- 新規ブランチ作成:
バグ報告
- GitLab Issues でバグ管理
- https://gitlab.com/qemu-project/qemu/-/issues
- OSベンダー配布のバイナリ利用時は、まずベンダーのバグトラッカーへ報告推奨
- 最新upstreamにも影響がある場合はGitLabでも報告可
- 追加情報: https://wiki.qemu.org/Contribute/ReportABug
変更履歴・リリースノート
- バージョン履歴・リリースノート
- https://wiki.qemu.org/ChangeLog/
- 詳細はGIT履歴参照
コミュニティ・連絡先
- 主な連絡方法
- メール: qemu-devel@nongnu.org
- メーリングリスト: https://lists.nongnu.org/mailman/listinfo/qemu-devel
- IRC: #qemu(irc.oftc.net)
- 追加連絡方法・情報
- https://wiki.qemu.org/Contribute/StartHere