Dans un premier temps, verifier que votre Red Hat a les l ensemble des packages pour compiler avec « make ». Il faut aussi que KVM soit actif. On commence par compiler l Application QEMU5.1 suivant la puissance du PC ça peut prendre un certain temps (2heures). Il faut savoir que le QEMU fournit avec la commande YUM est une version assez ancienne ne permettant pas de gérer une VM « Hackintosh ». C’est pourquoi j ai lancé cette compilation….
wget https://download.qemu.org/qemu-5.1.0.tar.xz tar xvJf qemu-5.1.0.tar.xz cd qemu-5.1.0 ./configure make sudo make install
Pour préparer le terrain du couple KVM/QEMU pour pouvoir lancer une « VM » tournant sur macOS
sudo dnf -y install git libvirt virt-install qemu-kvm python3 python3-pip virt-manager
Pour lancer les process de KVM et l activer des le boot de la machine
sudo systemctl start libvirtd
sudo systemctl enable libvirtd
sudo dnf -y install virt-manager
Recuperation du Package pour avoir le kit de montage d une VM macOS
git clone https://github.com/foxlet/macOS-Simple-KVM.git
Recuperation de l image de boot de macOS pour faire le setup on peut choisir la version de macOS avec les options suivantes « –high-sierra », « –mojave » ou « –catalina »
./jumpstart.sh --catalina
Génération du disque virtuel pour KVM/QEMU qui contiendra macOS plu-tard
qemu-img create -f qcow2 macOS.qcow2 50G
On va modifier le fichier « basic.sh » contenant la config de la VM « Hackintosh », on va ajouter ces 2 lignes qui correspondent au disque dur virtuel qu on vient de générer. On peut aussi changer la taille de la RAM qui est a « 2G » soit 2Go minimum allouée a la VM « Hackintosh », pour la partie graphique on peut mettre « std » au lieu de « QXL » si ça ne fonctionne pas…Pour ceux qui ont des grosses cartes GPU on peut aussi configurer avec d autres paramètres.
Pour eviter d avoir un souci d offset avec la Souris et ce retrouvé avec 2 souris dur l ecran il suffit juste de remplacer le « usb-mouse » a cote du clavier par « -device usb-tablet »
-drive id=SystemDisk,if=none,file=macOS.qcow2 \
-device ide-hd,bus=sata.4,drive=SystemDisk \
!/bin/bash OSK="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" VMDIR=$PWD OVMF=$VMDIR/firmware #export QEMU_AUDIO_DRV=pa #QEMU_AUDIO_DRV=pa qemu-system-x86_64 \ -enable-kvm \ -m 8G \ -machine q35,accel=kvm \ -smp 4,cores=2 \ -cpu Penryn,vendor=GenuineIntel,kvm=on,+sse3,+sse4.2,+aes,+xsave,+avx,+xsav$ -device isa-applesmc,osk="$OSK" \ -smbios type=2 \ -drive if=pflash,format=raw,readonly,file="$OVMF/OVMF_CODE.fd" \ -drive if=pflash,format=raw,file="$OVMF/OVMF_VARS-1024x768.fd" \ -vga std \ -device ich9-intel-hda -device hda-output \ -usb -device usb-kbd -device usb-tablet \ -netdev user,id=net0 \ -device e1000-82545em,netdev=net0,id=net0,mac=52:54:00:c9:18:27\ -device ich9-ahci,id=sata \ -drive id=ESP,if=none,format=qcow2,file=ESP.qcow2 \ -device ide-hd,bus=sata.2,drive=ESP \ -drive id=InstallMedia,format=raw,if=none,file=BaseSystem.img \ -device ide-hd,bus=sata.3,drive=InstallMedia \ -drive id=SystemDisk,if=none,file=macOS.qcow2 \ -device ide-hd,bus=sata.4,drive=SystemDisk \
Ensuite on lance le script
./basic.sh
Ce script permet de preparer la VM en demarrant un serveur VNC, on peut utiliser le client Tight VNC
localhost:5900
Le processus d installation de la VM débute vraiment. On commence par initialiser le volume de disque dur pour installer macOS avec le format APFS via l utilitaire de disque dur. Ensuite on choisit l option reinstaller macOS Catalina. Le processus d installation de Catalina se lance…
Le seul bug actuellement que je n arrive pas a corrigé c’ est le Clavier dans la « VM Hackintosh ». Surement une limitation de QEMU/KVM 😀 qui ne gère pas le clavier Macintosh en natif. On excuse QEMU qui déjà fait beaucoup de choses il permet d emuler une panoplie de processeurs du celebre m68k de Motorola, PowerPC, ARM, AVR, Sparc 32bit /64bit, Intel, MIPS…
Pour importer la « VM Macintosh » dans « Virt-Manager » on peut exécuter le script « ./make.sh –add« , pour exécuter cette commande il faut lancer la syntaxe suivante
sudo ./make.sh --add
Pour l instant je n ai point reussi a ne pas avoir de message d’erreurs pour l instant j etudie une autre voie pour pouvoir utitliser la fonction Bridge et non pas la fonction NAT integrée qui ne permet pas dacces au reseau directement par la carte reseau physique …