Artisan Numérique

/vintage/zaurus/ Installer une nouvelle ROM sur le Zaurus

Les installations de nouvelles ROM sont chose courante sur le Zaurus et pourtant les processus sont loin d'être simples à mettre en œuvre pour quelqu'un qui ne connaît pas encore bien cette machine. J'ai essayé dans ce tutorial de regrouper l'ensemble des modes d'emploi pour la majorité des ROM existantes sur le Zaurus.

ROM ? kézako ?

Tout d'abord, il est important de comprendre un peu comment se structure la ROM du Zaurus. En réalité, ROM ne veut pas dire grand chose, il s'agit de mémoire Flash (appelé aussi mémoire NAND). Sur un SL-C1000, il y a 128mo de mémoire flash à ne pas confondre avec les 64mo de mémoire vive. Sur tous les Zaurus, hors la série des SL-C3100/3200, la mémoire Flash est utilisée comme un disque dur. D'ailleurs, pour les SL-C3100/3200, il y a très peu de mémoire flash car il y a ... un disque dur. Pour l'instant je n'ai pas une vue bien précise de ce qui se trouve dans cette fameuse Flash. Plutôt que d'écrire des bêtises, je vais donc aborder cela d'un point de vue fonctionnel.

Nous avons une zone contenant le bootoader (le bout de logiciel qui démarre le Zaurus) ainsi que le menu de maintenance, c'est celui qui s'affiche avec un Zaurus d'origine lorsque vous pressez la touche OK ou ON en démarrant. Il permet la mise à jour du linux et l'installation d'une bonne partie des ROM alternatives (cacko, pdaXrom avant la béta 4, etc.).

Ensuite nous avons le menu de Diagnostic. C'est celui qui s'affiche en pressant D et M avant de brancher le Zaurus. Ce menu permet de vider toute la mémoire flash (sauf les 14mo dont nous parlons ici), de recharger une copie de la flash à partir d'une carte SD ou CF, faire une copie de la flash vers une carte CF ou SD, et plein d'autre chose que vous pouvez expérimenter à vos risques et périls...

Puis nous avons une copie de sauvegarde du menu diagnostic. Elle a toute son importance quant le Zaurus ne boot plus car elle, elle fonctionne toujours. Elle s'active en pressant Fn D et M avant de brancher le Zaurus.

Quelles ROM existent ?

Pour faire simple, la réponse est... beaucoup mais il est possible de la classifier un peu pour pouvoir s'y retrouver.

Tout d'abord les ROM basées sur Qt/Qtopia et celles sur X11. Pour un béotien, la grosse différence entre ces deux modes d'affichage graphique, est que X11 permet d'utiliser sur le Zaurus virtuellement toutes les applications écrites pour les unix (y compris FireFox, AbiWord, etc) et Qt implique d'utiliser des applications spécifiquement conçues pour lui. Qt est censé être plus rapide que X11 en affichage et est souvent préféré pour l'utilisation d'un Zaurus en mode PDA. Il existe cependant un "pont", un logiciel permettant d'émuler un serveur X11 sous Qt.

L'autre différence entre les ROM se situe au niveau du kernel. La ROM d'origine de SHARP utilise un kernel 2.4 et la société a écrit un certain nombre de pilotes spécifiques pour le Zaurus qui n'existent pas dans le monde libre (ex. pilotes rapide pour les cartes SD). Une distribution basée sur un kernel 2.4 peut donc utiliser ces pilotes tandis que les kernels 2.6 ne le peuvent plus, ce sont des distributions totalement dé-corrélées de ce qu'avait fabriqué SHARP.

ROM SHARP

C'est le point de départ, la ROM d'origine rêvée pour ceux qui veulent bosser leur japonnais, un enfer pour les autres qui ne comprennent rien au moindre menu. Cette ROM est basée sur un kernel 2.4 et sur un affichage Qt. Tous les pilotes sont écrits par les développeurs de SHARP et sont plutôt bien fait. C'est particulièrement vrai pour le pilote du lecteur de carte SD qui est 4 fois plus rapide que son homologue libre. La raison en est que le développeur qui a créé le pilote libre n'utilise qu'un bit sur 4 pour accéder au média.

J'en connais peu qui utilisent cette ROM, le but est généralement d'en changer le plus vite possible pour commencer à utiliser le Zaurus. Il est cependant parfois utile de l'utiliser pour "remettre à zéro" le Zaurus et ainsi repartir sur la version d'origine.

L'installation de cette ROM passe par la procédure de "restauration de la NAND" (voir plus bas).

Trisoft

C'est ici le distributeur Allemand de feu Zaurus qui propose ce remplacement de la ROM d'origine Japonaise par une version en Anglais en y ajoutant quelques logiciels (agenda, organizer, etc...). Ces ajouts exclus, cette ROM est strictement la même que celle d'origine.

L'installation de cette ROM passe par la procédure de "restauration de la NAND" (voir plus bas).

cacko

La ROM cacko est un petit bijou. Comme la TriSoft, elle est basée sur la version originale de Sharp (Kernel 2.4/Qt) mais s'en éloigne par une meilleur ergonomie, et une foule d'amélioration et d'applications bonus (netfront, opéra, etc.). En plus, en cherchant bien, il existe à travers le net un nombre important de paquet provenant de divers contributeurs pour cette distribution quasi-mythique.

La fonction de mise en veille marche parfaitement sous la cacko, comme avec la trisoft et utilisant le pilote SD de SHARP, ce média est à plein capacité. C'est une distribution que je conseil à tous ceux qui débute avec un Zaurus et qui cherche plus un PDA qu'un micro-laptop ou encore ceux qui veulent quelque chose de simplement fonctionnel où tout marche sans se poser de question. L'inconvénient de la cacko, comme de la Trisoft d'ailleurs, est que les logiciels inclus commencent à vieillir un peu.

La cacko s'installe simplement par la procédure de mise à jour "classique" (voir plus loin).

pdaXrom (jusqu'à la béta 3 incluse) et pdaXii13

Il s'agit là d'une ROM bien différente des précédentes car elle n'est plus basée sur Qt mais sur un petit serveur X11 transformant le Zaurus un véritable micro-laptop. En revanche cette distribution utilise un kernel 2.4 et bénéficie donc des pilotes SHARP. pdaXrom est passé en kernel 2.6 à partir de sa beta 4 mais la beta 3 garde ses aficionados qui ont décidé de créer leur propre distribution à partir de celle-ci, la pdaXii13. Il s'agit essentiellement d'une version debuggée de la beta 3, avec le même kernel mais utilisant le pilote SD libre, ce qui monte la capacité des cartes à plus de 2GO au détriment de la vitesse. Originellement conçue pour le SL-C3100 (Zaurus avec disque dur), cette distribution a été portée avec plus ou moins de succès sur le SL-C1000 (akita). Personnellement j'ai eu "quelques" soucis avec comme une mise en veille qui ne fonctionne pas...

La pdaXrom beta 3 comme la pdaXii13 s'installent simplement par la procédure de mise à jour "classique" (voir plus loin).

pdaXrom béta 4 et plus

Cette ROM est la même que la précédente avec beaucoup d'améliorations liées à son passage au kernel 2.6. En contrepartie, cette mise à niveau la rend bien sur totalement incompatible avec les pilotes SHARP. Certains la trouvent moins stable que la béta 3 mais je la préfère pour sa robustesse en terme de gestion d'énergie. Cette mouture est globalement plus réactive que les distributions basées sur une 2.4, la raison en étant une meilleur gestion des processus (mode préemptif). A noter que certains outils wifi sont cassés en 2.6, il est par exemple devenu impossible avec ma Symbol d'énumérer les réseaux disponibles, un peu gênant.

La pdaXrom beta 4 et plus s'installe par la procédure de mise à jour "avancée" (voir plus loin).

Ångström

A l'origine il y avait OpenZaurus, une distribution issue du plus vase projet OpenEmbeded. Puis OpenZaurus est mort pour donner naissance à Ångström, une distribution générique à un grand nombre de plate-formes de poches, dont le Zaurus évidement. C'est une plate-forme très ambivalente fonctionnant sur un noyau linux 2.6. Elle existe en version X11/GPE (la version PDA de Gnome), Qt/OPIE (version pda de Kde) et même Enlightenment E17, le futuriste gestionnaire de fenêtre (Ceci dit, il existe aussi des paquets E17 sous pdaXrom). D'un point de vue fonctionnel, cette distribution est très proche de pdaXrom en se voulant plus professionnelle, et plus proche des dernières évolutions. La contrepartie est qu'elle est constamment en béta et souffre de bugs assez gênant, notamment dans les gestions des périphériques USB (les mode câble host n'est pas détecté), la gestion du plein écran impossible (dur pour les vidéos dans le métro), et une mise en veille parfois mortelle... Intéressante, pas sèche mais un avenir certain. A surveiller.

Ångström s'installe par la procédure de mise à jour "avancée" (voir plus loin).

Debian pour Zaurus

Non testé

Gentoo pour Zaurus

Non testé. Le projet ne semble pas très actif.

OpenBSD pour Zaurus

Non testé. Ne fonctionne que sur les modèles à disque dur.

Pokylinux

Non testé. Il s'agit là d'une autre distribution orientée PDA et basée sur Ångström. Un test peut être consulté ici.

OpenMoko

Non testé. Encore une distribution basée sur Ångström originellement crée en tant qu'OS libre pour les SmartPhones.

Installation de la nouvelle ROM

Les règles de base

Tout d'abord les règles d'OR pour que les mises à jour se passent le mieux possible :

Ne jamais, lors d'une mise à jour, avoir en même temps une carte SD et CF (mémoire ou pas). Faites un choix et tenez-y vous. Si vous utilisez une SD, enlever la CF pour tout le reste du processus, et vice versa.

Le media choisi (CF ou SD) doit être impérativement formaté en FAT16. Rien ne marchera sans cela. Vous pouvez formater une carte une fois pour toute et n'aurez pas à le faire à chaque fois mais il faut que ce soit ce formatage là et pas un autre (pas de FAT32 par exemple, ni NTFS).

Prenez plutôt une petite carte SD/CF de 256/512 mo car dans ces phases délicates de mise à jour, le Zaurus a quelques problèmes à comprendre les grosses cartes (ma Transcend SD 1Gb ne passe par exemple pas !).

Avant de commencer, sauvegardez vos données personnelles sur une carte, à l'abri. Les procédures de mise à jour qui suivent (notamment la restauration de la flash) détruisent TOUTES les données du Zaurus. Vous êtes prévenu...

Les combinaisons de touches sont un peu surprenantes mais la manière simple de les effectuer est simplement de poser le Zaurus sur une table, de presser les touches avec les doigts d'une main, ce qui maintient le Zaurus contre la table, et d'insérer le câble d'alimentation de l'autre main. C'est peut-être idiot comme conseil mais j'aurais aimé que l'on me le donne avant d'attraper des crampes ;-)

Toutes les manipulations qui suivent se font batterie éjectée, alimentation externe débranchée, toutes les cartes éjectées (CF et SD). Vous ne remettrez la batterie que lorsque tout fonctionnera.

Backup de la mémoire NAND

Ce processus n'a en soit que l'intérêt de mettre une configuration à l'abri avant de faire une mise à jour un peu rodéo. Personnellement je n'ai jamais fait de sauvegarde autre que pour ce tutorial. J'utilise directement les backups existants pour remettre mon Zaurus à l'état d'origine. Je part du principe que toutes les règles de bases citées plus haut sont respectées : formatage en Fat16, batterie éjectée, alimentation externe débranchée, etc.

  1. Le Zaurus est éteint, batterie retirée, alimentation retirée et aucune carte n'est insérée (CF ou SD)
  2. Insérez la carte qui contiendra le backup dans votre Zaurus.
  3. Presser les touches Fn, D et M en même temps, et insérez la prise d'alimentation externe. Le menu de diagnostic doit apparaître. Vous pouvez relâcher les touches.
  4. Avec les flèches Haut et Bas, allez sur la page SERVICE(3/3)
  5. Avec les flèches Gauche et Droite allez dans le menu BACKUP RESTORE MENU. Pressez OK
  6. Descendez sur NAND Flash Backup, pressez OK.
  7. Le menu affiche Execute Backup? Pressez OK. Cela devrait afficher Backup... avec une barre de progression pouvant aller de 10 à 30 minutes.
  8. Une fois fini, le menu affiche OK. Vous pouvez débrancher l'alimentation. Remettez la batterie et pressez On pour redémarrer le Zaurus.

Restauration de la NAND

Revenir à la ROM d'origine du Zaurus peut avoir plusieurs raisons. Tout d'abord pour repasser d'un version >4 de pdaXrom à une version plus ancienne. Mais aussi s'il l'on décide finalement que la ROM d'origine nous convient mieux (du moins sa version traduite en anglais).

Une autre raison pouvant vous amener à restaurer une ROM d'origine est simplement que le Zaurus ne boot plus du tout. En effet, il est normalement toujours possible d'effectuer ce qui suit. J'utilise exprès la procédure d'urgence, c'est à dire la copie de sauvegarde du menu de maintenance qui est toujours sensé fonctionner.

Tout d'abord pour restaurer une image d'origine, il faut en posséder une. Des images sont disponibles sur le site de Trisoft à l'adresse http://www.trisoft.de/en_c1000howto.htm. Je vous conseille de télécharger celle qui correspond à votre Zaurus et de la garder précieusement dans un coin. C'est une archive Zip qui doit contenir un seul fichier SYSTC100.DBK.

  1. Le Zaurus est éteint, batterie retirée, alimentation retirée et aucune carte n'est insérée (CF ou SD)
  2. Copier sur la carte, à la racine, le fichier de backup qui doit se nommer SYSTC100.DBK
  3. Insérez la carte dans le Zaurus
  4. Presser les touches Fn, D et M en même temps, et insérez la prise d'alimentation externe. Le menu de diagnostic doit apparaître. Vous pouvez relâcher les touches.
  5. Avec les flèches Haut et Bas, allez sur la page SERVICE(3/3)
  6. Avec les flèches Gauche et Droite allez dans le menu BACKUP RESTORE MENU. Pressez OK
  7. Descendez sur NAND Flash Restore, pressez OK.
  8. Presser OK à la question Execute restore?
  9. Puis encore OK à la question Delete all flash data?
  10. Le menu affiche Restore...La restauration devrait s'effectuer avec une barre de progression verte en bas de l'écran.
  11. Une fois fini, le menu affiche OK. Vous pouvez débrancher l'alimentation. Remettez la batterie et pressez On pour redémarrer le Zaurus.

Mise à jour "classique"

Le Zaurus est donc à son état d'origine (voir chapitre précédent). Nous allons installer la rom ancienne génération pdaXrom béta 3 (La procédure pour OpenZaurus est à peu près la même). Il faut d'abord télécharger sur le site de pdaXrom le fichier kathrin-1.1.0beta3-akita.zip. Il contient trois fichiers : initrd.bin tools.tar updater.sh.

  1. Le Zaurus est éteint, batterie retirée, alimentation retirée et aucune carte n'est insérée (CF ou SD)
  2. Copier à la racine de la carte les fichiers initrd.bin tools.tar et updater.sh
  3. Insérez la carte dans le Zaurus
  4. Insérez la batterie (et la verrouiller) et insérez l'alimentation externe
  5. Pressez la touche OK et en la maintenant appuyée, pressez le bouton ON.
  6. Le menu de maintenance doit apparaître (en Japonais).
  7. Descendez avec les touches haut et bas sur la ligne n°4 et pressez OK
  8. Si vous avez inséré une carte CF, restez sur la ligne n°1, sinon, allez sur la ligne n°2. Pressez OK
  9. En japonais, le menu vous demande poliment si vous êtes sûr de ce que vous faites. Pressez la touche Y.
  10. Le processus de mise à jour démarre.
  11. L'installateur de pdaXrom vous propose son menu, sélectionnez Install a new ROM puis pressez OK.
  12. L'installateur commence à flasher la ROM.
  13. L'installateur vous demande s'il doit flasher la zone utilisateur, pressez OK
  14. Une fois son travail terminé, l'installateur vous re-propose son menu, descendez jusqu'à Reboot, pressez OK
  15. Si tout c'est bien passé, le Zaurus boot correctement et affiche au bout d'un temps l'invite de connexion pdaXrom 1.1.0r3 "Kathrin".
  16. Tapez root puis OK. Vous êtes connecté, une invite s'affiche #
  17. Pour démarrer le mode graphique tapez startx puis OK. La serveur graphique démarre, et vous demande de calibrer le stylet. C'est terminé.

Mise à jour "étendue" (pdaXrom beta 4 et plus)

Attention, ce qui suit ne fonctionne pas avec une carte Compacte Flash !!!

  1. Le Zaurus est éteint, batterie retirée, alimentation retirée et aucune carte n'est insérée (CF ou SD)
  2. Télécharger le fichier pdaXrom-1.1.0r121-Kathrin-u-boot-akita-current.zip (4/5mo) qui se trouve ici.
  3. Vider le contenu de votre carte SD et décompressez à sa racine le contenu de l'archive téléchargée : autoboot.sh emergenc.img u-boot.bin updater.pro updater.sh
  4. Insérez la carte SD dans votre Zaurus.
  5. Presser les touches C et D en même temps, et insérez la prise d'alimentation externe.
  6. Les leds verte et jaune vont s'allumer en même temps. Vous pouvez relâcher les touches. Les leds vont rester allumer pendant une vingtaine de secondes. Attention l'écran ne dis rien et c'est normal ! Si les deux leds ne s'éteignent jamais, vérifier que vous n'avez pas une CF de type WIFI (ou autre) dans le Zaurus en même temps que la SD. Si les deux Leds se mettent à clignoter c'est que quelque chose ne va pas avec votre carte, que vous n'avez pas formaté en FAT16 ou encore que vous avez laissé insérée une CF et une SD, il faut faire un choix ;-).
  7. Lorsque les Leds s'éteignent, débranchez l'alimentation. C'est terminé.

Le bootloader et le menu emergency sont installés. Notez qu'une fois ceci fait, l'installation d'une ROM d'ancienne génération est impossible car il n'y a plus de menu de maintenance. Vous devez donc passez par la restauration de la ROM d'origine. Ceci dit, si vous n'installez plus que des ROM nouvelle génération, l'installation que vous venez de faire n'est pas à recommencer à chaque fois. C'est fait une fois pour toute, du moins jusqu'à ce que u-boot change de version ou soit remplacé par autre chose...

Une chose importante à comprendre au sujet du menu emergency est qu'il s'agit d'un vrai linux. EN fait, lorsque vous passez en mode emergency (en pressant ON avant allumage du Zaurus), le bootloader (u-boot) va démarrer non pas sur le kernel standard, mais sur ce kernel emergency de secours. Une fois que celui-ci a démarré, il va regarder le lecteur SD (et seulement lui !!) s'il existe un fichier nommé autoboot.sh. Si ce fichier existe, il va être exécuté, sinon, le linux de maintenance donne la main à l'utilisateur pour saisir des commandes d'urgence. Il s'agit donc à la fois d'un système de mise à jour et d'un système de "démarrage sans échec" en cas de gros problème.

Maintenant que le bootloader est installé, il faut passer à l'installation de pdaXrom lui-même.

  1. Le Zaurus est éteint, batterie retirée, alimentation retirée et aucune carte n'est insérée (CF ou SD)
  2. Télécharger l'archive pdaXrom-1.1.0r121-Kathrin-akita-current.zip (45/50mo)
  3. Effacer tous les fichiers sur votre carte SD.
  4. Décompresser à la racine de la carte mémoire le contenu de l'archive : autoboot.sh kernel.img rootfs.img
  5. Insérez la carte dans votre Zaurus.
  6. Presser les touches OK et en même temps, insérez la prise d'alimentation externe.
  7. Lorsque quelque chose s'affiche à l'écran, vous pouvez relâcher la touche OK. Au bout d'un temps, le menu pdaXrom emergency system apparaît et s'arrête sur une question Proceed with pdaxrom installation or boot to emergency system.
  8. Tapez y puis OK
  9. L'installateur procéde au flashage de la nouvelle ROM
  10. L'installateur va rebooter le Zaurus.
  11. Si tout c'est bien passé, le Zaurus boot correctement et affiche au bout d'un temps l'invite de connection pdaXrom 1.1.0r121 "Kathrin".
  12. Tapez root puis OK. Vous êtes connecté, une invite s'affiche #
  13. Pour démarrer le mode graphique tapez startx puis OK. La serveur graphique démarre, et vous demande de calibrer le stylet. C'est terminé.