Rooter et passer un Galaxy S 2 sur CyanogenMod, c'est aisé
Par thisisabore le vendredi 16 septembre 2011, 02:07 - 21 century digital boy - Lien permanent
Bonjour ami jeune en quête de libération de ton nouvel ordiphone deluxe.
Tu souhaites te libérer de la vilaine ROM imposée par ton opérateur pour goûter aux joies du choix et de la liberté informatique ? C'est aisé.[1]
Notes
[1] Oui, il y a référence.
On va s'inspirer lourdement du how to[1] du wiki de CyanogenMod pour arriver à nos fins. La procédure à l'air longue, mais c'est parce que je parle beaucoup. Néanmoins, je vous recommande de tout lire une fois avant de commencer, pour savoir où vous allez.
Avant de commencer
Si vous êtes ici, je pars du principe que vous savez ce que vous voulez, les
implications que ça a, à savoir faire sauter la garantie commerciale.
Pour ce qui est des garanties de conformité et surtout celle contre les vices
cachés je ne pense pas, mais ça reste à tester…
Je précise que j'ai testé ce que je raconte sur un Galaxy S II acheté chez
SFR.
Il est possible que d'autres ROMs soient différentes. Faites quelques
recherches avant de vous lancer dans une procédure comme celle-ci, et ne vous
lancez pas si vous ne comprenez (vraiment) pas ce que vous faites.
Tout d'abord, téléchargez ce dont on va avoir besoin, à savoir des outils et la ROM.
Pour les outils, le kernel codeworkx avec la Recovery ClockworkMod, et la suite Heimdall :
Recovery Clockwork 4.0.1.4-galaxy2, md5 = 9ad7d943a2afecad09e87b33f3dba677
Suite Heimdall:
(Pour Windows et Mac OS X allez voir sur le wiki de CM)
Pour la ROM, la version de CyanogenMod la plus récente (avec ou sans les Google Apps, selon que vous ayez envie ou non de vendre votre vie privée) :
- CyanogenMod
nightly
(oui, on vit dangereusement, et surtout il n y a pas de version stable pour l'instant) - Google Apps sur le wiki de CM.
Bon, maintenant qu'on a tout, et avant quoi que ce soit d'autre, on va
surtout bien réfléchir au fait que rooter et passer son Galaxy S 2 sous
CyanogenMod implique d'effacer tout ce qu'il y a sur le téléphone (sur le
téléphone, pas la carte SD, donc pas les photos par exemple).
Donc, disparaitront SMS, historique de navigation, applis, réglages etc.
Je suppose que vos contacts sont synchronisés sur les serveurs de Google, et
reviendront une fois que vous aurez connecté votre téléphone à un compte
Google, ce que je suis sûr que vous ferez alors que j'essaye pourtant bien vous faire
comprendre que c'est maaal etc.
Si vous êtes un/e vrai/e et que vous ne comptez pas mettre la couche Google avec le paquet gapps, faites un export de vos contacts à partir de l'appli téléphone pour obtenir votre carnet d'adresses sous la forme d'un joli .vcf, et ainsi ne pas vous retrouver comme un con ensuite avec un téléphone tout beau, mais sans personne à appeler.
Si vous le souhaitez, vous pouvez utiliser Titanium backup pour sauvegarder un peu tout ça à la fois. Sinon, si vous souhaitez sauvegarder juste vos SMS, SMS Backup+ est assez chouette au sens où il vous permet de sauvegarder vos SMS sur n'importe quel serveur mail (et donc d'y accéder comme des mails, avec ce que ça implique d'archivage et de recherche) et de les restaurer à partir dudit serveur.
Bref, vous avez tout, vous n'allez pas criser ensuite ? Et votre téléphone est bien chargé ? C'est à dire à fond, histoire de ne pas prendre de risques…
La procédure en elle-même
Phase 1, ClockworkMod recovery
Alors… Côté ordinateur :
- Installez la suite Heimdall en double cliquant sur le .deb ou à coup de
- dpkg --install heimdall_1.3.0_i386.deb.
(Pour les Windowsien apparemment il faut tout un bordel genre Visual truc 2010, puis faut installer zadig.exe machin, ça a l'air chiant vous êtes prévenus. Sérieux prenez un vrai OS[2].)
- dpkg --install heimdall_1.3.0_i386.deb.
- Dans votre dossier perso, créez un dossier android dans lequel on va
travailler :
- clique droit > créer un dossier ou mkdir ~/android
- Décompressez le contenu de recovery-clockwork-4.0.1.4-galaxys2.tar (à savoir un seul fichier nommé zImage) dans votre dossier android.
- Dans un terminal (oui on va pas y couper là au terminal hein, faut savoir
ce qu'on veut dans la vie, si on veut rooter son téléphone et bah va falloir
faire avec) rendez vous dans le dossier de travail android qu'on a
créé :
- cd ~/android
Côté téléphone (on revient à l'ordi dans une seconde) :
- Dans le doute (je crois que c'est utile, mais pas sûr), activez le mode
déboggage USB :
- Réglages > applications > développement > activer déboggage USB
- Éteignez le tél (si si, c'est une étape).
- Rallumez le téléphone en mode download :
- Appuyez simultanément sur home + volume bas + power (le home c'est
le bouton carré en bas du téléphone hein).
Votre téléphone doit s'allumer et vous présenter un avertissement comme quoi si vous faites des conneries vous pouvez tout péter et de faire volume haut pour être un ouf gueudin ou bas pour se barrer en scred comme un pleutre. Faites volume haut.
Votre téléphone est désormais en mode download (ou Odin) en attente qu'on lui envoie un truc cool.
- Appuyez simultanément sur home + volume bas + power (le home c'est
le bouton carré en bas du téléphone hein).
- Branchez le câble micro USB entre le tél et l'ordinateur.
Côté ordinateur :
- Dans votre terminal placé dans ~/android dans lequel se trouve le fichier
zImage, lancez heimdall avec la commande suivante :
- sudo heimdall flash --kernel zImage
Ce qui veut dire en bon français, « heimdall, flashe moi un truc, ce truc est un kernel et il est le fichier zImage ».
Il faut lancer la commande en tant que root ou avec sudo, sinon vous aurez une erreur lsusb[3].
Si vous avez un doute sur le fait qu'heimdall trouve ou non votre tel, vous pouvez lancer un heimdall detect qui devrait vous renvoyer un message positif.
- sudo heimdall flash --kernel zImage
- D'après le wiki de CM une barre bleue de chargement doit apparaître pour montrer le transfert du kernel vers le téléphone. Je sais pas, je l'ai pas vue, je devais être trop distrait par les primaires socialistes. Ça doit être ça.
- Bref, votre téléphone redémarre. Et revient à un truc qui a l'air tout pareil (et pour cause, il l'est). Damnède, tout ça pour ça ?
Phase 2, CyanogenMod
Oui, tout ça pour ça. On vient d'installer une recovery bien plus utile, ouverte et puissante que celle livrée de base.
Celle-ci va nous permettre de sauvegarder et restaurer notre téléphone, installer les ROMs qu'on veut, et autre fioritures. On s'en tiendra à ces deux là pour l'instant.
Le téléphone étant allumé, on va en profiter pour y copier le .zip contenant la ROM CyanogenMod à proprement parler (quelque chose comme cm_galaxys2_full-39.zip) et les gapps si vous les voulez vraiment. Montez donc la mémoire du téléphone pour pouvoir y accéder depuis votre ordinateur et — après avoir vérifié les hash md5 hein — copiez le(s) fichier(s) zip à la racine de la mémoire du Galaxy S 2. Démontez tout ça, débranchez le câble, et en route pour la libération cyanogenmodesque[4].
- Éteignez le téléphone.
On va le rallumer cette fois-ci en mode recovery (« Ahh, c'est pour ça qu'on a mis une recovery améliorée ! »[5]).
Pour ce faire, on fait :
- home + volume haut + power.
L'écran de démarrage du Galaxy S 2 doit apparaître, avec un /!\, et au bout de quelques instants, le menu de Clockwork Recovery.
À partir de là, c'est assez simple. En utilisant les boutons de volume pour vous déplacer vers le haut et le bas, le home pour sélectionner et le power pour revenir en arrière :
- Optionnel, mais ne mange pas de pain : faites une sauvegarde du
système existant
- Sélectionnez backup and restore puis backup pour créer une sauvegarde de l'installation actuelle de votre Samsung Galaxy S II.
- Puis faites une remise à zéro du téléphone avec l'option Wipe data/factory reset.
- Faites de même pour le cache avec l'option Wipe cache partition.
- Enfin, on installe CM à proprement parler : choisissez Install zip from sdcard…
- …Puis Choose zip from sdcard et choisissez cm_galaxys2_full-39.zip qui doit se trouver à la racine de la mémoire de votre tel. Au bout de quelques instants (pas 2 secondes non plus), vous devriez voir mention du succès de l'opération.
- Si vous avez décidé d'installer les gapps, faites de nouveau Install zip from sdcard, puis Choose zip from sdcard et choisissez cette fois-ci le zip avec les gapps. Encore une fois, il devrait vous dire que tout est bon.
- Retournez au menu principal du ClockworkMod Recovery et choisissez Reboot system now pour redémarrer.
Votre téléphone doit démarrer sur CyanogenMod : félicitations, vous
avez réussi/vous êtes libre[6]/*insérer slogan de
victoire ici*.
(Le premier démarrage est un peu plus long que d'habitude, mais ne dure pas non
plus 10 mimutes.)
Vous n'avez plus qu'à installer vos applis préférées et régler votre CyanogenMod aux petits oignons.
Si vous n'avez pas installé la couche Google avec les gapps et que vous voulez un market alternatif, F-Droid est un marché ne proposant que du logiciel libre avec plein d'applis utiles et sympa.[7]
En cas de problème
Si le téléphone reste bloqué (plus de quelques minutes) sur le premier écran de démarrage du téléphone (c'est moche, mais ça arrive), pas (trop) d'inquiétude. C'est justement l'intérêt d'avoir une recovery : de vous rattraper en cas de problème. Essayez d'éteindre le téléphone, et s'il ne veut rien entendre, enlevez la batterie.
Retournez en recovery, et reprenez la procédure à base de wipe, wipe cache, installation de CyanogenMod, installation des gapps si nécessaire, et redémarrage. Il arrive en effet que CyanogenMod ne s'installe pas complètement la première fois (la preuve, ça m'est arrivé).
Dans tous les cas, vous pourrez trouver de l'aide sur IRC, les gens de #cyanogenmod sur irc://chat.freenode.net sont moqueurs et parfois taquins, mais souvent pleins de bons conseils.
Conclusion
Voilà, en espérant avoir pu rendre cette procédure un peu longuette moins chiante et qu'une version française ait été utile, je vous souhaite beaucoup de plaisir à découvrir les multiples options et bidouiller CM. Un bien beau chronophage vous attend.
Notes
[1] Si vous ne savez pas ce qu'est un how to je peux vous faire un how to sur les how to si vous voulez.
[2] Bravo si tu as reconnu le troll caché dans ce billet.
[3] Et là, on espère que heimdall ne contient pas de backdoors dégueulasses ou de trucs dans le genre qu'il profiteraient des droits root pour installer… m'enfin, le code est accessible, donc y'a peu de chances.
[4] Si si, c'est un adjectif. Un de mes amis l'a déjà utilisé une fois. À moins que c'était le verbe « cyanogenmoder », hmm.
[5] Oui mais pas que : ça permet aussi de se protéger grandement contre les risques de briquer le téléphone en offrant presque toujours possibilité de débriquer.
[6] Oui, on peut débattre de l'ouverture réelle d'Android et de sa liberté réelle considérant que les versions mises en avant par Google, HTC et/ou les opérateurs sont pleines d'applis proprio, voir sont des versions proprios pour Sense, et pleines de saletés, que l'on sait désormais que Google a pour but de faire apparaître le développement d'Android comme ouvert tout en ne publiant le code que tardivement etc. Il n'en reste pas moins qu'à part en utilisant un OpenMoko ou un N900 sur Maemo, AOSP est l'OS le plus libre qu'on puisse faire tourner sur un téléphone à l'heure actuelle.
[7] Si vous avez du temps, le projet a besoin d'aide pour valider de nouvelles applis.

