Ce README.md
documente le processus de création d'un système Virtual Hackintosh
.
Remarque : tous les blobs et ressources inclus dans ce référentiel sont redérivables (toutes les instructions sont incluses !).
Vous recherchez un support commercial avec ce genre de choses ? Je suis disponible par e-mail pour un chat concernant les options d'assistance commerciale uniquement . Remarque : les sponsors du projet ont accès au référentiel Private OSX-KVM
et à une assistance directe.
Vous avez des difficultés avec Content Caching
? Nous pouvons vous aider.
Vous travaillez avec Proxmox
et macOS ? Voir le blog de Nick, bien sûr.
Oui, nous prenons désormais en charge les installations macOS hors ligne – voir ce document ?
Ce projet peut toujours utiliser votre aide, votre temps et votre attention. Je recherche de l'aide (pull-requests !) avec les éléments de travail suivants :
Documentation sur l'exécution de macOS sur des fournisseurs de cloud populaires (Hetzner, GCP, AWS). Voir la Is This Legal?
section et références associées.
Documentez (partagez) la façon dont vous utilisez ce projet pour créer + tester des projets open source / faire votre travail.
Documentez comment utiliser ce projet pour le débogage et le développement du noyau XNU.
Documentez le processus de lancement d'un ensemble de machines virtuelles macOS sans tête (ferme de construction).
Documentez l'utilisation de Munki pour déployer des logiciels sur une telle build farm
.
Activez la prise en charge VNC + SSH prête à l'emploi ou plus facilement.
Les améliorations de robustesse sont toujours les bienvenues !
(Pas si) idée folle - automatisez l'installation de macOS via OpenCV.
Une distribution Linux moderne. Par exemple, Ubuntu 24.04 LTS 64 bits ou version ultérieure.
QEMU >= 8.2.2
Un processeur avec prise en charge Intel VT-x / AMD SVM est requis ( grep -e vmx -e svm /proc/cpuinfo
)
Un processeur prenant en charge SSE4.1 est requis pour >= macOS Sierra
Un processeur avec prise en charge AVX2 est requis pour >= macOS Ventura
Remarque : les processeurs AMD plus anciens sont connus pour poser problème, mais les processeurs AMD Ryzen modernes fonctionnent très bien (même pour macOS Sonoma).
Installez QEMU et d'autres packages.
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
Cette étape devra peut-être être adaptée à votre distribution Linux.
Clonez ce référentiel sur votre système QEMU. Les fichiers de ce référentiel sont utilisés dans les étapes suivantes.
cd ~
git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.git
cd OSX-KVM
Les mises à jour du référentiel peuvent être extraites via la commande suivante :
git pull --rebase
Ce référentiel utilise fortement des workflows basés sur le rebase.
KVM peut avoir besoin des ajustements suivants sur la machine hôte pour fonctionner.
sudo modprobe kvm; echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs
Pour rendre ce changement permanent, vous pouvez utiliser la commande suivante.
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
Ajoutez un utilisateur aux groupes kvm
et libvirt
(peut être nécessaire).
sudo usermod -aG kvm $(whoami)
sudo usermod -aG libvirt $(whoami)
sudo usermod -aG input $(whoami)
Remarque : reconnectez-vous après avoir exécuté cette commande.
Récupérez le programme d'installation de macOS.
./fetch-macOS-v2.py
Vous pouvez choisir la version macOS souhaitée ici. Après avoir exécuté cette étape, vous devriez avoir le fichier BaseSystem.dmg
dans le dossier actuel.
ATTENTION : laissez la configuration >= Big Sur
s'afficher sur l'écran Country Selection
et à d'autres endroits similaires pendant un certain temps si les choses sont lentes. L'assistant de configuration initiale de macOS finira par réussir.
Exemple d'exécution :
$ ./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
Remarque : les GPU NVIDIA modernes sont pris en charge sur HighSierra mais pas sur les versions ultérieures de macOS.
Convertissez le fichier BaseSystem.dmg
téléchargé en fichier BaseSystem.img
.
dmg2img -i BaseSystem.dmg BaseSystem.img
Créez une image de disque dur virtuel sur laquelle macOS sera installé. Si vous modifiez le nom de l'image disque de mac_hdd_ng.img
en autre chose, les scripts de démarrage devront être mis à jour pour pointer vers le nouveau nom de l'image.
qemu-img create -f qcow2 mac_hdd_ng.img 256G
REMARQUE : créez ce fichier image HDD sur un disque SSD/NVMe rapide pour de meilleurs résultats.
Vous êtes maintenant prêt à installer macOS
Méthode CLI (primaire). Exécutez simplement le script OpenCore-Boot.sh
pour démarrer le processus d'installation.
./OpenCore-Boot.sh
Remarque : ce même script fonctionne pour toutes les versions récentes de macOS.
Utilisez l'outil Disk Utility
dans le programme d'installation de macOS pour partitionner et formater le disque virtuel connecté à la machine virtuelle macOS. Utilisez APFS
(valeur par défaut) pour les versions modernes de macOS.
Allez-y et installez macOS ?
(FACULTATIF) Utilisez ce disque de machine virtuelle macOS avec libvirt (virt-manager / virsh stuff).
Modifiez le fichier macOS-libvirt-Catalina.xml
et modifiez les différents chemins de fichiers (recherchez les chaînes CHANGEME
dans ce fichier). La commande suivante devrait généralement faire l'affaire.
sed "s/CHANGEME/$USER/g" macOS-libvirt-Catalina.xml > macOS.xml
virt-xml-validate macOS.xml
Créez une VM en exécutant la commande suivante.
virsh --connect qemu:///system define macOS.xml
Si nécessaire, accordez les autorisations nécessaires à l'utilisateur libvirt-qemu,
sudo setfacl -m u:libvirt-qemu:rx /home/$USER
sudo setfacl -R -m u:libvirt-qemu:rx /home/$USER/OSX-KVM
Lancez virt-manager
et démarrez la machine virtuelle macOS
.
Utilisez le script boot-macOS-headless.sh fourni.
./boot-macOS-headless.sh
Bon travail sur la mise en place d'un système Virtual Hackintosh
! Un tel système peut être utilisé à diverses fins (par exemple, construction de logiciels, tests, annulation de travaux), et il peut suffire, avec quelques ajustements documentés dans ce référentiel.
Cependant, un tel système manque d'accélération graphique, d'un sous-système audio fiable, de fonctionnalités USB 3 et d'autres éléments similaires. Pour activer ces choses, jetez un œil à nos notes. Nous aimerions reprendre notre travail de test et de documentation dans ce domaine. Veuillez nous contacter si vous êtes en mesure de financer ce domaine de travail.
Il est possible d'avoir des performances « au-delà de native-apple-hw », mais cela demande du travail, de la patience et un peu de chance (peut-être ?).
Consultez les notes de mise en réseau sur la façon de configurer la mise en réseau dans votre VM, sortante et également entrante pour l'accès à distance à votre VM via SSH, VNC, etc.
Pour passer par les GPU et autres appareils, consultez ces notes.
Besoin d'une résolution différente ? Consultez les notes incluses dans ce référentiel.
Un problème avec iMessage ? Consultez les notes incluses dans ce référentiel.
Ajustements macOS hautement recommandés - https://github.com/sickcodes/osx-optimizer
La chaîne Apple OSK « secrète » est largement disponible sur Internet. Il est également inclus dans un document judiciaire public disponible ici. Je ne suis pas avocat, mais il semble que les tentatives d'Apple pour que la chaîne OSK soit traitée comme un secret commercial n'ont pas abouti. Pour ces raisons, la chaîne OSK est librement incluse dans ce référentiel.
Veuillez consulter les éléments de documentation « Légalité du Hackintoshing » du guide d'installation OpenCore de Dortania.
Gabriel Somlo a également quelques réflexions sur les aspects juridiques liés à l'exécution de macOS sous QEMU/KVM.
Vous pouvez également trouver intéressant cet article « Annonce des instances Mac Amazon EC2 pour macOS ».
Remarque : Il est de votre responsabilité de comprendre et d'accepter (ou de ne pas accepter) le CLUF Apple.
Remarque : Il ne s'agit pas d'un avis juridique, veuillez donc effectuer vous-même les évaluations appropriées et discuter avec vos avocats si vous avez des inquiétudes (Crédit texte : Dortania)
Mon objectif est de permettre les tâches éducatives basées sur macOS, les builds + tests, le débogage du noyau, l'inversion et la recherche sur la sécurité macOS d'une manière simple et reproductible sans être « investi » (trop massivement) dans l'écosystème fermé d'Apple.
Ces systèmes Virtual Hackintosh
ne sont pas destinés à remplacer les véritables systèmes macOS physiques.
Personnellement, ce référentiel a été pour moi un moyen de « sortir » de l'écosystème Apple. Cela m'a aidé à tester et à comparer l'interopérabilité du scanner Canon CanoScan LiDE 120
et de l'imprimante laser Brother HL-2250DN
. Et ces appareils fonctionnent désormais assez bien sur les versions modernes d'Ubuntu (Yay pour les logiciels gratuits). De plus, il y a longtemps, j'ai dû effacer complètement mon (alors) tout nouveau MacBook Pro (Retina, 15-inch, Late 2013)
et y installer Xubuntu - car le noyau OS X
ne cessait de planter dessus !
Histoire : J'étais un (pauvre) étudiant au Canada dans une vie antérieure et Apple a rendu mon travail de piratage des porte-clés Apple beaucoup plus difficile que nécessaire. C'est ainsi que je me suis intéressé aux systèmes Hackintosh.