
qemu v11.1.0
Espelho oficial do QEMU. Por favor, veja https://www.qemu.org/contribute/ para saber como enviar alterações ao QEMU. Pull Requests estão desativados. Por favor, use apenas os tarballs de lançamento do site do QEMU.
=========== README do QEMU
O QEMU é um emulador e virtualizador de máquina e espaço de usuário genérico e de código aberto.
O QEMU é capaz de emular uma máquina completa em software sem necessidade de suporte de virtualização de hardware. Usando tradução dinâmica, ele alcança um desempenho muito bom. O QEMU também pode integrar-se com os hipervisores Xen e KVM para fornecer hardware emulado enquanto permite que o hipervisor gerencie a CPU. Com suporte a hipervisor, o QEMU pode alcançar desempenho próximo ao nativo para CPUs. Quando o QEMU emula CPUs diretamente, ele é capaz de executar sistemas operacionais feitos para uma máquina (por exemplo, uma placa ARMv7) em uma máquina diferente (por exemplo, uma placa PC x86_64).
O QEMU também é capaz de fornecer virtualização da API do espaço de usuário para interfaces de kernel Linux e BSD. Isso permite que binários compilados para uma ABI de arquitetura (por exemplo, a ABI Linux PPC64) sejam executados em um host usando uma ABI de arquitetura diferente (por exemplo, a ABI Linux x86_64). Isso não envolve nenhuma emulação de hardware, apenas emulação de CPU e chamadas de sistema.
O QEMU visa se adequar a uma variedade de casos de uso. Ele pode ser invocado diretamente por usuários que desejam ter controle total sobre seu comportamento e configurações. Ele também visa facilitar a integração em camadas de gerenciamento de nível superior, fornecendo uma interface de linha de comando estável e uma API de monitor. Ele é comumente invocado indiretamente por meio da biblioteca libvirt ao usar aplicativos de código aberto como oVirt, OpenStack e virt-manager.
O QEMU como um todo é lançado sob a GNU General Public License, versão 2. Para detalhes completos de licenciamento, consulte o arquivo LICENSE.
Documentação
A documentação pode ser encontrada online em <https://www.qemu.org/documentation/>. A documentação da versão de desenvolvimento atual disponível em <https://www.qemu.org/docs/master/> é gerada a partir da pasta docs/ na árvore de origem e é construída por Sphinx <https://www.sphinx-doc.org/en/master/>_.
Compilação
O QEMU é um software multiplataforma destinado a ser compilável em todas as plataformas Linux modernas, OS-X, Win32 (via o toolchain Mingw64) e uma variedade de outros alvos UNIX. As etapas simples para compilar o QEMU são:
.. code-block:: shell
mkdir build cd build ../configure make
Informações adicionais também podem ser encontradas online através do site do QEMU:
<https://wiki.qemu.org/Hosts/Linux>_<https://wiki.qemu.org/Hosts/Mac>_<https://wiki.qemu.org/Hosts/W32>_
Envio de patches
O código fonte do QEMU é mantido sob o sistema de controle de versão GIT.
.. code-block:: shell
git clone https://gitlab.com/qemu-project/qemu.git
Ao enviar patches, uma abordagem comum é usar 'git format-patch' e/ou 'git send-email' para formatar e enviar o e-mail para a lista de discussão [email protected]. Todos os patches enviados devem conter uma linha 'Signed-off-by' do autor. Os patches devem seguir as diretrizes estabelecidas na seção de estilo <https://www.qemu.org/docs/master/devel/style.html>_ do Guia do Desenvolvedor.
Informações adicionais sobre o envio de patches podem ser encontradas online através do site do QEMU:
<https://wiki.qemu.org/Contribute/SubmitAPatch>_<https://wiki.qemu.org/Contribute/TrivialPatches>_
O site do QEMU também é mantido sob controle de fonte.
.. 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/>_
Um utilitário 'git-publish' foi criado para tornar o processo acima menos complicado, e é altamente recomendado para fazer contribuições regulares, ou apenas para enviar revisões consecutivas de séries de patches. Ele também requer uma configuração de 'git send-email' funcionando, e por padrão não automatiza tudo, então você pode querer seguir as etapas acima manualmente pelo menos uma vez.
Para instruções de instalação, acesse:
<https://github.com/stefanha/git-publish>_
O fluxo de trabalho com '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
Sua série de patches será enviada e marcada como my-feature-v1 se você precisar consultá-la no futuro.
Enviando v2:
.. code-block:: shell
$ git checkout my-feature # same topic branch $ # making changes to the commits (using 'git rebase', for example) $ git publish
Sua série de patches será enviada com a tag 'v2' no assunto e a ponta do git será marcada como my-feature-v2.
Relato de bugs
O projeto QEMU usa issues do GitLab para rastrear bugs. Bugs encontrados ao executar código compilado a partir do git do QEMU ou fontes lançadas upstream devem ser reportados através de:
<https://gitlab.com/qemu-project/qemu/-/issues>_
Se estiver usando o QEMU através de um pacote binário pré-compilado fornecido pelo fornecedor do sistema operacional, é preferível relatar bugs primeiro ao rastreador de bugs do próprio fornecedor. Se o bug também for conhecido por afetar o código upstream mais recente, ele também pode ser reportado via GitLab.
Para informações adicionais sobre relato de bugs, consulte:
<https://wiki.qemu.org/Contribute/ReportABug>_
ChangeLog
Para histórico de versões e notas de lançamento, visite <https://wiki.qemu.org/ChangeLog/>_ ou veja o histórico do git para informações mais detalhadas.
Contato
A comunidade do QEMU pode ser contatada de várias maneiras, sendo os dois métodos principais e-mail e IRC:
<mailto:[email protected]>_<https://lists.nongnu.org/mailman/listinfo/qemu-devel>_- #qemu on irc.oftc.net
Informações sobre métodos adicionais de contato com a comunidade podem ser encontradas online através do site do QEMU:
<https://wiki.qemu.org/Contribute/StartHere>_