Je suis Charlie

Autres trucs

Accueil

Seulement les RFC

Seulement les fiches de lecture

Mon livre « Cyberstructure »

Ève

Maman, j'ai rooté mon téléphone

Première rédaction de cet article le 15 mai 2011


Voilà, c'est tout à fait banal, des tas de gens l'ont déjà fait mais je n'ai sauté le pas que récemment, je suis passé root sur mon téléphone portable (un HTC Desire). Je contrôle désormais tout de mon système Android.

Pourquoi rooter son téléphone ? Il y a des tas de bonnes raisons mais, dans mon cas, la principale a été une bogue du système Android qui, suite au crash d'une application (Plume, lors d'une purge de son cache), ne démarrait plus ou, plus exactement, était coincé dans la bien connue « boucle de démarrage » (boot loop) : Android démarre, crashe, redémarre, recrashe, etc. Le système d'exploitation installé par HTC sur ce téléphone ne fournissait qu'un seul moyen de s'en sortir, le Hard reset (on démarre le téléphone avec les boutons Power et Volume down enfoncés et on choisit l'option Clear storage qui ramène aux réglages d'usine... et vous fait perdre vos données et configurations). J'avais hésité à rooter le téléphone par souci d'éviter les ennuis, pour avoir un usage pépère du téléphone, et j'ai quand même eu une bogue gravissime. Tant qu'à avoir des problèmes, me suis-je dit, autant avoir des problèmes en étant root.

Pour l'amusement et l'instruction du public, voici les étapes que j'ai suivies :

  • La documentation de CyanogenMod est très bien faite et c'est celle que j'ai suivi : http://wiki.cyanogenmod.com/index.php?title=HTC_Desire_(GSM):_Full_Update_Guide et marche parfaitement. (Attention, seules les trois premières étapes concernent le rootage, les autres sont pour l'installation de Cyanogen, une version alternative d'Android. C'est fort intéressant mais ce n'est pas du rootage. rooter est nécessaire pour installer un nouveau système mais on peut rooter sans changer de système. Ces trois premières étapes conviennent donc même si on veut installer autre chose que Cyanogen.)
  • Téléchargement de la version Linux de Unrevoked pour ma Debian. Pas de source disponible, apparemment. Dans le monde du smartphone, pour se libérer et passer root, il faut utiliser un logiciel « boîte noire »...
  • Naturellement, on fait des sauvegardes. Dans mon cas, tout s'est bien passé (et, de toute façon, tout avait été perdu par le Hard reset) mais rooter est une opération dangereuse. Faire des sauvegardes ne peut pas faire de mal. Pour garder tout ce qui est sur la carte SD du HTC Desire, je branche sur la machine Debian en USB, et je rsynce : sudo rsync -av /media/usb0 HC-Desire-2011-05-13.
  • Je lance Unrevoked (une interface graphique est obligatoire, d'où le -E pour exporter la variable d'environnement DISPLAY : sudo -E ./reflash. On suite alors simplement les instructions de Unrevoked. Cette étape-là est très simple, bien plus que ce qu'on trouve dans certains tutoriels sur le Web. On est désormais root. Les applications qui demandent à passer root produiront une demande d'autorisation sur l'écran (la sécurité des smartphones reste un problème ouvert).
  • Pour manipuler par la suite les images (le monde Android, bizarremment, appelle cela des ROM alors que cela n'a rien à voir avec les ROM), j'ai installé ROM manager (en utilisant le market Google).
  • Avec l'application ROM Manager, j'ai installé ClockworkMod Recovery, qui permet, au démarrage du téléphone, de faire plein de manipulations intéressantes.

Voilà, c'est tout, le téléphone est prêt pour de nouvelles aventures (comme l'installation d'un système alternatif, j'ai commencé avec MIUI).

Un des avantages d'être root est qu'on peut utiliser un outil de capture d'écran. (Ceux-ci nécessitent un accès à la mémoire physique de l'écran, donc ne sont pas possibles sur un téléphone non rooté.) Voici par exemple une copie, faite avec AndroSS, du journal des autorisations (applications qui sont passées root) : android-superu-log.png.

Un autre avantage est qu'on dispose d'un émulateur de terminal, et qu'on peut donc avoir accès à un vrai shell Unix. Voici un exemple, avec l'émulateur de CyanogenMod : android-term-emulator.png.

Version PDF de cette page (mais vous pouvez aussi imprimer depuis votre navigateur, il y a une feuille de style prévue pour cela)

Source XML de cette page (cette page est distribuée sous les termes de la licence GFDL)