
qemu v11.1.0
Espejo oficial de QEMU. Consulte https://www.qemu.org/contribute/ para saber cómo enviar cambios a QEMU. Las solicitudes de extracción están deshabilitadas. Utilice únicamente los tarballs de lanzamiento del sitio web de QEMU.
QEMU LÉEME
QEMU es un emulador y virtualizador de máquinas y espacio de usuario genérico y de código abierto.
QEMU es capaz de emular una máquina completa mediante software sin necesidad de soporte de virtualización por hardware. Mediante el uso de traducción dinámica, alcanza un rendimiento muy bueno. QEMU también puede integrarse con los hipervisores Xen y KVM para proporcionar hardware emulado mientras permite que el hipervisor gestione la CPU. Con soporte de hipervisor, QEMU puede lograr un rendimiento casi nativo para las CPU. Cuando QEMU emula CPUs directamente, es capaz de ejecutar sistemas operativos diseñados para una máquina (p. ej., una placa ARMv7) en una máquina diferente (p. ej., una placa PC x86_64).
QEMU también es capaz de proporcionar virtualización de API de espacio de usuario para interfaces de kernel de Linux y BSD. Esto permite que binarios compilados para una ABI de una arquitectura (p. ej., la ABI Linux PPC64) se ejecuten en un host que utilice una ABI de arquitectura diferente (p. ej., la ABI Linux x86_64). Esto no implica ninguna emulación de hardware, simplemente emulación de CPU y llamadas al sistema.
QEMU aspira a adaptarse a una variedad de casos de uso. Puede ser invocado directamente por usuarios que deseen tener control total sobre su comportamiento y configuración. También aspira a facilitar la integración en capas de gestión de nivel superior, proporcionando una interfaz de línea de comandos estable y una API de monitor. Comúnmente se invoca indirectamente a través de la biblioteca libvirt cuando se utilizan aplicaciones de código abierto como oVirt, OpenStack y virt-manager.
QEMU en su totalidad se publica bajo la Licencia Pública General GNU, versión 2. Para obtener detalles completos sobre la licencia, consulte el archivo LICENSE.
Documentación
La documentación se puede encontrar alojada en línea en
<https://www.qemu.org/documentation/>. La documentación para la versión de desarrollo actual que está disponible en
<https://www.qemu.org/docs/master/> se genera a partir de la carpeta docs/ en el árbol de fuentes, y es construida por Sphinx <https://www.sphinx-doc.org/en/master/>_.
Construcción
QEMU es un software multiplataforma diseñado para poder compilarse en todas las plataformas Linux modernas, OS-X, Win32 (a través de la cadena de herramientas Mingw64) y una variedad de otros destinos UNIX. Los pasos simples para compilar QEMU son:
.. code-block:: shell
mkdir build cd build ../configure make
También se puede encontrar información adicional en línea a través del sitio web de QEMU:
<https://wiki.qemu.org/Hosts/Linux>_<https://wiki.qemu.org/Hosts/Mac>_<https://wiki.qemu.org/Hosts/W32>_
Envío de parches
El código fuente de QEMU se mantiene bajo el sistema de control de versiones GIT.
.. code-block:: shell
git clone https://gitlab.com/qemu-project/qemu.git
Al enviar parches, un enfoque común es usar 'git format-patch' y/o 'git send-email' para formatear y enviar el correo a la lista de correo [email protected]. Todos los parches enviados deben contener una línea 'Signed-off-by' del autor. Los parches deben seguir las pautas establecidas en la sección de estilo <https://www.qemu.org/docs/master/devel/style.html>_ de la Guía de Desarrolladores.
Se puede encontrar información adicional sobre el envío de parches en línea a través del sitio web de QEMU:
<https://wiki.qemu.org/Contribute/SubmitAPatch>_<https://wiki.qemu.org/Contribute/TrivialPatches>_
El sitio web de QEMU también se mantiene bajo control de fuentes.
.. 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/>_
Se creó una utilidad 'git-publish' para hacer que el proceso anterior sea menos engorroso, y se recomienda encarecidamente para realizar contribuciones regulares, o incluso solo para enviar revisiones consecutivas de series de parches. También requiere una configuración funcional de 'git send-email', y por defecto no automatiza todo, por lo que es posible que desee realizar los pasos anteriores manualmente una vez.
Para instrucciones de instalación, visite:
<https://github.com/stefanha/git-publish>_
El flujo de trabajo con 'git-publish' es:
.. code-block:: shell
$ git checkout master -b my-feature $ # work on new commits, add your 'Signed-off-by' lines to each $ git publish
Su serie de parches será enviada y etiquetada como my-feature-v1 si necesita hacer referencia a ella en el futuro.
Envío de v2:
.. code-block:: shell
$ git checkout my-feature # same topic branch $ # making changes to the commits (using 'git rebase', for example) $ git publish
Su serie de parches será enviada con la etiqueta 'v2' en el asunto y la punta de git será etiquetada como my-feature-v2.
Reporte de errores
El proyecto QEMU utiliza issues de GitLab para rastrear errores. Los errores encontrados al ejecutar código compilado desde git de QEMU o fuentes publicadas oficialmente deben ser reportados a través de:
<https://gitlab.com/qemu-project/qemu/-/issues>_
Si se usa QEMU a través de un paquete binario precompilado por el proveedor del sistema operativo, es preferible reportar errores primero al propio rastreador de errores del proveedor. Si también se sabe que el error afecta al código oficial más reciente, también se puede reportar a través de GitLab.
Para obtener información adicional sobre el reporte de errores, consulte:
<https://wiki.qemu.org/Contribute/ReportABug>_
Registro de cambios
Para el historial de versiones y notas de la versión, visite
<https://wiki.qemu.org/ChangeLog/>_ o consulte el historial de git para obtener información más detallada.
Contacto
Se puede contactar a la comunidad de QEMU de varias maneras, siendo los dos métodos principales el correo electrónico e IRC:
<mailto:[email protected]>_<https://lists.nongnu.org/mailman/listinfo/qemu-devel>_- #qemu en irc.oftc.net
Se puede encontrar información sobre métodos adicionales para contactar a la comunidad en línea a través del sitio web de QEMU:
<https://wiki.qemu.org/Contribute/StartHere>_