Installer un DVD « OEM » de Mac OS X sur n’importe quel ordinateur

Aujourd’hui, un truc un peu illégal, mais qui peut servir, surtout quand — comme moi — on a perdu sa version originale de Mac OS X. En effet, Apple fournissait un DVD de Mac OS X avec ses ordinateurs, mais c’était une version « OEM » : en clair, il ne s’installait que sur la machine en question, où plus exactement sur les ordinateurs du même type.

Il est pourtant possible de passer outre la limitation, simplement parce qu’une version OEM et une version boîte sont identiques en dehors de la vérification du type de machine. Expliquons.

Première chose à faire, une image du DVD sur le disque dur. C’est assez simple : on lance « Utilitaire de disque », on choisit le DVD et on clique sur « Nouvelle image » en choisissant bien « lecture/écriture », c’est important. Puis on attend.

Deuxième chose à faire, installer le Flat Package Editor, un petit programme Apple permettant de modifier certains fichiers. Comme l’explique MacBidouille, il faut installer Xcode (depuis le Mac App Store par exemple) et se déplacer dans « Developer/Applications/Utilities ». Une fois dans le répertoire, faire un clic droit sur PackageMaker et choisir « Afficher le contenu du paquet ». Dans « /Contents/Ressources/ », on va trouver un programme, Flat Package Editor, qu’il suffit de copier dans le dossier « /Applications/ ».

Troisième étape, afficher les fichiers cachés. C’est une simple commande à taper dans le Terminal.

defaults write com.apple.finder AppleShowAllFiles 1 ; killall Finder

Quatrième étape, on ouvre l’image disque précédemment créée et on se déplace dans « /System/Installation/Packages/ ». Il faut ensuite faire un clic droit sur OSInstall.mpkg (bien choisir le .mpkg), « Ouvrir avec » et choisir Flat Package Editor.

Dans le programme, on devrait trouver un fichier Distribution, il faut le glisser sur le bureau. Ensuite, il faut l’éditer avec un éditeur comme Textedit.

Le fichier est en fait un ensemble de test pour déterminer si Mac OS X est installable. Il reprend les tests des anciennes versions (présence d’un G3, fréquence minimale, etc.) mais ce n’est pas ce qui nous intéresse.

La technique classique pour modifier le DVD consiste à ajouter la référence de la machine à la liste. Avec ma technique, c’est plus efficace : ça va fonctionner partout.

Première chose, on va mettre un faux nom de machine dans le fichier.

Dans le fichier d’origine, on trouve ça, avec un nom qui varie en fonction de la machine (Macmini4,1 indique un Mac mini 2010) :

var hwbeSupportedMachines = ['Macmini4,1',];

Il faut remplacer la valeur par ce qu’on veut, sauf le nom d’une machine Apple. J’ai utilisé le mot Nabaztag, mais mettez-ce que vous voulez.

var hwbeSupportedMachines = ['Nabaztag',];

Ensuite, on va modifier la routine de vérification du type de machine. Vous devez chercher la fonction hwbeModelCheck, qui contient quelques tests et se termine par return false;.

function hwbeModelCheck() {

(...)
return false;
}

La seule chose à modifier est donc la dernière ligne de la fonction, il faut changer le false; en true;.

function hwbeModelCheck() {

(...)
return true;
}

Vous pouvez laisser le reste de la fonction en état, sans aucun problèmes.

Une fois que c’est fait, il faut glisser le fichier Distrubution dans le package (simple), bien supprimer l’ancienne version et c’est fini. Pour pouvoir ensuite installer Mac OS X, le plus simple est de graver l’image sur un DVD double couche, ou la restaurer sur une clé USB avec Utilitaire de disque.

Au final, la copie en question devrait fonctionner sur la majorité des Mac. Il y a tout de même quelques limites : on supprime uniquement la vérification de la machine, donc si vous avez un PowerPC ou 512 Mo de RAM, ça ne fonctionnera pas avec Snow Leopard. De même, la réussite dépend de l’âge du DVD OEM : il ne fonctionnera pas sur des machines plus récents que lui. Par exemple mon DVD de Mac mini modifié ne fonctionne pas sur des MacBook Pro 2011.

Pour terminer, c’est une bonne idée de cacher les fichiers cachés avec la commande suivante.

defaults write com.apple.finder AppleShowAllFiles 0 ; killall Finder