Aujourd’hui, un peu de recherches. Si on parlait de la affichée au boot sur les Mac ? En fait, Apple n’a pas toujours utilisé une pomme sur fond gris, cette dernière est assez récente : elle date de Mac OS X Jaguar. Avant Jaguar, on avait un Macintosh souriant, le Happy Mac. Mais où est stockée cette image ?
Contrairement à ce que l’on pourrait penser, elle n’est pas stockée dans le firmware du Mac (Open Firmware ou EFI) mais bien sur le disque dur, dans le fichier de démarrage, BootX
sur les PowerPC/Open Firmware, boot.efi
dans le cas des Mac Intel. Le fonctionnement n’est pas exactement le même, mais c’est assez similaire dans les deux cas, le fichier contient une image modifiable manuellement.
Pour l’exemple, on va prendre le cas des PowerPC, pour une raison simple : les données sur le fichier BootX
sont open source, ce qui simplifie un peu les choses pour la démonstration. Pour ceux qui veulent essayer avec un Mac Intel, c’est possible, et expliqué là. Attention quand même, si vous faites une erreur dans le fichier, le Mac ne démarrera plus, donc pensez à garder une copie du système capable de démarrer.
On va faire simple : on va aller directement chercher les fichiers chez Apple, dans les sources de BootX
. On peut aussi (c’est expliqué là) aller chercher les données dans le fichier BootX
directement, mais comme la position dépend de la version du fichier (et donc du système), c’est un peu plus compliqué.
Il y a plusieurs versions de BootX, mais pour ce qui nous intéresse, c’est plus simple : BootX-34 et BootX-36 contiennent les fichiers des anciennes versions de Mac OS X (jusqu’à 10.1) et toutes les autres versions contiennent les images classiques, apparues avec 10.2 Jaguar.
Prenons d’abord l’exemple de BootX-81. Il faut se rendre dans /bootx.tproj/sl.subproj/
et récupérer quelques fichiers. clut.h
contient la table des couleurs, je vais y revenir, appleboot.h
, failedboot.h
et netboot.h
contiennent des images.
Maintenant, l’exemple de BootX-36. Dans les mêmes dossiers, clut.h
contient la table des couleurs, bad_system.h
, happy_foot.h
, happy_mac.h
et images.h
contiennent des images de démarrage.
Maintenant, essayons de récupérer les images.
Première chose, il faut coller les données de la table de couleurs (clut.h
) dans un fichier .act
. Vous allez obtenir un fichier de 768 octets. Faites ensuite la même chose pour le contenu des autres fichiers .h
, avec une extension .raw
. Le fichier appleboot.raw
fait par exemple 16 ko. Attention, certains fichiers contiennent plusieurs images (netboot.h
par exemple) et il faut donc seulement récupérer une image et pas toute la séquence.
Pour ouvrir les fichiers, on a besoin de Photoshop. J’ai utilisé la démo d’une vieille version, mais ça doit passer avec d’autres programmes, je pense.
Dans l’ordre
Ouvrir le fichier avec Photoshop (bien vérifier qu’on est en Photoshop RAW). Puis vérifier les dimensions : certaines images ne sont pas carrées, les fichiers .h
contiennent les dimensions exactes et Photoshop a tendance à m’inverser hauteur et largeur.
Faire Image -> Mode -> Indexed Color.
Faire Image -> Mode -> Color Table. Ensuite Load et choisir le fichier .act.
Exemples d’images récupérées (en PNG).
A noter que dans une vieille news sur MacBidouille, je suis tombé sur l’image de boot de certaines bêta de Mac OS X Jaguar qui est différente de la pomme de la version finale. Comme je n’ai pas la bêta en question, je ne peux pas extraire l’image.