QEMU es un emulador y virtualizador genérico y de código abierto y virtualizador.
QEMU es capaz de emular una máquina completa en el software sin necesidad de soporte de virtualización de hardware. Al usar la traducción dinámica, logra un muy buen rendimiento. QEMU también puede integrarse con los hipervisores XEN y KVM para proporcionar hardware emulado al tiempo que permite que el hipervisor administre la CPU. Con el soporte de hipervisor, QEMU puede lograr un rendimiento cercano a las CPU. Cuando QEMU emula CPU directamente, es capaz de ejecutar sistemas operativos hechos para una máquina (por ejemplo, una placa ARMV7) en una máquina diferente (por ejemplo, una placa de PC x86_64).
QEMU también es capaz de proporcionar la virtualización de la API del espacio de usuario para las interfaces de kernel de Linux y BSD. Esto permite que los binarios compilados contra una arquitectura ABI (por ejemplo, el Linux PPC64 ABI) se ejecute en un host utilizando una arquitectura diferente ABI (por ejemplo, el Linux x86_64 ABI). Esto no implica ninguna emulación de hardware, simplemente CPU y emulación de Syscall.
QEMU tiene como objetivo encajar en una variedad de casos de uso. Los usuarios que deseen tener un control total sobre su comportamiento y configuración pueden invocar directamente sobre su comportamiento y configuración. También tiene como objetivo facilitar la integración en capas de gestión de niveles superiores, proporcionando una interfaz de línea de comandos estable y monitor de API. Se invoca comúnmente indirectamente a través de la biblioteca Libvirt cuando se usa aplicaciones de código abierto como Ovirt, OpenStack y Virt-Manager.
QEMU en su conjunto se publica bajo la Licencia Pública General de GNU, versión 2. Para obtener detalles completos de licencias, consulte el archivo de licencia.
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 desde la carpeta docs/ en el árbol de origen, y está construido por Sphinx.
QEMU es un software multiplataforma destinado a ser construido en todas las plataformas modernas de Linux, OS-X, Win32 (a través de la cadena de herramientas MingW64) y una variedad de otros objetivos UNIX. Los simples pasos para construir qemu son:
mkdir build
cd build
../configure
makeTambién se puede encontrar información adicional en línea a través del sitio web de QEMU:
El código fuente de QEMU se mantiene en el sistema de control de versiones GIT.
git clone https://gitlab.com/qemu-project/qemu.gitAl enviar parches, un enfoque común es utilizar 'Git Format-Patch' y/o 'Git Send-Email' para formatear y enviar el correo a la lista de correo de [email protected]. Todos los parches enviados deben contener una línea 'firmada por' 'del autor. Los parches deben seguir las pautas establecidas en la sección de estilo de la Guía de desarrolladores.
Se puede encontrar información adicional sobre la envío de parches en línea a través del sitio web de QEMU:
El sitio web de QEMU también se mantiene bajo el control de la fuente.
git clone https://gitlab.com/qemu-project/qemu-web.gitSe creó una utilidad 'Git Publish' para hacer que el proceso fuera menos engorroso, y es muy recomendable para hacer contribuciones regulares, o incluso solo para enviar revisiones consecutivas de la serie de parches. También requiere una configuración de 'git send-emil' que funcione, y de manera predeterminada no automatiza todo, por lo que es posible que desee pasar por los pasos anteriores manualmente por una vez.
Para las instrucciones de instalación, vaya a:
El flujo de trabajo con 'Git Publish' es:
$ git checkout master -b my-feature
$ # work on new commits, add your 'Signed-off-by' lines to each
$ git publishSu serie de parches se enviará y etiquetará como My-Feature-V1 si necesita consultarla en el futuro.
Enviando V2:
$ git checkout my-feature # same topic branch
$ # making changes to the commits (using 'git rebase', for example)
$ git publishSu serie de parches se enviará con la etiqueta 'V2' en el sujeto y la punta GIT se etiquetará como My-Feature-V2.
El proyecto QEMU utiliza problemas de GitLab para rastrear errores. Los errores encontrados al ejecutar el código creado a partir de fuentes de lanzamiento de QEMU GIT o Upstream se deben informar a través de:
Si se usa QEMU a través de un paquete binario previamente preparado del proveedor del sistema operativo, es preferible informar primero los errores al rastreador de errores del proveedor. Si también se sabe que el error afecta el último código aguas arriba, también se puede informar a través de GitLab.
Para obtener información adicional sobre la consulta de informes de errores:
Para el historial de versiones y las notas de lanzamiento, visite https://wiki.qemu.org/changelog/ o mire el historial de GIT para obtener información más detallada.
Se puede contactar a la comunidad QEMU de varias maneras, con los dos métodos principales que son correo electrónico e IRC:
La información sobre métodos adicionales para contactar a la comunidad se puede encontrar en línea a través del sitio web de QEMU: