Chikuma
ipod classic · firmware · en cours
Je refais le firmware d'origine de l'iPod Classic en modules que je peux recompiler et bidouiller. Je veux qu'il se comporte comme l'original, refaire la sortie du compilateur à l'octet près, je m'en fiche. C'est venu après Tunes, mon serveur de musique et ses lecteurs.
Pour le reverse de Chikuma, c'est par ici que ça se passe : chikuma.ringum.net.

Comment je le vérifie¶
Il tourne sur un modèle QEMU de l'iPod Classic. Le firmware d'origine démarre sur la même machine avec le même disque, donc je peux faire passer les deux par les mêmes écrans et comparer les captures pixel par pixel.
Chaque fois qu'un truc marche, j'ajoute une vérification qui tourne dans l'émulateur. Quand j'ai dû inventer du code au lieu de le retrouver, je le note.
Ce qui marche¶
- Il démarre depuis le reset, en passant par la mask ROM de boot et le bootloader EFI d'Apple, reproduits eux aussi.
- Le noyau temps réel, le disque, les systèmes de fichiers, l'écran, la molette et la gestion de l'alimentation.
- La musique passe par le décodeur matériel de l'iPod, et la vidéo se décode.
- Les menus sortent de l'archive d'interface du firmware, on peut descendre dans Artistes, Albums et Morceaux, et ça marche dans les vingt langues d'Apple.
- iAP2 en USB, qui cause avec iAPCenter : lecture et pause, Now Playing avec la pochette, playlists et touches de télécommande.

Où j'en suis¶
Tout ça tourne dans QEMU pour l'instant. Je ne l'ai pas encore fait tourner sur mon iPod, donc il n'y a pas de version installable.