Diese README.md
dokumentiert den Prozess der Erstellung eines Virtual Hackintosh
Systems.
Hinweis: Alle in diesem Repository enthaltenen Blobs und Ressourcen können erneut abgeleitet werden (alle Anweisungen sind enthalten!).
Suchen Sie kommerzielle Unterstützung bei diesem Thema? Ich stehe per E-Mail nur für einen Chat zu kommerziellen Supportoptionen zur Verfügung. Hinweis: Projektsponsoren erhalten Zugriff auf das Private OSX-KVM
Repository und direkten Support.
Haben Sie Probleme mit Content Caching
? Wir können helfen.
Arbeiten Sie mit Proxmox
und macOS? Schauen Sie sich auf jeden Fall Nicks Blog an.
Ja, wir unterstützen jetzt Offline-MacOS-Installationen – siehe dieses Dokument?
Dieses Projekt kann immer Ihre Hilfe, Zeit und Aufmerksamkeit gebrauchen. Ich suche Hilfe (Pull-Requests!) bei folgenden Workitems:
Dokumentation zur Ausführung von macOS bei beliebten Cloud-Anbietern (Hetzner, GCP, AWS). Siehe „ Is This Legal?
Abschnitt und zugehörige Referenzen.
Dokumentieren (teilen) Sie, wie Sie dieses Projekt verwenden, um Open-Source-Projekte zu erstellen und zu testen / Ihre Aufgaben zu erledigen.
Dokumentieren Sie, wie Sie dieses Projekt für das Debuggen und die Entwicklung des XNU-Kernels verwenden.
Dokumentieren Sie den Prozess zum Starten einer Reihe kopfloser macOS-VMs (Build-Farm).
Dokumentieren Sie die Verwendung von Munki zum Bereitstellen von Software in einer solchen build farm
.
Aktivieren Sie die VNC- und SSH-Unterstützung sofort oder einfacher.
Robustheitsverbesserungen sind immer willkommen!
(Nicht so) verrückte Idee – die macOS-Installation über OpenCV automatisieren.
Eine moderne Linux-Distribution. ZB Ubuntu 24.04 LTS 64-Bit oder höher.
QEMU >= 8.2.2
Eine CPU mit Intel VT-x / AMD SVM-Unterstützung ist erforderlich ( grep -e vmx -e svm /proc/cpuinfo
)
Für >= macOS Sierra ist eine CPU mit SSE4.1-Unterstützung erforderlich
Für >= macOS Ventura ist eine CPU mit AVX2-Unterstützung erforderlich
Hinweis: Ältere AMD-CPUs sind bekanntermaßen problematisch, aber moderne AMD Ryzen-Prozessoren funktionieren einwandfrei (sogar für macOS Sonoma).
Installieren Sie QEMU und andere Pakete.
sudo apt-get install qemu-system uml-utilities virt-manager git
wget libguestfs-tools p7zip-full make dmg2img tesseract-ocr
tesseract-ocr-eng genisoimage vim net-tools screen -y
Dieser Schritt muss möglicherweise für Ihre Linux-Distribution angepasst werden.
Klonen Sie dieses Repository auf Ihrem QEMU-System. Dateien aus diesem Repository werden in den folgenden Schritten verwendet.
cd ~
git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.git
cd OSX-KVM
Repository-Updates können über den folgenden Befehl abgerufen werden:
git pull --rebase
Dieses Repository verwendet stark Rebase-basierte Workflows.
Damit KVM funktioniert, ist möglicherweise die folgende Anpassung auf dem Hostcomputer erforderlich.
sudo modprobe kvm; echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs
Um diese Änderung dauerhaft zu machen, können Sie den folgenden Befehl verwenden.
sudo cp kvm.conf /etc/modprobe.d/kvm.conf # for intel boxes only
sudo cp kvm_amd.conf /etc/modprobe.d/kvm.conf # for amd boxes only
Benutzer zu den Gruppen kvm
und libvirt
hinzufügen (möglicherweise erforderlich).
sudo usermod -aG kvm $(whoami)
sudo usermod -aG libvirt $(whoami)
sudo usermod -aG input $(whoami)
Hinweis: Melden Sie sich nach der Ausführung dieses Befehls erneut an.
Holen Sie sich das macOS-Installationsprogramm.
./fetch-macOS-v2.py
Hier können Sie Ihre gewünschte macOS-Version auswählen. Nachdem Sie diesen Schritt ausgeführt haben, sollte sich die Datei BaseSystem.dmg
im aktuellen Ordner befinden.
ACHTUNG: Lassen Sie >= Big Sur
-Setup eine Weile auf dem Country Selection
und anderen ähnlichen Orten stehen, wenn die Dinge langsam laufen. Der anfängliche macOS-Setup-Assistent wird irgendwann erfolgreich sein.
Beispiellauf:
$ ./fetch-macOS-v2.py
1. High Sierra (10.13)
2. Mojave (10.14)
3. Catalina (10.15)
4. Big Sur (11.7)
5. Monterey (12.6)
6. Ventura (13) - RECOMMENDED
7. Sonoma (14)
8. Sequoia (15)
Choose a product to download (1-8): 6
Hinweis: Moderne NVIDIA-GPUs werden auf HighSierra unterstützt, jedoch nicht auf späteren Versionen von macOS.
Konvertieren Sie die heruntergeladene BaseSystem.dmg
Datei in die BaseSystem.img
Datei.
dmg2img -i BaseSystem.dmg BaseSystem.img
Erstellen Sie ein virtuelles Festplatten-Image, auf dem macOS installiert wird. Wenn Sie den Namen des Disk-Images von mac_hdd_ng.img
in einen anderen Namen ändern, müssen die Boot-Skripte aktualisiert werden, damit sie auf den neuen Image-Namen verweisen.
qemu-img create -f qcow2 mac_hdd_ng.img 256G
HINWEIS: Um optimale Ergebnisse zu erzielen, erstellen Sie diese HDD-Image-Datei auf einer schnellen SSD/NVMe-Festplatte.
Jetzt können Sie macOS installieren
CLI-Methode (primär). Führen Sie einfach das Skript OpenCore-Boot.sh
aus, um den Installationsvorgang zu starten.
./OpenCore-Boot.sh
Hinweis: Dasselbe Skript funktioniert für alle neueren macOS-Versionen.
Verwenden Sie das Disk Utility
Dienstprogramm im macOS-Installationsprogramm, um die an die macOS-VM angeschlossene virtuelle Festplatte zu partitionieren und zu formatieren. Verwenden Sie APFS
(die Standardeinstellung) für moderne macOS-Versionen.
Machen Sie weiter und installieren Sie macOS?
(OPTIONAL) Verwenden Sie diese macOS-VM-Festplatte mit libvirt (virt-manager/virsh stuff).
Bearbeiten Sie die Datei macOS-libvirt-Catalina.xml
und ändern Sie die verschiedenen Dateipfade (suchen Sie in dieser Datei nach CHANGEME
Zeichenfolgen). Der folgende Befehl sollte normalerweise ausreichen.
sed "s/CHANGEME/$USER/g" macOS-libvirt-Catalina.xml > macOS.xml
virt-xml-validate macOS.xml
Erstellen Sie eine VM, indem Sie den folgenden Befehl ausführen.
virsh --connect qemu:///system define macOS.xml
Erteilen Sie bei Bedarf dem libvirt-qemu-Benutzer die erforderlichen Berechtigungen.
sudo setfacl -m u:libvirt-qemu:rx /home/$USER
sudo setfacl -R -m u:libvirt-qemu:rx /home/$USER/OSX-KVM
Starten Sie virt-manager
und starten Sie die virtuelle macOS
Maschine.
Verwenden Sie das bereitgestellte Skript boot-macOS-headless.sh.
./boot-macOS-headless.sh
Gute Arbeit beim Einrichten eines Virtual Hackintosh
Systems! Ein solches System kann für eine Vielzahl von Zwecken verwendet werden (z. B. Software-Builds, Tests, Rückgängigmachung von Arbeiten) und es kann alles sein, was Sie benötigen, zusammen mit einigen in diesem Repository dokumentierten Optimierungen.
Allerdings mangelt es einem solchen System an grafischer Beschleunigung, einem zuverlässigen Sound-Subsystem, USB-3-Funktionalität und ähnlichen Dingen. Um diese Dinge zu ermöglichen, werfen Sie einen Blick auf unsere Hinweise. Wir möchten unsere Test- und Dokumentationsarbeiten in diesem Bereich wieder aufnehmen. Bitte wenden Sie sich an uns, wenn Sie diesen Arbeitsbereich finanzieren können.
Es ist möglich, eine Leistung zu erzielen, die über die native Apple-HW hinausgeht, aber es erfordert Arbeit, Geduld und ein bisschen Glück (vielleicht?).
Sehen Sie sich die Netzwerkhinweise zum Einrichten des Netzwerks in Ihrer VM an, sowohl ausgehend als auch eingehend für den Fernzugriff auf Ihre VM über SSH, VNC usw.
Informationen zum Passthrough von GPUs und anderen Geräten finden Sie in diesen Hinweisen.
Benötigen Sie eine andere Auflösung? Schauen Sie sich die in diesem Repository enthaltenen Notizen an.
Probleme mit iMessage? Schauen Sie sich die in diesem Repository enthaltenen Notizen an.
Sehr empfehlenswerte macOS-Optimierungen – https://github.com/sickcodes/osx-optimizer
Der „geheime“ Apple OSK-String ist im Internet weit verbreitet. Es ist auch in einem öffentlichen Gerichtsdokument enthalten, das hier verfügbar ist. Ich bin kein Anwalt, aber es scheint, dass der Versuch von Apple, die OSK-Zeichenfolge als Geschäftsgeheimnis zu behandeln, fehlgeschlagen ist. Aus diesen Gründen ist der OSK-String frei in diesem Repository enthalten.
Bitte lesen Sie die Dokumentationsteile „Legalität des Hackintoshing“ im OpenCore-Installationshandbuch von Dortania.
Gabriel Somlo hat auch einige Gedanken zu den rechtlichen Aspekten, die mit der Ausführung von macOS unter QEMU/KVM verbunden sind.
Möglicherweise finden Sie auch diesen Artikel „Ankündigung von Amazon EC2 Mac-Instanzen für macOS“ interessant.
Hinweis: Es liegt in Ihrer Verantwortung, die EULA von Apple zu verstehen und zu akzeptieren (oder nicht zu akzeptieren).
Hinweis: Hierbei handelt es sich nicht um eine Rechtsberatung. Nehmen Sie daher bitte selbst die richtige Einschätzung vor und besprechen Sie diese mit Ihren Anwälten, wenn Sie Bedenken haben (Quelle des Textes: Dortania)
Mein Ziel ist es, macOS-basierte Lernaufgaben, Builds und Tests, Kernel-Debugging, Umkehrung und macOS-Sicherheitsforschung auf einfache und reproduzierbare Weise zu ermöglichen, ohne (zu stark) in das geschlossene Ökosystem von Apple „investiert“ zu werden.
Diese Virtual Hackintosh
-Systeme sind nicht dazu gedacht, die echten physischen macOS-Systeme zu ersetzen.
Persönlich war dieses Repository für mich eine Möglichkeit, aus dem Apple-Ökosystem auszusteigen. Es hat mir geholfen, die Interoperabilität des Canon CanoScan LiDE 120
Scanners und Brother HL-2250DN
Laserdruckers zu testen und zu vergleichen. Und diese Geräte funktionieren jetzt recht gut auf modernen Versionen von Ubuntu (Yay für freie Software). Außerdem musste ich vor langer Zeit mein (damals) brandneues MacBook Pro (Retina, 15-inch, Late 2013)
komplett löschen und Xubuntu darauf installieren – da der OS X
Kernel darauf ständig abstürzte!
Hintergrundgeschichte: Ich war in einem früheren Leben ein (armer) Student in Kanada und Apple hat mir die Arbeit, Apple-Schlüsselanhänger zu knacken, viel schwerer gemacht, als es sein musste. So kam es, dass ich mich für Hackintosh-Systeme interessierte.