Comment installer une VM macOS sous Linux, Windows ou macOS ?
Si vous voulez gouter à macOS au travers de Virtualbox, voici une méthode qui permet de le faire très simplement.
Grâce au script bash macOS-Guest-Virtualbox, que vous pouvez lancer depuis n’importe quel terminal Linux/macOS ou sous Windows via Cygwin ou WSL, vous allez pouvoir installer une VM macOS Catalina, Mojave ou High Sierra et la faire tourner directement depuis l’outil de virtualisation VirtualBox.
Pour cela, vous devez avoir sur votre système :
bash
≥4.3coreutils
≥8.22gzip
≥1.5unzip
≥v6.0wget
≥1.14xxd
≥1.7dmg2img
≥1.6.5 (sous Cygwin, le script le téléchargera directement)virtualbox
≥6.1.6
Installez donc Virtualbox et tous ces paquets avec apt, brew, macPort ou Cygwin puis récupérez le script d’install ici (la dernière version sur le dépôt n’a pas fonctionné chez moi, j’ai du prendre la release du 24 janvier) et lancez-le comme ceci :
./macos-guest-virtualbox.sh
Suivez ensuite les instructions du script et voilà !
Vous aurez une jolie VM macOS à utiliser pour tous vos projets / tests. Par défaut, cette installation aura un stockage de 80 GB dont 20 GB pris par l’OS, mais vous pourrez modifier cela dans les paramètres du script. Vous pourrez aussi y modifier la release que vous voulez (Catalina, Mojave, HighSierra), sans oublier la mémoire RAM, la mémoire GPU et la résolution d’écran à adopter.
# Customize the installation by setting these variables:
vm_name="macOS" # name of the VirtualBox virtual machine
macOS_release_name="Catalina" # install "HighSierra" "Mojave" or "Catalina"
storage_size=80000 # VM disk image size in MB, minimum 22000
cpu_count=2 # VM CPU cores, minimum 2
memory_size=4096 # VM RAM in MB, minimum 2048
gpu_vram=128 # VM video RAM in MB, minimum 34, maximum 128
resolution="1280x800" # VM display resolution
De plus, si vous possédez un ordinateur Apple avec de vrais identifiants originaux, vous pourrez aussi les mettre dans le fichier de config pour bénéficier en plus des services iCloud, iMessage…etc. Les commandes permettant de récupérer tous ces identifiants sont inscrites ici :
# The following commented commands, when run on a genuine Mac,
# may provide the values for NVRAM and other parameters required by iCloud,
# iMessage, and other connected Apple applications.
# Parameters taken from a genuine Mac may result in a "Call customer support"
# message if they do not match the genuine Mac exactly.
# Non-genuine yet genuine-like parameters usually work.
# system_profiler SPHardwareDataType
DmiSystemFamily="MacBook Pro" # Model Name
DmiSystemProduct="MacBookPro11,2" # Model Identifier
DmiSystemSerial="NO_DEVICE_SN" # Serial Number (system)
DmiSystemUuid="CAFECAFE-CAFE-CAFE-CAFE-DECAFFDECAFF" # Hardware UUID
DmiOEMVBoxVer="string:1" # Apple ROM Info
DmiOEMVBoxRev="string:.23456" # Apple ROM Info
DmiBIOSVersion="string:MBP7.89" # Boot ROM Version
# ioreg -l | grep -m 1 board-id
DmiBoardProduct="Mac-3CBD00234E554E41"
# nvram 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:MLB
DmiBoardSerial="NO_LOGIC_BOARD_SN"
MLB="${DmiBoardSerial}"
# nvram 4D1EDE05-38C7-4A6A-9CC6-4BCCA8B38C14:ROM
ROM='%aa*%bbg%cc%dd'
# ioreg -l -p IODeviceTree | grep "system-id
SYSTEM_UUID="aabbccddeeff00112233445566778899"
# csrutil status
SYSTEM_INTEGRITY_PROTECTION='10' # '10' - enabled, '77' - disabled
En termes de performances, et bien, ça dépendra de votre machine, mais l’auteur du script recommande de lancer ensuite la VM directement depuis QEMU/KVM pour profiter de performances quasi natives.
Faites-en bon usage !