1 pontos por GN⁺ 2025-06-13 | 1 comentários | Compartilhar no WhatsApp
  • QEMU emula por software máquinas e user space de várias arquiteturas
  • Recentemente, foi divulgado um projeto de emulação de Apple Silicon e iPhone 11 baseado em QEMU
  • O QEMU oferece bom desempenho com tradução dinâmica e suporte à integração com hipervisores como KVM e Xen
  • Pode ser usado em vários sistemas, como Linux, OS-X e Windows, e conta com um processo de contribuição open source bem estabelecido
  • O suporte de documentação e comunidade é ativo, com rastreamento de bugs e envio de patches gerenciados de forma eficiente

Introdução ao QEMU open source e ao projeto de emulação do Apple Silicon

O QEMU é um emulador open source de uso geral para máquinas e user space, além de uma ferramenta de virtualização. Um projeto para emulação de Apple Silicon e iPhone 11 está sendo desenvolvido com base no QEMU, oferecendo várias vantagens em relação a outras soluções de virtualização, como escalabilidade, suporte da comunidade e compatibilidade entre arquiteturas.

Visão geral do QEMU

  • O QEMU executa diversas máquinas por software, sem virtualização de hardware, por meio do recurso de emulação de sistema completo
  • Utiliza a tecnologia de tradução dinâmica (dynamic translation) para melhorar o desempenho da emulação
  • Com integração a Xen e KVM, pode oferecer suporte de hardware em nível de hipervisor
  • A emulação direta de CPU permite portabilidade e testes de sistemas operacionais entre dispositivos (ex.: ARMv7 → ambiente x86_64)
  • A virtualização de API em user space permite executar binários diretamente entre ambientes de arquiteturas heterogêneas

Principais usos e características

  • O usuário pode controlar diretamente configurações detalhadas e o modo de funcionamento por meio de opções de linha de comando
  • Também é usado para integração com camadas open source de gerenciamento de alto nível, como oVirt, OpenStack, virt-manager e libvirt
  • Fornece uma interface de linha de comando estável e API de monitor
  • Todo o código-fonte é distribuído sob a licença GNU GPL v2

Documentação

  • A documentação oficial é fornecida online no site (https://www.qemu.org/documentation/)
  • A documentação da versão de desenvolvimento mais recente é gerada a partir da pasta docs/ no código-fonte com a ferramenta Sphinx

Ambiente de build

  • O QEMU oferece suporte a build multiplataforma em Linux recente, OS-X, Win32 (toolchain Mingw64) e outros ambientes UNIX
  • O fluxo principal de build é composto pelas etapas configure e make
  • Os métodos de build para cada plataforma podem ser consultados no wiki do QEMU (https://wiki.qemu.org/Hosts/Linux etc.)

Guia para envio de patches

  • O código-fonte do QEMU é gerenciado com o sistema de controle de versão Git
  • Ao enviar patches, é recomendado usar git format-patch e git send-email
  • Todos os patches devem incluir obrigatoriamente a linha Signed-off-by e seguir o guia de estilo para desenvolvedores (https://www.qemu.org/docs/master/devel/style.html)
  • O utilitário git-publish pode simplificar procedimentos repetitivos e de grande volume para envio de patches
  • Também é possível rastrear facilmente séries de patches junto com o gerenciamento de versões por patch (v1, v2)

Relato de bugs

  • Há um canal oficial para reporte de bugs via issue tracker do GitLab (https://gitlab.com/qemu-project/qemu/-/issues)
  • Ao usar distribuições baseadas em pacotes, recomenda-se priorizar o reporte no rastreador do respectivo fornecedor do sistema operacional
  • O wiki do QEMU oferece materiais adicionais, como orientações sobre como escrever bug reports

Histórico de mudanças

Contatos da comunidade

  • São oferecidos diversos canais da comunidade, como mailing list (qemu-devel@nongnu.org) e IRC (#qemu, irc.oftc.net)
  • Informações adicionais sobre participação na comunidade e orientação para iniciantes podem ser consultadas no Wiki do QEMU

Conclusão

O QEMU pode ser amplamente utilizado para emulação de várias arquiteturas e sistemas operacionais, virtualização e automação de desenvolvimento/testes, e o Apple Silicon (como o iPhone 11) também faz parte do projeto QEMU. Seus principais pontos fortes são a documentação robusta, o processo de contribuição, a gestão ativa de bugs e o suporte da comunidade.

1 comentários

 
GN⁺ 2025-06-13
Comentários do Hacker News
  • Como discussão relacionada, foram compartilhados o thread do Hacker News sobre o repositório upstream link e o link de “Emulating an iPhone in QEMU”, que menciona este projeto

    • Pelo issue tracker, dá para ver que houve bastante progresso desde então
  • O fato de conseguir dar boot corretamente e pelo menos chegar até o Springboard é um feito realmente impressionante

  • Dá vontade de chamar isso de a melhor hackeada de emulação, um verdadeiro chefão final. Quero parabenizar todos os contribuidores. Essa conquista também é um sinal positivo para o projeto Hackintosh. Ainda há um longo caminho pela frente, mas se PCs ARM se tornarem amplamente difundidos, parece plausível esperar uma emulação eficiente de verdade

    • Mas não considero ARM uma plataforma tão aberta quanto o IBM PC. Pegando os celulares Android como exemplo, há muitos kernels Linux customizados e componentes não documentados, então a realidade é de pouca abertura e acessibilidade
  • Fiquei curioso se isso também suporta trollstore e a funcionalidade de descriptografar IPAs

    • Pergunta para quem não sabe: o que isso quer dizer? Peço uma explicação
    • Eu também vim para fazer a mesma pergunta. Se suportar, parece que seria um recurso realmente incrível
  • Acho que deveria haver pelo menos alguma tentativa de levar parte disso para o upstream. Caso contrário, existe a preocupação de que possa acabar desaparecendo como tentativas do passado

  • Fiquei profundamente impressionado por terem conseguido fazer o iPhone 11 dar boot por completo no QEMU. Meus elogios à equipe ChefKissInc e a todos os contribuidores que trouxeram isso até aqui

  • Como iniciante, tenho uma curiosidade: queria saber se é possível instalar apps de iOS dessa forma

  • Ainda é incômodo no ambiente Windows, porque a documentação oficial sobre como usar o qemu, suas opções e argumentos é fraca. Acabei resolvendo na marra consultando vários textos espalhados pela internet ou puxando exemplos baseados em Linux

    • Na verdade, acho que a maioria das pessoas que experimenta com qemu usa sistemas da família Unix. No Windows, já existem alternativas de virtualização mais amigáveis, como virtualbox, vmware, hyper-v e WSL, então usar qemu no Windows só costuma acontecer em situações realmente específicas
  • Fiquei na dúvida se isso é de fato uma emulação completa do iOS ou se apenas executa binários de iOS. E também por que especificaram justamente o iPhone 11

    • Provavelmente porque é um binário para iPhone 11
  • Pergunta sobre como o sistema operacional clássico do Mac roda no Qemu m68k

    • A qualidade não é tão boa. Recomendo o Mini vMac
    • Ainda assim funciona. É possível consultar aqui discussões técnicas sobre executar Macintosh clássico no Qemu m68k e informações sobre rodar o Mac OS 7-8