QEMU是一種通用的開源機器和用戶空間模擬器和虛擬機。
QEMU能夠在軟件中模擬完整的機器,而無需硬件虛擬化支持。通過使用動態翻譯,它可以實現非常好的性能。 QEMU還可以與XEN和KVM管理程序集成,以提供仿真的硬件,同時允許管理程序管理CPU。借助管理程序支持,QEMU可以實現CPU的接近天然性能。當Qemu直接模擬CPU時,它可以在另一台機器(例如X86_64 PC板)上運行為一台機器製造的操作系統(例如ARMV7板)。
QEMU還能夠為Linux和BSD內核接口提供用戶空間API虛擬化。這允許使用不同的架構ABI(例如Linux X86_64 ABI)在主機上運行二進制ABI(例如Linux PPC64 ABI)編譯的二進製文件。這不涉及任何硬件仿真,而只是CPU和SYSCALL仿真。
QEMU旨在適合各種用例。希望完全控制其行為和設置的用戶可以直接調用它。它還旨在通過提供穩定的命令線接口和監視API來促進集成到更高級別的管理層中。當使用Ovirt,OpenStack和Virt-Manager等開源應用程序時,通常通過Libvirt庫間接調用它。
QEMU整體是根據GNU通用公共許可證(版本2)發布的。有關完整許可詳細信息,請諮詢許可證文件。
可以在https://www.qemu.org/documentation/上在線託管文檔。當前開發版本的文檔可從https://www.qemu.org/docs/master/提供從源樹中的docs/
文件夾生成,並且由sphinx構建。
QEMU是多平台軟件,旨在在所有現代Linux平台,OS-X,Win32(通過MINGW64工具鏈)和各種其他UNIX目標上構建。構建QEMU的簡單步驟是:
mkdir build
cd build
../configure
make
還可以通過QEMU網站在線找到其他信息:
QEMU源代碼在GIT版本控制系統下維護。
git clone https://gitlab.com/qemu-project/qemu.git
提交補丁時,一種常見的方法是使用“ git格式 - 點”和/或“ git send-email”進行格式,並將郵件發送到[email protected]郵件列表。提交的所有補丁必須包含作者的“簽名”線。補丁應遵循開發人員指南樣式部分中規定的準則。
有關提交補丁的其他信息,請訪問QEMU網站在線找到:
QEMU網站還維護在源控制下。
git clone https://gitlab.com/qemu-project/qemu-web.git
創建了一個“ git-publish”實用程序,以使上述過程不那麼麻煩,強烈建議您進行定期貢獻,甚至僅用於發送連續的補丁程序修訂版。它還需要一個工作的“ git send-email”設置,默認情況下並不能自動化所有內容,因此您可能需要一次手動瀏覽以上步驟。
有關安裝說明,請轉到:
“ git-publish”的工作流程是:
$ git checkout master -b my-feature
$ # work on new commits, add your 'Signed-off-by' lines to each
$ git publish
如果您將來需要參考,則您的補丁程序系列將被發送並標記為My-Feature-V1。
發送V2:
$ git checkout my-feature # same topic branch
$ # making changes to the commits (using 'git rebase', for example)
$ git publish
您的補丁程序系列將在主題中以“ V2”標籤發送,並且GIT提示將標記為My-feature-V2。
QEMU項目使用GitLab問題來跟踪錯誤。在運行從QEMU GIT或上游發布的構建代碼時發現的錯誤應通過以下方式報告:
如果通過操作系統供應商預先構建的二進制軟件包使用QEMU,則最好先向供應商自己的錯誤跟踪器報告錯誤。如果已知該錯誤也會影響最新的上游代碼,則也可以通過GitLab進行報告。
有關錯誤報告的更多信息,請參閱:
有關版本的歷史記錄和發行說明,請訪問https://wiki.qemu.org/changelog/或查看GIT歷史記錄以獲取更多詳細信息。
可以通過多種方式與QEMU社區聯繫,兩種主要方法是電子郵件和IRC:
有關與社區聯繫的其他方法的信息,可以通過QEMU網站在線找到: