Découvert grâce à un billet de Ars Technica, j'ai fait l'acquisition d'un Samsung Galaxy S[1] tournant sous Android. La critique du Journal du Geek ainsi que la revue de FrAndroid sont globalement très positives, et je dois dire que je suis particulièrement content de cet androphone.

Toutefois, trois raisons[2] m'ont inévitablement amené à le bidouiller :

  1. Le GPS était défaillant, il était impossible de l'utiliser tel quel, or c'est pour moi un élément primordial d'un smartphone moderne ;
  2. Il semblait possible d'accélérer le firmware, et même si ce n'est pas toujours essentiel, cette fois j'avais bien envie de profiter d'un peu plus de rapidité ;
  3. La version d'Android livrée était Eclair, or Froyo étant sortie, le geek en moi rêvait de l'essayer !

Pour mettre à jour le firmware il faudra procéder en quatre étapes, en commençant par rooter le Galaxy S, puis après avoir pris soin de sauvegarder tout ce qui peut être important on procèdera au flashage d'un nouveau firmware, avant de terminer par quelques corrections et optimisations.

Traiter à la racine

Avant toute manipulation, il va falloir rooter le Galaxy S. Pour cela, je recommande fortement l'utilisation de z4root qui permet de rooter et dérooter son téléphone à partir d'une application installable sur le téléphone et de se passer de l'installation d'un logiciel sur l'ordinateur, ce qui est plus pratique sachant que ce dernier est sous Ubuntu, et que la plupart des logiciels pour rooter le Galaxy S fonctionnent sous Windows…

Sauvegarder sa santé d'esprit[3]

Pour se préparer au pire (ou presque), il faut sauvegarder le système dans son ensemble, il semblerait que la référence soit de faire un nandroid backup. À cette fin, j'ai utilisé une méthode basée sur ROM Manager de ClockWorkMod qui exploite un recovery modifié. Mais ce n'est peut-être pas la méthode la plus simple si l'on se réfère au premier lien…

Pour effectuer une sauvegarde par application, Titanium Backup est l'application la plus connue, mais il en existe d'autres.

Il faut s'assurer de bien comprendre la différence entre Nandroid Backup et Titanium Backup car leurs finalités sont différentes. Peut-être ai-je mal réalisé mon Titanium Backup, mais les applications SMS Backup & Restore et Call Logs Backup & Restore m'ont également été fort utiles pour conserver (respectivement) mes SMS et mon journal d'appel.

Se mettre à la page

Afin de flasher le Galaxy S sous GNU/Linux, il est possible d'utiliser Heimdall. Pour les utilisateurs d’Ubuntu il existe le PPA d'Heimdall. La procédure à suivre est relativement simple :

  1. Charger complètement le téléphone (ça va plus vite avec une prise de courant) ;
  2. Brancher votre Galaxy S en mode download, pour cela il faut l'éteindre, le brancher en USB, puis l'allumer en appuyant sur « Volume bas + Home + Power », il s'affiche un gros panneau travaux mettant en scène un android creusant avec une pelle (si l'accès au mode download est impossible, c'est que votre Galaxy S est bridé et il va falloir suivre ce tutoriel pour débrider votre Galaxy S) ;
  3. Récupérer un firmware pour le Galaxy S, pour cela on pourra utiliser la liste de firmwares de FrAndroid ou SamFirmware, en pensant également à télécharger le fichier PIT correspondant au firmware choisi ;
  4. Extraire toutes les archives du firmware (CODE, MODEM et CSC) dans un même répertoire en finissant par le CSC qui effacera éventuellement quelques autres fichiers (c'est normal), placer également le fichier PIT associé au firmware dans ce répertoire ;
  5. Enfin, dans un terminal, naviguer jusqu'au répertoire du firmware et flasher ce dernier grâce à Heimdall.

Voici un exemple de flash complet, mais il ne faut utiliser que les paramètres correspondant aux fichiers du firmware flashé :

sudo heimdall flash --pit s1_odin_20100512.pit --factoryfs factoryfs.rfs --cache cache.rfs --dbdata dbdata.rfs --boot boot.bin --secondary Sbl.bin --param param.lfs --kernel zImage --modem modem.bin

Le choix du firmware est probablement l'étape la plus importante. Il existe également des firmwares alternatifs, comme par exemple CyanogenMod même si ce dernier ne publie pas encore de version pour le Galaxy S. Suivant le firmware choisi, il faudra éventuellement réaliser un premier flash intermédiaire. Par exemple, dans mon cas, pour passer de la version JF3 à la version JPA, j'ai d'abord du flasher une version JM8 puis la version JPA désirée. Heimdall ne permettant pas encore de re-partitionner, j'ai utilisé le PIT 503 avec le firmware JPA et cela à fonctionné correctement malgré tout…

Il existe également gHeimdall, une interface graphique pour Heimdall, appréhendable facilement grâce au tutoriel de gHeimdall de Galaxy S Team. Toutefois, au vu du site de Heimdall, il semblerait qu'il existe désormais une interface graphique officielle.

Attention ! Suite à un flash raté, il est possible que vous ayez « briqué » votre Galaxy S : il sera complètement inutilisable, ce ne sera plus qu'une brique… Vous pourrez alors tenter de fabriquer un cable Micro USB modifié pour débriquer le Galaxy S et pouvoir à nouveau accéder au mode download pour tenter un nouveau flash. Ou, le cas échéant, le renvoyer au service après-vente, mais rien ne garanti que ce sera gratuit ou même réparable, donc effectuez les manipulations décrites ci-dessus à vos risques et périls !!

Minimaxer

En vrac, voici en quoi optimiser le Samsung Galaxy S :

Les chandelles, ça marche…

Pour conclure, je dirais que le passage de Eclair à Froyo et le Voodoo Lagfix de Curio ont fait un bien immense lors de l'utilisation au quotidien de mon Galaxy S. Quadrant, qui permet d'évaluer la puissance de son androphone, m'affiche une amélioration d'environ +80% par rapport à la puissance initiale.

Quand au GPS, il fonctionne maintenant à merveille… pour un téléphone ! C'est GPS Test qui m'a permit d'évaluer les performances et améliorations de mon GPS. Toutefois, le GPS n'est utilisable correctement en voiture qu'à la condition d'avoir un bras avec un ventouse à clip (c'est plus solide) et un chargeur (pour l'autonomie).

Références

Notes

[1] Sammy de son petit nom :D !

[2] Deux étant le chiffre du doute, ce n'était pas suffisant…

[3] L'humour renforce notre instinct de survie et sauvegarde notre santé d'esprit. (Charlie Chaplin)