1 puntos por GN⁺ 2025-06-13 | 1 comentarios | Compartir por WhatsApp
  • QEMU emula por software máquinas y espacio de usuario de diversas arquitecturas
  • Recientemente se publicó un proyecto de emulación de Apple Silicon y iPhone 11 basado en QEMU
  • QEMU ofrece buen rendimiento mediante traducción dinámica y soporte para integración con hipervisores como KVM y Xen
  • Puede usarse en múltiples sistemas como Linux, OS-X y Windows, y cuenta con un proceso de contribución open source bien establecido
  • Tiene soporte activo de documentación y comunidad, y el seguimiento de errores y envío de parches se gestionan de forma eficiente

Introducción a QEMU de código abierto y al proyecto de emulación de Apple Silicon

QEMU es un emulador de máquinas y espacio de usuario de propósito general y de código abierto, además de una herramienta de virtualización. Un proyecto para la emulación de Apple Silicon y iPhone 11 se está desarrollando sobre QEMU, lo que ofrece varias ventajas frente a otras soluciones de virtualización, como escalabilidad, soporte comunitario y compatibilidad entre arquitecturas.

Resumen de QEMU

  • QEMU ejecuta por software distintas máquinas mediante la función de emulación de sistema completo, sin necesidad de virtualización por hardware
  • Aprovecha la tecnología de traducción dinámica (dynamic translation) para mejorar el rendimiento de la emulación
  • Su integración con Xen y KVM permite soporte de hardware a nivel de hipervisor
  • La emulación directa de CPU permite portabilidad y pruebas de sistemas operativos entre dispositivos (ej.: entorno ARMv7 → x86_64)
  • La virtualización de API en espacio de usuario permite ejecutar binarios directamente entre entornos de arquitecturas heterogéneas

Usos principales y características

  • El usuario puede controlar directamente configuraciones detalladas y el comportamiento mediante opciones de línea de comandos
  • También se usa para integración con capas de administración open source de alto nivel como oVirt, OpenStack, virt-manager y libvirt
  • Proporciona una interfaz de línea de comandos estable y una API de monitor
  • Todo el código fuente se distribuye bajo la licencia GNU GPL v2

Documentación

  • La documentación oficial está disponible en línea en el sitio web (https://www.qemu.org/documentation/)
  • La documentación de la versión de desarrollo más reciente se genera con la herramienta Sphinx y la carpeta docs/ dentro del código fuente

Entorno de compilación

  • QEMU soporta compilación multiplataforma en Linux moderno, OS-X, Win32 (toolchain Mingw64) y otros entornos UNIX
  • El flujo principal de compilación consta de las etapas configure y make
  • Los métodos de compilación para cada plataforma pueden consultarse en la wiki de QEMU (https://wiki.qemu.org/Hosts/Linux, etc.)

Guía para envío de parches

  • El código fuente de QEMU se gestiona con el sistema de control de versiones Git
  • Para enviar parches se recomienda usar git format-patch y git send-email
  • Todos los parches deben incluir obligatoriamente una línea Signed-off-by y seguir la guía de estilo para desarrolladores (https://www.qemu.org/docs/master/devel/style.html)
  • La utilidad git-publish permite simplificar procedimientos repetitivos y de gran volumen al enviar parches
  • También facilita el seguimiento de series junto con la gestión de versiones por parche (v1, v2)

Reporte de errores

  • El reporte oficial de errores se gestiona mediante el issue tracker de GitLab (https://gitlab.com/qemu-project/qemu/-/issues)
  • Si se usa una distribución basada en paquetes, se recomienda reportarlo primero en el tracker del proveedor del sistema operativo correspondiente
  • En la wiki de QEMU hay materiales adicionales, como cómo redactar un bug report

Historial de cambios

Contacto con la comunidad

  • Se ofrecen diversos canales comunitarios como la lista de correo (qemu-devel@nongnu.org) e IRC (#qemu, irc.oftc.net)
  • Más información sobre participación en la comunidad, orientación para principiantes y otros temas puede consultarse en la wiki de QEMU

Conclusión

QEMU puede usarse ampliamente para emulación de diversas arquitecturas y sistemas operativos, virtualización y automatización de desarrollo/pruebas, y Apple Silicon (como iPhone 11) también forma parte del proyecto de QEMU. Sus principales ventajas son la sólida documentación, el proceso de contribución, la activa gestión de errores y el soporte de la comunidad.

1 comentarios

 
GN⁺ 2025-06-13
Comentarios de Hacker News
  • Como parte de la discusión relacionada, comparten el hilo de Hacker News sobre el repositorio upstream enlace y el enlace de “Emulating an iPhone in QEMU”, donde se menciona este proyecto

    • Al revisar el issue tracker, se puede ver que desde entonces ha habido bastantes avances
  • El hecho de que arranque correctamente y al menos llegue hasta SpringBoard me parece un logro realmente impresionante

  • Esto merece llamarse la mejor hazaña de hacking de emulación, el verdadero jefe final. Quiero felicitar a todos los contribuyentes. Este logro también es una señal positiva para el proyecto Hackintosh. Aún queda mucho camino por recorrer, pero si las PC ARM se popularizan, el ambiente da para pensar que una emulación eficiente podría volverse realmente viable

    • Pero ARM no me parece una plataforma tan abierta como IBM PC. Si tomamos como ejemplo los teléfonos Android, la realidad es que hay muchos kernels de Linux personalizados y componentes no documentados, así que falta apertura y accesibilidad
  • Me da curiosidad si también soporta trollstore y la función de descifrado de IPAs

    • Pregunta para quien no sepa del tema: ¿podrían explicar qué significa esto?
    • Yo también vine a hacer la misma pregunta. Si lo soportara, sería una función brutal
  • Creo que hace falta al menos intentar que una parte se integre upstream. De lo contrario, preocupa que al final desaparezca como intentos pasados

  • Me impresiona profundamente que hayan logrado arrancar un iPhone 11 en QEMU hasta el final. Mis respetos al equipo de ChefKissInc y a todos los que han contribuido para llegar hasta aquí

  • Desde la perspectiva de principiante, me da curiosidad saber si con este método se pueden instalar apps de iOS

  • Sigue siendo incómodo que en Windows la documentación oficial sobre cómo usar qemu, sus opciones y argumentos, sea insuficiente. Al final uno termina resolviéndolo a duras penas consultando distintos posts dispersos por internet o adaptando ejemplos basados en Linux

    • En realidad, creo que la mayoría de la gente que experimenta con qemu usa sistemas tipo Unix. En Windows ya hay muchas alternativas de virtualización más amigables, como VirtualBox, VMware, Hyper-V o WSL, así que usar qemu en Windows aplica solo en situaciones muy especiales
  • Me da curiosidad si esto es realmente una emulación completa de iOS, o si solo ejecuta binarios de iOS. Y también por qué se especifica justamente iPhone 11

    • Supongo que porque se trata de un binario para iPhone 11
  • Preguntan cómo corre el sistema operativo clásico de Mac en Qemu m68k

    • La calidad no es muy buena. Recomiendo Mini vMac
    • Aun así funciona. La discusión técnica sobre cómo ejecutar Macintosh clásico con Qemu m68k y la información sobre correr Mac OS 7-8 se pueden consultar aquí