
qemu v11.1.0
Официальное зеркало QEMU. Инструкции по отправке изменений в QEMU см. на https://www.qemu.org/contribute/. Pull Requests отключены. Пожалуйста, используйте только архивы релизов с сайта QEMU.
QEMU README
QEMU — это универсальный открытый эмулятор и виртуализатор машин и пользовательского пространства.
QEMU способен эмулировать полную машину программно без необходимости в поддержке аппаратной виртуализации. Благодаря динамической трансляции он достигает очень хорошей производительности. QEMU также может интегрироваться с гипервизорами Xen и KVM, предоставляя эмулированное оборудование, позволяя гипервизору управлять процессором. С поддержкой гипервизора QEMU может достичь производительности, близкой к нативной для ЦП. Когда QEMU напрямую эмулирует ЦП, он способен запускать операционные системы, созданные для одной машины (например, платы ARMv7), на другой машине (например, на плате x86_64 ПК).
QEMU также способен предоставлять виртуализацию API пользовательского пространства для интерфейсов ядра Linux и BSD. Это позволяет запускать двоичные файлы, скомпилированные для ABI одной архитектуры (например, Linux PPC64 ABI), на хосте, использующем ABI другой архитектуры (например, Linux x86_64 ABI). Это не включает аппаратную эмуляцию, только эмуляцию ЦП и системных вызовов.
QEMU стремится вписаться в различные варианты использования. Он может быть вызван непосредственно пользователями, желающими иметь полный контроль над его поведением и настройками. Он также стремится облегчить интеграцию в слои управления более высокого уровня, предоставляя стабильный интерфейс командной строки и API монитора. Обычно он вызывается косвенно через библиотеку libvirt при использовании открытых приложений, таких как oVirt, OpenStack и virt-manager.
QEMU в целом распространяется под лицензией GNU General Public License версии 2. Полные сведения о лицензировании см. в файле LICENSE.
Документация
Документацию можно найти онлайн по адресу
<https://www.qemu.org/documentation/>. Документация для
текущей версии разработки, доступная по адресу
<https://www.qemu.org/docs/master/>, генерируется из папки docs/
в дереве исходников и создается с помощью Sphinx <https://www.sphinx-doc.org/en/master/>_.
Сборка
QEMU — это кроссплатформенное программное обеспечение, предназначенное для сборки на всех современных платформах Linux, OS-X, Win32 (через инструментарий Mingw64) и на различных других UNIX-целях. Простые шаги для сборки QEMU:
.. code-block:: shell
mkdir build cd build ../configure make
Дополнительную информацию также можно найти онлайн на сайте QEMU:
<https://wiki.qemu.org/Hosts/Linux>_<https://wiki.qemu.org/Hosts/Mac>_<https://wiki.qemu.org/Hosts/W32>_
Отправка патчей
Исходный код QEMU поддерживается в системе контроля версий GIT.
.. code-block:: shell
git clone https://gitlab.com/qemu-project/qemu.git
При отправке патчей одним из распространенных подходов является использование 'git
format-patch' и/или 'git send-email' для форматирования & отправки письма в
список рассылки [email protected]. Все отправленные патчи должны содержать
строку 'Signed-off-by' от автора. Патчи должны следовать руководящим принципам,
изложенным в разделе о стиле <https://www.qemu.org/docs/master/devel/style.html>_ из
Руководства разработчика.
Дополнительную информацию об отправке патчей можно найти онлайн на сайте QEMU:
<https://wiki.qemu.org/Contribute/SubmitAPatch>_<https://wiki.qemu.org/Contribute/TrivialPatches>_
Веб-сайт QEMU также поддерживается под контролем версий.
.. code-block:: shell
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' была создана, чтобы сделать вышеуказанный процесс менее обременительным, и настоятельно рекомендуется для регулярных взносов, или даже просто для отправки последовательных версий серий патчей. Она также требует работающей настройки 'git send-email', и по умолчанию не автоматизирует все, так что вы, возможно, захотите пройти указанные выше шаги вручную хотя бы раз.
Инструкции по установке можно найти по адресу:
<https://github.com/stefanha/git-publish>_
Рабочий процесс с 'git-publish' выглядит так:
.. code-block:: shell
$ git checkout master -b my-feature $ # work on new commits, add your 'Signed-off-by' lines to each $ git publish
Ваша серия патчей будет отправлена и помечена как my-feature-v1, если вам потребуется сослаться на нее в будущем.
Отправка v2:
.. code-block:: shell
$ 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 или выпущенных исходников, следует сообщать через:
<https://gitlab.com/qemu-project/qemu/-/issues>_
При использовании QEMU через предварительно собранный двоичный пакет от поставщика операционной системы предпочтительно сначала сообщать об ошибках в собственный трекер ошибок поставщика. Если известно, что ошибка также затрагивает последний код upstream, о ней также можно сообщить через GitLab.
За дополнительной информацией о сообщении об ошибках обращайтесь:
<https://wiki.qemu.org/Contribute/ReportABug>_
Журнал изменений
Историю версий и примечания к выпускам можно найти на
<https://wiki.qemu.org/ChangeLog/>_ или просмотреть историю git
для получения более подробной информации.
Контакты
С сообществом QEMU можно связаться несколькими способами, причем двумя основными методами являются электронная почта и IRC:
<mailto:[email protected]>_<https://lists.nongnu.org/mailman/listinfo/qemu-devel>_- #qemu на irc.oftc.net
Информацию о дополнительных способах связи с сообществом можно найти онлайн на сайте QEMU:
<https://wiki.qemu.org/Contribute/StartHere>_