1 Punkte von GN⁺ 2025-06-13 | 1 Kommentare | Auf WhatsApp teilen
  • QEMU emuliert softwarebasiert Maschinen und Userspace für verschiedene Architekturen
  • Kürzlich wurde ein auf QEMU basierendes Emulationsprojekt für Apple Silicon und das iPhone 11 veröffentlicht
  • QEMU bietet hohe Performance durch dynamische Übersetzung und unterstützt die Integration mit Hypervisoren wie KVM und Xen
  • Es kann auf verschiedenen Systemen wie Linux, OS-X und Windows verwendet werden, und der Open-Source-Beitragsprozess ist gut etabliert
  • Dokumentation und Community-Support sind sehr aktiv, während Bug-Tracking und das Einreichen von Patches effizient verwaltet werden

Vorstellung des Open-Source-Projekts QEMU und des Apple-Silicon-Emulationsprojekts

QEMU ist ein universeller Open-Source-Emulator für Maschinen und Userspace sowie ein Virtualisierungstool. Ein Projekt zur Emulation von Apple Silicon und dem iPhone 11 wird auf Basis von QEMU umgesetzt und bietet im Vergleich zu anderen Virtualisierungslösungen verschiedene Vorteile wie Skalierbarkeit, Community-Support und architekturübergreifende Kompatibilität.

Überblick über QEMU

  • QEMU betreibt mit vollständiger Systememulation softwarebasiert verschiedene Maschinen auch ohne Hardwarevirtualisierung
  • Es steigert die Emulationsleistung durch dynamische Übersetzung (dynamic translation)
  • Durch die Integration mit Xen und KVM ist Hardware-Unterstützung auf Hypervisor-Ebene möglich
  • Durch direkte CPU-Emulation sind Portabilität und Tests von Betriebssystemen zwischen Geräten möglich (z. B. ARMv7 → x86_64-Umgebung)
  • Mit Userspace-API-Virtualisierung lassen sich Binärdateien direkt zwischen heterogenen Architekturumgebungen ausführen

Wichtige Einsatzgebiete und Merkmale

  • Nutzer können detaillierte Einstellungen und das Laufzeitverhalten direkt über Kommandozeilenoptionen steuern
  • Es wird auch zur Integration mit hochrangigen Open-Source-Management-Layern wie oVirt, OpenStack, virt-manager und libvirt genutzt
  • Es bietet eine stabile Kommandozeilenschnittstelle sowie eine Monitor-API
  • Der gesamte Quellcode wird unter der Lizenz GNU GPL v2 verteilt

Dokumentation

  • Die offizielle Dokumentation ist online auf der Website verfügbar (https://www.qemu.org/documentation/)
  • Die Dokumentation für die aktuelle Entwicklungsversion wird im Quellcode im Ordner docs/ gepflegt und mit dem Tool Sphinx erzeugt

Build-Umgebung

  • QEMU unterstützt plattformübergreifende Builds auf aktuellem Linux, OS-X, Win32 (Mingw64 toolchain) und anderen UNIX-Umgebungen
  • Der zentrale Build-Ablauf besteht aus den Schritten configure und make
  • Informationen zu Build-Methoden für die einzelnen Plattformen finden sich im QEMU-Wiki (https://wiki.qemu.org/Hosts/Linux usw.)

Leitfaden zum Einreichen von Patches

  • Der QEMU-Quellcode wird mit dem Versionsverwaltungssystem Git verwaltet
  • Zum Einreichen von Patches werden git format-patch und git send-email empfohlen
  • Jeder Patch muss zwingend eine Signed-off-by-Zeile enthalten und dem Entwickler-Styleguide folgen (https://www.qemu.org/docs/master/devel/style.html)
  • Mit dem Utility git-publish lassen sich wiederkehrende und umfangreiche Patch-Einreichungsprozesse vereinfachen
  • Zusammen mit der Verwaltung von Patch-Versionen (v1, v2) lassen sich Serien leicht nachverfolgen

Bug-Reporting

  • Offizielle Fehlermeldungen werden über den GitLab-Issue-Tracker abgewickelt (https://gitlab.com/qemu-project/qemu/-/issues)
  • Bei paketbasierten Distributionen wird empfohlen, Fehler zuerst im Tracker des jeweiligen OS-Anbieters zu melden
  • Im QEMU-Wiki finden sich zusätzliche Materialien, etwa zur Erstellung von Bug-Reports

Änderungshistorie

Kontakt zur Community

  • Es gibt verschiedene Community-Kanäle wie die Mailingliste (qemu-devel@nongnu.org) und IRC (#qemu, irc.oftc.net)
  • Weitere Informationen zur Community-Beteiligung und für Einsteiger sind im QEMU-Wiki verfügbar

Fazit

QEMU kann breit für die Emulation verschiedener Architekturen und Betriebssysteme, Virtualisierung sowie Entwicklungs-/Testautomatisierung eingesetzt werden, und auch Apple Silicon (einschließlich iPhone 11) ist Teil eines QEMU-Projekts. Zu den wichtigsten Vorteilen zählen die starke Dokumentation, der ausgereifte Beitragsprozess, aktives Bug-Management und guter Community-Support.

1 Kommentare

 
GN⁺ 2025-06-13
Hacker-News-Kommentare
  • Im Zusammenhang mit der Diskussion wurden der Hacker-News-Thread zum Upstream-Repository Link sowie „Emulating an iPhone in QEMU“ Link, das dieses Projekt erwähnt, geteilt

    • Ein Blick in den Issue-Tracker zeigt, dass es seitdem noch ziemlich viele Fortschritte gegeben hat
  • Dass es korrekt bootet und mindestens bis zum Springboard hochfährt, ist wirklich ein erstaunliches Leistungsniveau

  • Das ist Emulations-Hacking vom Feinsten, der wahre Endgegner. Glückwunsch an alle Mitwirkenden. Diese Leistung ist auch ein positives Signal für das Hackintosh-Projekt. Bis dahin ist es zwar noch ein weiter Weg, aber wenn ARM-PCs weit verbreitet sind, kann man sich durchaus Hoffnungen auf effiziente Emulation machen

    • ARM ist allerdings meiner Ansicht nach keine so offene Plattform wie der IBM PC. Nimmt man Android-Smartphones als Beispiel, gibt es dort viele angepasste Linux-Kernel und undokumentierte Komponenten, was der Offenheit und Zugänglichkeit klar schadet
  • Ich frage mich, ob auch TrollStore und die Entschlüsselung von IPAs unterstützt werden

    • Frage für Leute, die sich damit nicht auskennen: Kann jemand erklären, was das bedeutet?
    • Ich bin ebenfalls gekommen, um genau das zu fragen. Falls das unterstützt würde, wäre das wirklich eine Killerfunktion
  • Ich finde, es sollte zumindest versucht werden, einen Teil davon upstream einzubringen. Sonst besteht die Sorge, dass es wie frühere Versuche am Ende wieder verschwindet

  • Ich bin tief beeindruckt davon, dass ein iPhone 11 vollständig in QEMU gebootet wurde. Großes Lob an das Team von ChefKissInc und alle Mitwirkenden, die das bis hierher gebracht haben

  • Aus Sicht eines Einsteigers würde mich interessieren, ob man auf diese Weise iOS-Apps installieren kann

  • Es ist immer noch umständlich, dass die offizielle Dokumentation zur Nutzung von QEMU unter Windows, zu Optionen und Argumenten, so dürftig ist. Am Ende hilft man sich nur mit verstreuten Artikeln im Internet oder mit Beispielen aus der Linux-Welt weiter

    • Tatsächlich nutzen die meisten Leute, die mit QEMU experimentieren, wohl Unix-artige Systeme. Unter Windows gibt es mit VirtualBox, VMware, Hyper-V, WSL und anderen Lösungen bereits viele benutzerfreundliche Virtualisierungsalternativen, daher greift man dort meist nur in sehr speziellen Fällen zu QEMU
  • Ich frage mich, ob hier tatsächlich das komplette iOS emuliert wird oder ob nur iOS-Binärdateien ausgeführt werden. Und warum wurde ausgerechnet das iPhone 11 ausdrücklich genannt?

    • Vermutlich, weil es sich um Binärdateien für das iPhone 11 handelt
  • Wie gut läuft das klassische Mac-Betriebssystem unter Qemu m68k?

    • Die Qualität ist nicht besonders gut. Ich würde Mini vMac empfehlen
    • Es läuft aber. Technische Diskussionen zum Ausführen klassischer Macintosh-Systeme mit Qemu m68k sowie Informationen zum Betrieb von Mac OS 7–8 finden sich hier