Suite à la mise à jour du firmware de l'iPod Touch (et de l'iPhone, mais ça, je n'en ai pas) en version 1.1.4, j'ai décidé de tester le "jailbreak", c'est-à-dire de débloquer l'accès complet à l'ipod.

Ce petit baladeur tourne en effet sur une version allégée de MacOS X, autrement dit, il s'agit d'un système appartenant à la famille BSD des systèmes unix (unix au sens large, je doute que la version installée sur mon ipod ait fait l'objet d'une certification auprès de l'Open Group). On peut donc y installer tout un ensemble de logiciels très intéressants ... à condition de l'avoir débloqué.

Pour ce faire, j'ai utilisé ZiPhone, en version 2.5c (disponible pour MacOS et Windows), qui fait tout ça tout seul, comme un grand : il suffit de brancher lancer ZiPhone, brancher l'ipod, et cliquer sur "jailbreak". L'opération fait défiler pas mal de texte sur l'écran de l'ipod, mais pas de souci, même si ça y ressemble, ce n'est pas un kernel panic. En moins d'une minute, l'appareil aura redémarré et vous proposera une nouvelle application : Installer.

Cet installer est un gestionnaire de paquets, qui vous permettra de télécharger et d'installer automatiquement de nombreuses applications, directement via la connexion wifi. Attention toutefois, le système est installé sur une minuscule partition de 300 Mo, déjà quasiment pleine. Il est donc recommandé de déplacer le répertoire contenant les applications sur la partition utilisée pour le contenu multimédia.

  1. via l'installer, dans l'onglet install, aller dans la catégorie Sources et ajouter "Community Sources" et "Bigboss's Recommended"
  2. dans la catégorie System, installer le "BSD Subsystem"
  3. dans la catégorie System, installer "OpenSSH"
  4. Se Connecter sur l'ipod via ssh, avec le compte root et le mot de passe alpine - la première connexion sera longue, le temps que l'ipod génère sa paire clé publique/clé privée
  5. Déplacer le répertoire /Applications dans la partition /private et créer le lien symbolique adéquat (ou, si vous êtes feignants, utilisez directement l'application BossTool qui peut faire ce déplacement pour vous) :
# mv /Applications /private/var # ln -s /private/var/Applications /Applications

A partir de là, vous utilisez l'espace libre du baladeur comme espace de stockage pour vos applications, ce qui laisse tout de suite plus de marge.

Suite à ce déplacement, j'ai rencontré un problème avec l'Installer, qui générait l'erreur Main script execution failed à chaque tentative d'installation d'un package. Ce problème s'est résolu en lui ajoutant le bit setuid :

# chmod u+s /private/var/Applications/Installer.app/Installer

Voici également quelques applications intéressantes :

  • SummerBoard : gestionnaire de thèmes

  • Term-vt100 : terminal (voir ci-dessous pour un problème courant avec ce package)

  • BossPrefs : outil modulaire permettant de gérer les préférences de multiples packages, dont notamment l'activation ou non du serveur ssh

  • PDFViewer : visionneuse de documents PDF (lit les documents dans /private/var/Media/PDF)

  • Stumbler : découverte de réseaux wifi

  • VNsea : client VNC

  • gawk-ja : GNU awk

  • perl : ben ... perl

Un problème courant avec le package Term-vt100 est la non-reconnaissance du mot de passe root lors d'une tentative de login. Pour le résoudre, il faut se connecter en ssh sur la machine et entrer les commandes suivantes :

# mkdir -p /usr/local/arm-apple-darwin/lib # ln -s /usr/lib/libgcc_s.1.dylib /usr/local/arm-apple-darwin/lib

Vous pouvez également utiliser le correctif disponible directement via l'Installer, dans la rubrique Tweaks. Et voilà, un petit terminal BSD mobile!

EDIT : ça y est, j'ai fait la bêtise à ne pas faire, j'ai utilisé la commande passwd pour changer le mot de passe root. C'est à proscrire si vous utilisez le gestionnaire de thèmes SummerBoard, il part en boucle et la seule solution est de restaurer le firmware et de repartir de zéro. D'un autre côté, maintenant, je maîtrise le processus!