Ce guide est un pas-à-pas qui nécessite l'installation de brew et quelques notions très basiques du terminal. Vous devrez aussi disposer d'une image d'un disque d'installation de Mac OS 9. À noter que les disques d'installation dédiés à une machine semblent fonctionner parfaitement. J'ai pour ma part installé Mac OS 9.2.2 en français depuis le disque d'installation de mon G4 Sawtooth (datant de 1999, cela ne nous rajeunit pas).
Prérequis
Pour commencer, installez Brew si ce n'est pas déjà fait, en suivant ce guide.
Installation de l'émulateur
Puis installons QEMU.
brew install qemu
L'installation peut être longue, car il y aura certainement de nombreuses dépendances à installer aussi.
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 2 taps (caskroom/cask, homebrew/core).
==> New Formulae
kontena
==> Updated Formulae
bear cookiecutter duck folly jack librsync passenger rpm terragrunt
bento4 deja-gnu exiftool fonttools jenkins moc plantuml schismtracker thefuck
bro dependency-check faas-cli fwup languagetool mpv pony-stable sdl_gfx urh
citus django-completion ffmpeg hugo libextractor multimarkdown presto stubby vim
consul doitlive flow itstool libgraphqlparser opencv@2 qcli teleport
Error: Permission denied @ rb_file_s_symlink - (../../../Homebrew/Library/Taps/homebrew/homebrew-services/completions/zsh/_brew_services, /usr/local/share/zsh/site-functions/_brew_services)
==> Installing dependencies for qemu: libtasn1, gmp, nettle, libunistring, libffi, p11-kit, gnutls, pcre, glib, ncurses, pixman
==> Installing qemu dependency: libtasn1
==> Downloading <a href="https://homebrew.bintray.com/bottles/libtasn1-4.12.sierra.bottle.tar.gz">https://homebrew.bintray.com/bottles/libtasn1-4.12.sierra.bottle.tar.gz</a>
....
N'espérez pas lancer directement qemu, d'ailleurs vous pouvez essayer, vous aurez une surprise :
qemu
avec en réponse
zsh: command not found: qemu
Si vous regardez la dernière ligne de l'installation de qemu, vous aurez l'emplacement de l'installation du logiciel
🺠/usr/local/Cellar/qemu/2.10.1: 131 files, 156MB
Allons donc voir
cd /usr/local/Cellar/qemu/2.10.1
puis dans le dossier des applications (binaires, ou encore bin).
cd bin
regardons
ls -l
avec comme résultat
total 296064
-r-xr-xr-x 1 sky admin 1240200 17 oct 20:23 qemu-img
-r-xr-xr-x 1 sky admin 1199260 17 oct 20:23 qemu-io
-r-xr-xr-x 1 sky admin 1203112 17 oct 20:23 qemu-nbd
-r-xr-xr-x 1 sky admin 7871060 17 oct 20:23 qemu-system-aarch64
-r-xr-xr-x 1 sky admin 6024720 17 oct 20:23 qemu-system-alpha
-r-xr-xr-x 1 sky admin 7721660 17 oct 20:23 qemu-system-arm
-r-xr-xr-x 1 sky admin 3163840 17 oct 20:23 qemu-system-cris
-r-xr-xr-x 1 sky admin 6909340 17 oct 20:23 qemu-system-i386
-r-xr-xr-x 1 sky admin 3231476 17 oct 20:23 qemu-system-lm32
-r-xr-xr-x 1 sky admin 3294844 17 oct 20:23 qemu-system-m68k
-r-xr-xr-x 1 sky admin 3159124 17 oct 20:23 qemu-system-microblaze
-r-xr-xr-x 1 sky admin 3159124 17 oct 20:23 qemu-system-microblazeel
-r-xr-xr-x 1 sky admin 6728736 17 oct 20:23 qemu-system-mips
-r-xr-xr-x 1 sky admin 6838792 17 oct 20:23 qemu-system-mips64
-r-xr-xr-x 1 sky admin 6859760 17 oct 20:23 qemu-system-mips64el
-r-xr-xr-x 1 sky admin 6724632 17 oct 20:23 qemu-system-mipsel
-r-xr-xr-x 1 sky admin 3119640 17 oct 20:23 qemu-system-moxie
-r-xr-xr-x 1 sky admin 3109836 17 oct 20:23 qemu-system-nios2
-r-xr-xr-x 1 sky admin 3130220 17 oct 20:23 qemu-system-or1k
-r-xr-xr-x 1 sky admin 7237428 17 oct 20:23 qemu-system-ppc
-r-xr-xr-x 1 sky admin 7634204 17 oct 20:23 qemu-system-ppc64
-r-xr-xr-x 1 sky admin 7039980 17 oct 20:23 qemu-system-ppcemb
-r-xr-xr-x 1 sky admin 3819968 17 oct 20:23 qemu-system-s390x
-r-xr-xr-x 1 sky admin 5930648 17 oct 20:23 qemu-system-sh4
-r-xr-xr-x 1 sky admin 5934752 17 oct 20:23 qemu-system-sh4eb
-r-xr-xr-x 1 sky admin 3471424 17 oct 20:23 qemu-system-sparc
-r-xr-xr-x 1 sky admin 6103828 17 oct 20:23 qemu-system-sparc64
-r-xr-xr-x 1 sky admin 3253828 17 oct 20:23 qemu-system-tricore
-r-xr-xr-x 1 sky admin 3088940 17 oct 20:23 qemu-system-unicore32
-r-xr-xr-x 1 sky admin 6954828 17 oct 20:23 qemu-system-x86_64
-r-xr-xr-x 1 sky admin 3192796 17 oct 20:23 qemu-system-xtensa
-r-xr-xr-x 1 sky admin 3180508 17 oct 20:23 qemu-system-xtensaeb
Nous ne disposons pas d'une application mais d'une multitude, plus précisément une par processeur émulé, ainsi que 3 utilitaires.
Mais revenons à notre guide.
Une fois installé, choisissez ou créez un dossier dans lequel vous allez stocker votre disque dur virtuel. Dans mon cas, il s'agit d'un dossier nommé "qemu" se trouvant dans le dossier Documents de mon compte. N'oubliez pas de remplacer le chemin vers le dossier, tout au long du tutoriel. Puis déplacez vous dedans, avec le terminal.
cd ~/Documents/qemu
Créons l'image disque, prenez le temps de customiser la taille du disque selon vos besoins et le nom du fichier de l'image.
qemu-img create -f raw -o size=2G MacOS9-fr.img
avec comme résultat
Formatting 'MacOS9-fr.img', fmt=raw size=2147483648
Enfin, lançons l'émulateur PowerPC, puisque MacOS 9 fonctionnait sur cette architecture. Attention à ne pas rater un paramètre, ils sont nombreux :
qemu-system-ppc -L pc-bios -boot d -m 256 -M mac99 -prom-env "auto-boot?=true" -prom-env "boot-args=-v" -prom-env "vga-ndrv?=true" -drive file=Power Mac G4 Install.toast,format=raw,media=cdrom -drive file=MacOS9-fr.img,format=raw,media=disk -device usb-mouse -device usb-kbd
Décomposons pour mieux comprendre les paramètres qui nous intéressent, et à modifier selon vos besoins, et le nom de vos fichiers.
- -boot d : permet de booter sur le disque optique émulé
- -m 256 : indique que la machine virtuelle dispose de 256 Mo de mémoire
- -drive file=Power Mac G4 Install.toast,format=raw,media=cdrom : indique l'image disque utilisée en tant que disque optique. Ici il s'agit de notre disque d'installation, vous devez remplacer le nom du fichier, ici "Power Mac G4 Install.toast" par le chemin complet de votre disque d'installation.
Astuce : Placez le curseur à l'endroit où vous devez écrire le chemin, après "file=" et glissez-déposez le fichier, son nom et son chemin devrait s'inscrire automatiquement. - -drive file=MacOS9-fr.img,format=raw,media=disk : indique l'image disque utilisée comme disque dur de votre MacOS 9, créé précédemment. Comme on s'est placé dans le dossier qui le contient, nous n'avons pas besoin d'indiquer le chemin.
Attention, chaque caractère et chaque espace est important. Si cela ne fonctionne pas, vérifiez chaque paramètre, corrigez et relancez.
Après un écran jaune plutôt moche, qui est en fait un bios virtuel remplaçant le firmware du mac, il devrait commencer à démarrer.
Installation de Mac OS 9
Une fois le système d'exploitation lancé, nous pouvons commencer à installer MacOS sur le disque. Mais comme vous pouvez le voir, le disque n'apparait pas sur le bureau, il faut auparavant le formater.
Pour cela ouvrez Outil disque dur dans le dossier Utilitaires. Vous devriez y voir une partition, "non initialisé". Il suffit de la formater en tant que partition Mac OS.
Une fois la partition créée, le disque montera de lui même sur le bureau. Quittez Outil disque dur. Vous pouvez aussi renommer la partition à votre guise (cela n'a aucune incidence sur le nom de l'image disque conteneur).
Vous pouvez débuter l'installation de MacOS 9, comme à la belle époque. Prenez le temps de personnaliser l'installation, de nombreux éléments peuvent ne pas être utiles à vos besoins.
Une fois l'installation terminée, éteignez votre mac virtuel.
Nous devons désormais lancer notre mac virtuel, nous n'avons plus besoin de prendre en compte le disque optique virtuel.
qemu-system-ppc -L pc-bios -boot c -m 256 -M mac99 -prom-env "auto-boot?=true" -prom-env "boot-args=-v" -prom-env "vga-ndrv?=true" -drive file=MacOS9-fr.img,format=raw,media=disk -device usb-mouse -device usb-kbd
Par rapport à la précédente commande, il faut :
- Supprimer le chargement de l'image disque de l'installation de MacOS
- Indiquer que l'on démarre sur le disque dur et non sur le disque optique, en changeant -boot d en -boot c
Et c'est reparti. Le système devrait démarrer sur le système fraichement installé.
Vous (re-)voila sur MacOS 9 !
Commencez par régler la résolution et l'apparence de votre mac émulé. Pour la date, il faudra peut-être la mettre à jour à chaque lancement (je n'ai pas encore trouvé de solution).
Partage des données
Il nous reste à trouver une solution pour passer les informations de notre mac hôte à notre mac émulé. Contrairement à Sheepshaver, il ne suffit pas d'indiquer un dossier partagé qui serait monté automatiquement comme disque sur MacOS9.
Par contre, nous pouvons ouvrir l'image disque du Mac dans notre Mac OS X pour accéder aux fichiers, voire en ajouter. Cependant, comme à l'époque où MacOS 9 et MacOS X coexistaient, vous risquez d'y ajouter tous les fichiers invisibles de MacOS X voire de planter un fichier, si vous tentez de l'ouvrir sur MacOS X.
Pour palier à cela, j'ai choisi une option intermédiaire : créer une partition supplémentaire qui ne sert qu'à faire transiter les données d'un Mac à l'autre.
Cette action est optionnelle, vous pouvez choisir d'utiliser l'image disque du Mac Classic, en direct.
Pour cela, je repasse par le logiciel intégré dans le dossier dédié :
cd ~/Documents/qemu
qemu-img create -f raw -o size=1.5G Shared.img
avec comme résultat
Formatting 'Shared.img', fmt=raw size=1610612736
Puis relançons MacOS 9 en n'oubliant pas d'intégrer le nouveau disque dur dans les paramètres.
qemu-system-ppc -L pc-bios -boot c -m 256 -M mac99 -prom-env "auto-boot?=true" -prom-env "boot-args=-v" -prom-env "vga-ndrv?=true" -drive file=MacOS9-fr.img,format=raw,media=disk -device usb-mouse -device usb-kbd -drive file=Shared.img,format=raw,media=disk
Il suffit d'aller dans Applications (Mac OS 9) > Utilitaires > Outil disque dur, et, de nouveau, formater la partition non initialisée et finalement de la renommer.
Eteignez MacOS 9, ouvrez la nouvelle partition dans MacOS X et copiez y les fichiers que vous souhaitez installer, n'oubliez pas d'éjecter le disque virtuel avant de relancer une nouvelle fois Mac OS 9 pour y trouver tous les fichiers. Par habitude, je commence toujours par installer tous les utilitaires dont je pourrais avoir besoin comme Resedit, Stuffit Expander, Toast ou encore VirtualCD.
Plein écran
Pour lancer l'application en plein écran, il faut ajouter un paramètre :
-full-screen
La taille n'est pas augmentée pour remplir le maximum de l'écran, c'est un énorme bord noir qui remplira l'espace autour du mac émulé.
Enregistrer la configuration
Une fois que vous êtes fixés sur vos paramètres, vous avez la possibilité d'enregistrer ces paramètres dans un fichier.
Il suffit de relancer la commande en ajoutant le paramètre -writeconfig
suivi du nom du fichier.
qemu-system-ppc -L pc-bios -boot c -m 1024 -M mac99 -prom-env "auto-boot?=true" -prom-env "boot-args=-v" -prom-env "vga-ndrv?=true" -drive file=MacOS9-fr.img,format=raw,media=disk -device usb-mouse -device usb-kbd -drive file=Shared.img,format=raw,media=disk -writeconfig MacOS9.cfg
Dans le dossier vous verrez un nouveau fichier avec le nom indiqué. Il s'agit d'un simple fichier texte que vous pouvez ouvrir et éventuellement modifier si besoin.
L'avantage est que désormais vous pouvez lancer l'émulateur bien plus simplement :
qemu-system-ppc -readconfig MacOS9.cfg
Mais encore une fois, n'oubliez pas que vous devez vous trouver dans le bon dossier pour l'exécuter.
Vous pouvez vous faire plusieurs fichiers de configuration si vous disposez de plusieurs images de Mac OS ou d'autres OS, peu importe l'architecture. Vous n'aurez plus qu'à retenir les noms.
À noter que cela marche avec l'ensemble des versions de Mac OS 9, voir de Mac OS 8, mais que vous pouvez aussi installer des versions antérieures en utilisant la version m68k de l'émulateur.
PS: pour aller un peu plus loin, sachez que QEmu utilise un OpenBios qu'il est possible de compiler sois même afin de profiter des derniers supports fonctionnels proposés. Et un autre article vous propose de tenter une mise en réseau.