Installer Mac OS X PowerPC dans QEMU

La semaine dernière, je parlais de l’émulation de Mac OS X via PearPC, mais il existe d’autres solutions. La plus efficace est QEMU, une sorte d’émulateur universel (il permet d’émuler Windows NT 4.0 sur MIPS ou un Raspberry Pi en ARM).

QEMU émule sans soucis les processeurs PowerPC 32 bits comme le G3 et le G4 et supporte depuis pas mal de temps Mac OS X, au moins dans certaines versions. Il permet d’utiliser Mac OS 9.2 (Mac OS 8.x et 9.x posent des soucis) mais aussi Mac OS X 10.2 et 10.3 sans trop de soucis. Les autres versions de Mac OS X posent plus de soucis : 10.0 et 10.1 ne sont pas fonctionnels, 10.4 s’exécute mais ne peut pas s’installer directement (il faut passer par une installation sur une vraie machine) et 10.5 pose pas mal de soucis, et il faut vraiment bidouiller pour qu’il fonctionne. Bien évidemment, 10.6 et les suivants ne fonctionnent pas avec une émulation PowerPC. Ce qui est intéressant, c’est que QEMU évolue régulièrement (on trouve des informations ici) et que ce qui ne fonctionne pas aujourd’hui (août 2016) peut être fonctionnel demain.

Pour tester, j’ai décidé d’installer Mac OS X 10.3 (Panther), pour quelques raisons. La première, c’est qu’il fonctionne assez bien dans un émulateur (comme dans PearPC), n’est pas trop lourd et ne demande pas trop de puissances : à sa sortie, il fonctionnait correctement sur des machines à quelques centaines de MHz.

La première chose à faire, c’est de créer une image disque pour l’OS. J’ai pris une valeur classique pour l’époque : 6 Go. Pour la créer, il est possible de passer par l’utilitaire de disques. Attention, celui de Yosemite, pas celui d’El Capitan avec ses (trop) nombreux bugs. Dans les paramètres : Mac OS étendu, sans chiffrement, partition disque dur et image disque en lecture/écriture.

Dans l'Utilitaire

Dans l’Utilitaire

Une fois l’image sur le disque dur, il faut renommer le fichier, de Panther.dmg à Panther.img.

Pour l’installation de QEMU, je suis passé par brew avec la commande suivante, rien de particulier. Le gestionnaire installe la version 2.6 (la 2.7 arrive bientôt).

brew install qemu

L’étape suivante consiste à faire une image ISO des CD d’installation de Mac OS X 10.3 (normalement, les deux premiers suffisent). Enfin, il faut lancer l’installation. Attention, l’émulation doit être forcée sur un PowerPC G3 pendant l’installation. La commande lance l’émulateur pour qu’il démarre sur le CD, avec 512 Mo de RAM.

qemu-system-ppc -drive file=panther.img,format=raw,media=disk -m 512 -prom-env boot-args=-v -boot d -M mac99 -cpu G3 -cdrom cd1.dmg

Installation

Installation


Installation

Installation


Installation

Installation

Après l’installation, le système doit démarrer sur le disque dur et demander le second CD, donc il faut fermer QEMU et le relancer avec cette commande.

qemu-system-ppc -drive file=panther.img,format=raw,media=disk -m 512 -prom-env boot-args=-v -boot c -M mac99 -cpu G3 -cdrom cd2.dmg

Une fois l’installation terminée (ce qui peut être très long), il faut éteindre Mac OS X et le relancer avec la commande suivante.

qemu-system-ppc -drive file=panther.img,format=raw,media=disk -m 512 -prom-env boot-args=-v -boot c -M mac99

Bienvenue sur Macintosh

Bienvenue sur Macintosh


G3...

G3…


...ou G4

…ou G4

Sur mon MacBook Air 2012, c’est lent mais utilisable : la machine démarre en un peu plus de 1 minutes, le lancement des applications se fait en quelques secondes. L’affichage reste lent à cause de l’absence d’accélération 3D, par contre, mais c’est aussi le cas sur pas mal de Mac de l’époque. Un test Xbench donne un score de 1,72, mais il est un peu faussé : tout ce qui touche au CPU ou à la vidéo reste extrêmement lent alors que ce qui touche à la mémoire et au stockage va évidemment nettement plus vite que sur un vrai Mac de l’époque, étant donné que ce sont les périphériques modernes qui sont testés. Pour comparaison, les G3 de l’époque (iMac, PowerBook, iBook, Power Mac etc.) ont un score qui tourne autour de 15 sur ce benchmark.

Power Mac G4 émulé

Power Mac G4 émulé


Carte graphique de base

Carte graphique de base


un score minable

un score minable