1 points par GN⁺ 2025-06-13 | 1 commentaires | Partager sur WhatsApp
  • QEMU émule par logiciel des machines de différentes architectures ainsi que l’espace utilisateur
  • Récemment, un projet d’émulation de Apple Silicon et de l’iPhone 11 basé sur QEMU a été rendu public
  • QEMU offre de bonnes performances grâce à la traduction dynamique et prend en charge l’intégration avec des hyperviseurs comme KVM et Xen
  • Il peut être utilisé sur plusieurs systèmes comme Linux, OS-X et Windows, et son processus de contribution open source est bien établi
  • Le support en documentation et en communauté est actif, avec une gestion efficace du suivi des bugs et de la soumission des correctifs

Présentation du projet open source QEMU et de l’émulation Apple Silicon

QEMU est un émulateur de machines et d’espace utilisateur open source à usage général, ainsi qu’un outil de virtualisation. Un projet d’émulation pour Apple Silicon et l’iPhone 11 est mené sur la base de QEMU, offrant divers avantages par rapport à d’autres solutions de virtualisation, notamment en matière d’extensibilité, de support communautaire et de compatibilité inter-architectures.

Vue d’ensemble de QEMU

  • QEMU exécute par logiciel différentes machines via sa fonctionnalité d’émulation système complète, sans nécessiter de virtualisation matérielle
  • Il améliore les performances d’émulation en utilisant la technologie de traduction dynamique (dynamic translation)
  • Son intégration avec Xen et KVM permet une prise en charge matérielle au niveau de l’hyperviseur
  • Grâce à l’émulation directe du CPU, il permet la portabilité des systèmes d’exploitation et les tests entre appareils (ex. : ARMv7 → environnement x86_64)
  • La virtualisation d’API en espace utilisateur permet l’exécution directe de binaires entre environnements d’architectures hétérogènes

Principaux usages et caractéristiques

  • Les utilisateurs peuvent contrôler en détail la configuration et le comportement via les options en ligne de commande
  • Il est aussi utilisé pour l’intégration avec des couches de gestion open source de haut niveau comme oVirt, OpenStack, virt-manager et libvirt
  • Il fournit une interface en ligne de commande stable ainsi qu’une API de moniteur
  • L’intégralité du code source est distribuée sous licence GNU GPL v2

Documentation

  • La documentation officielle est disponible en ligne sur le site web (https://www.qemu.org/documentation/)
  • La documentation de la dernière version de développement est générée à partir du dossier docs/ dans les sources avec l’outil Sphinx

Environnement de build

  • QEMU prend en charge le build multiplateforme sur les versions récentes de Linux, OS-X, Win32 (chaîne d’outils Mingw64) et d’autres environnements UNIX
  • Le flux principal de build se compose des étapes configure et make
  • Les méthodes de build propres à chaque plateforme sont consultables sur le wiki QEMU (https://wiki.qemu.org/Hosts/Linux, etc.)

Guide de soumission des correctifs

  • Le code source de QEMU est géré avec le système de gestion de versions Git
  • Pour soumettre des correctifs, l’usage de git format-patch et git send-email est recommandé
  • Tous les correctifs doivent impérativement inclure une ligne Signed-off-by et respecter le guide de style pour les développeurs (https://www.qemu.org/docs/master/devel/style.html)
  • L’utilitaire git-publish permet de simplifier les procédures répétitives et volumineuses de soumission de correctifs
  • Il facilite également le suivi des séries de correctifs, avec gestion des versions par correctif (v1, v2)

Signalement de bugs

  • Un système officiel de signalement de bugs est opéré via l’issue tracker GitLab (https://gitlab.com/qemu-project/qemu/-/issues)
  • En cas d’utilisation d’une distribution basée sur des paquets, il est recommandé de signaler d’abord le problème au tracker du fournisseur de l’OS concerné
  • Le wiki QEMU propose aussi des ressources complémentaires, notamment sur la rédaction de rapports de bugs

Historique des changements

Contacts de la communauté

  • Divers canaux communautaires sont proposés, comme la mailing list (qemu-devel@nongnu.org) et IRC (#qemu, irc.oftc.net)
  • Des informations supplémentaires sur la participation à la communauté et l’accompagnement des débutants sont disponibles sur le wiki QEMU

Conclusion

QEMU peut être largement utilisé pour l’émulation de diverses architectures et OS, la virtualisation, ainsi que l’automatisation du développement et des tests, et Apple Silicon (dont l’iPhone 11) fait également partie des projets QEMU. Parmi ses principaux atouts figurent une documentation solide, un processus de contribution robuste, une gestion active des bugs et un fort support communautaire.

1 commentaires

 
GN⁺ 2025-06-13
Avis Hacker News
  • Dans la discussion connexe, partage d’un fil Hacker News sur le dépôt upstream lien ainsi que de “Emulating an iPhone in QEMU” lien, qui mentionne ce projet

    • En regardant l’issue tracker, on peut constater qu’il y a eu pas mal de progrès depuis
  • Le fait que ça boote correctement et monte au moins jusqu’au Springboard est, à mon avis, un accomplissement à un niveau vraiment impressionnant

  • Le meilleur hack d’émulation, le véritable boss final. J’aimerais féliciter tous les contributeurs. Cette réussite est aussi un signal positif pour le projet Hackintosh. Il reste encore beaucoup de chemin à parcourir, mais si les PC ARM se généralisent, on peut vraiment envisager une émulation efficace

    • Cela dit, ARM n’est probablement pas une plateforme aussi ouverte que l’IBM PC. Si on prend les téléphones Android comme exemple, on voit la réalité d’un manque d’ouverture et d’accessibilité, avec des noyaux Linux personnalisés et de nombreux composants non documentés
  • Je me demande si ça prend aussi en charge trollstore et le déchiffrement des IPA

    • Question pour ceux qui ne connaissent pas bien : quelqu’un peut expliquer ce que cela signifie ?
    • Je suis venu poser exactement la même question. Si c’était pris en charge, ce serait une fonctionnalité vraiment énorme
  • Je pense qu’il faudrait essayer d’intégrer au moins une partie en upstream. Sinon, j’ai peur que ça finisse par disparaître comme les tentatives du passé

  • Je suis profondément impressionné par le fait d’avoir réussi à faire booter un iPhone 11 dans QEMU jusqu’au bout. Bravo à l’équipe de ChefKissInc et à tous les contributeurs qui ont permis d’en arriver là

  • Question de débutant : j’aimerais savoir s’il est possible d’installer des apps iOS de cette manière

  • Il reste encore le problème d’une documentation officielle insuffisante sur l’utilisation de qemu sous Windows, notamment pour les options et les arguments, ce qui est assez pénible. Au final, on s’en sort tant bien que mal en fouillant divers articles éparpillés sur internet ou en adaptant des exemples basés sur Linux

    • En réalité, je pense que la plupart des gens qui expérimentent avec qemu utilisent des systèmes de type Unix. Windows dispose déjà de nombreuses alternatives de virtualisation conviviales comme VirtualBox, VMware, Hyper-V ou WSL, donc utiliser qemu sous Windows relève plutôt de cas très particuliers
  • Je me demande s’il s’agit vraiment d’une émulation complète d’iOS, ou seulement de l’exécution de binaires iOS. Et pourquoi avoir spécifiquement choisi l’iPhone 11 ?

    • J’imagine que c’est parce qu’il s’agit d’un binaire pour iPhone 11
  • Question : comment se comporte le système classique de Mac sur Qemu m68k ?

    • La qualité n’est pas terrible. Je recommande Mini vMac
    • Cela dit, ça fonctionne. On peut consulter ici des discussions techniques sur l’exécution d’un Macintosh classique avec Qemu m68k ainsi que des informations sur Mac OS 7-8