Les Mac et les dates perdues

En relisant un vieux sujet, j’ai voulu vérifier un truc : est-ce que les Mac se mettent vraiment au 1er avril 1976 quand la batterie est vide ? Dans mon cas, non, sauf dans un cas particulier.
DateAndTime

J’ai testé avec un iMac G3, un iBook FireWire, un Power Mac G5 et un MacBook Pro en virant la pile (ou la batterie avec l’iBook) et aucun appareil n’est passé à avril 1976. Dans tous les cas sur les PowerPC, le compteur est passé au 1er janvier 1970 (le début de l’heure UNIX) alors que le MacBook Pro est passé au 1er janvier 2001.

Mac OS X affiche toujours un message au démarrage quand la date est trop ancienne (i.e. quand la date est revenue à zéro). Avec les vieux Mac OS X, c’est le 24 mars 2001 qui est annoncé, soit la date de sortie de Mac OS X 10.0. Avec Lion (et visiblement quelques versions de Snow Leopard), c’est le 1er janvier 2008, une date a priori sans références particulières.

1970

1970


2001

2001


2001

2001


2008

2008

Un cas particulier, c’est lors de l’installation de l’OS : si vous installez Leopard, par exemple, la date post installation est le 9 octobre 2007, la date de la sortie de la GM de l’OS. De même, il y a un cas particulier qui force la date du Mac au 1er avril 1976.

EN fait, si vous démarrez sur un DVD d’installation de Mac OS X avec une machine dont la date est antérieure à 1971, le script qui charge le système la fixe au 1er avril 1976, date de création d’Apple.

Avant

Avant


Après

Après

Voilà le script, j’ai pas vraiment cherché, mais en gros c’est pour les trucs avant 1971 si j’ai bien compris. Sur un Mac récent, ça ne marchera pas, vu que la date par défaut de l’EFI est 2001.

#
# Sanity check date & time. Pin to 4/1/1976.
#
if [ `date +%s` -lt 197193600 ]; then
date 040100001976

Le code est dans /etc/rc.cdrom, chargé au lancement du DVD d’installation.