Rooter votre smartphone Android est une étape nécessaire pour pouvoir flasher des firmwares alternatifs (ROM).
La 1ère étape pour rooter votre HTC Desire est la création d’une GoldCard.
Une Gold Card est une carte mémoire, au format micro-SD, qui permettra ensuite de flasher différentes Rom, y compris des versions d’origine si vous avez un smartphone Android verrouillé chez un opérateur, ou dont la Rom a été massacrée par votre opérateur (on voit de tout…).
La plupart des explications trouvées sur le NET partent d’un PC Windows, éventuellement d’un Mac.
J’utilise personnellement un Pc en Ubuntu 10.04, mais ces explications devraient fonctionner avec la majorité des distributions Linux récentes.
Attention :
- votre carte mémoire micro-SD sera reformatée : sauvez donc vos fichiers données, photos, vidéos, mp3, sur votre PC au moyen de la connexion USB
Correction 22 août : il ne semble pas nécessaire de formater votre carte micro-SD
De quoi avez-vous besoin ?
- un smartphone Android
- un carte micro-SD qui sera formatée (effacée !). Certaine personne signale des problèmes avec des cartes de grande capacité. En cas de problème, essayez une carte d’une autre marque (Kingston ou Scandisk) ou de capacité moindre (2 GB de préférence).
- pour lire la carte mémoire micro-SD, vous devez disposer, soit d’un lecteur de carte micro-SD (USB en général), soit d’un lecteur de carte mémoire SD + un adaptateur micro-SD / SD
- un PC sous Linux
- le câble micro-USB pour relier votre smartphone à votre PC
Pour la procédure au départ d’un PC Windows, suivez directement les instructions du site The Unlockr.
Côté smartphone Android :
Insérer votre carte micro-SD (si ce n’est pas encore fait) dans votre téléphone. N’oubliez pas que cette carte sera EFFACÉE. Sauvez vos données, photos, vidéos, etc…
Formatez la carte SD en Fat32 :
Mise à jour 22 août : ce formatage n’est pas obligatoire !
Vous pourriez la formater en FAT32 depuis votre PC, mais je vais le faire depuis mon HTC Desire :
- Entrez dans le menu Paramètres / SD et mémoire du téléphone
- Désactivez la carte SD. Si l’option n’est pas accessible, débranchez votre câble USB reliant votre Android au PC
- Formatez la carte SD. Avez-vous sauvegardé vos données ?
- Confirmez « Tout effacer »
Activez le mode Debug USB :
Paramètres / Applications / Développement / Débogage USB
Côté PC Linux :
Pour communiquer avec votre Android, vous avez besoin du programme ADB. C’est l’ Android Debug Bridge qui va vous donner accès à des éléments normalement non visibles via l’ USB et qui permettra également de passer des commandes depuis le PC vers l’Android.
ADB fait partie du SDK Android, fourni par Google.
Téléchargez le SDK Android sur cette page du site Android Developers.
Prenez la version correspondante à votre PC. Je télécharge la version Linux.
Décompressez le fichier SDK dans le répertoire de votre choix :
J’ouvre un terminal :
:~$ cd /home/didier/Téléchargements/ :~/Téléchargements$ ls -l android* -rw-r--r-- 1 didier didier 16971139 2010-08-12 02:58 android-sdk_r06-linux_86.tgz
:~/Téléchargements$ tar -xvzf android-sdk_r06-linux_86.tgz
android-sdk-linux_86/ android-sdk-linux_86/platforms/ android-sdk-linux_86/SDK Readme.txt android-sdk-linux_86/tools/ ...
Le programme Android Debug Bridge se trouve dans le dossier « tools ».
Connectez votre Android, allumé, à votre PC avec le câble micro-USB.
Exécutez le programme ADB pour vérifier s’il voit votre Android :
:~/Téléchargements$ cd android-sdk-linux_86/tools/ :~/Téléchargements/android-sdk-linux_86/tools$ ./adb devices * daemon not running. starting it now * * daemon started successfully * List of devices attached ???????????? no permissions
ADB voit un device, mais n’y a pas accès.
Effectivement, ADB doit être exécuté avec les permissons « root », càd « su - » en Debian ou « sudo … » en Ubuntu !
Attention, le deamon ADB est resté en mémoire : vous devez canceller la tâche avant de le relancer avec « sudo » :
$ ps -A |grep adb 5690 pts/0 00:00:00 adb $ kill 5690 $ sudo ./adb devices [sudo] password for didier: * daemon not running. starting it now * * daemon started successfully * List of devices attached HT06EPL01045 device
Ok, c’est mieux ! ADB identifie bien un device.
ADB vous permet de passer en « shell », càd en ligne de commande, sur votre téléphone Android :
$ ./adb shell
$
Essayons la commande « ls » :
$ ls -l
drwxrwx--x system system 1980-01-06 06:19 app-cache drwxrwxrwt root root 2010-08-12 03:02 sqlite_stmt_journals dr-x------ root root 2010-08-12 00:55 config drwxrwx--- system cache 2010-08-12 03:01 cache d---rwxr-x system sdcard_rw 2010-08-12 03:01 sdcard lrwxrwxrwx root root 2010-08-12 00:55 d -> /sys/kernel/debug lrwxrwxrwx root root 2010-08-12 00:55 etc -> /system/etc drwxr-xr-x root root 2010-05-03 22:17 system drwxr-xr-x root root 1970-01-01 01:00 sys -rw-r--r-- root root 74 1970-01-01 01:00 shutdown.bravo.rc drwxr-x--- root root 1970-01-01 01:00 sbin dr-xr-xr-x root root 1970-01-01 01:00 proc -rwxr-x--- root root 14414 1970-01-01 01:00 init.rc -rwxr-x--- root root 1677 1970-01-01 01:00 init.goldfish.rc -rwxr-x--- root root 3493 1970-01-01 01:00 init.bravo.rc -rwxr-x--- root root 103428 1970-01-01 01:00 init -rw-r--r-- root root 118 1970-01-01 01:00 default.prop drwxrwx--x system system 2010-05-03 21:41 data -rw-r--r-- root root 216 1970-01-01 01:00 bootcomplete.bravo.rc drwx------ root root 2010-04-29 13:34 root drwxr-xr-x root root 2010-08-12 02:45 dev
Pour créer la Goldcard, nous avons besoin de l’identifiant hardware (CID) de la carte mémoire SD :
$ cat /sys/class/mmc_host/mmc1/mmc1:*/cid
1b534d303030303010748eb70300a5a0
Ce numéro de série est important pour la génération de la Goldcard. Mais il doit d’abord être transformé.
Je vous le dis tout de suite : une page Web va faire tout cela pour vous. Pas la peine de se casser la tête.
Pour ceux qui veulent comprendre :
- prenez ce numéro CID de votre carte mémoire : 1b534d303030303010748eb70300a5a0
- écrivez le byte par byte (par groupe de 2 chiffres hexa) : 1b-53-4d-30-30-30-30-30-10-74-8e-b7-03-00-a5-a0
- inversez l’ordre des bytes (commencez par le dernier) : a0-a5-00-03-b7-8e-74-10-30-30-30-30-30-4d-53-1b
- remplacez le 1er byte par « 00″ : 00-a5-00-03-b7-8e-74-10-30-30-30-30-30-4d-53-1b
- et vous obtenez : 00a50003b78e741030303030304d531b
Pour ceux qui veulent se faciliter la vite, et surtout éviter les risques d’erreur :
- cette page, écrite par Soaa, vous fera la conversion immédiatement
- Copier/coller y le numéro CID de votre carte mémoire
- j’obtiens ceci : 00a50003b78e741030303030304d531b (évidemment, vous obtiendrez un autre numéro)
Générez le fichier image de votre Goldcard :
- Allez sur la page « Générateur de Goldcard pour HTC » :
- copier/coller y le numéro modifié que vous avez obtenu
- introduisez votre adresse mail
- le fichier image Goldcard vous arrivera par mail
- sauvez ce fichier « goldcard.img » dans le dossier de votre choix.
Le fichier goldcard.img reçu fait 384 bytes.
Transférons ce fichier sur la carte mémoire micro-SD :
La carte micro-SD doit se trouver dans votre lecteur USB micro-SD (ou dans l’adaptateur micro-SD / SD).
Donc, éteignez votre mobile Android et retirez la carte SD.
Placez cette carte micro-SD dans le lecteur USB et connecté le sur votre PC.
Le transfert de l’image Goldcard sur la carte mémoire n’est pas compliqué, mais ne vous trompez pas de device USB car vous risquez d’effacer un disque ou une partition…
Vérifiez avec dmesg le device utilisé par la carte USB :
$ dmesg ... [62274.306238] sd 7:0:0:0: [sdd] 7698432 512-byte logical blocks: (3.94 GB/3.67 GiB) [62274.307376] sd 7:0:0:0: [sdd] Assuming drive cache: write through [62274.309249] sd 7:0:0:0: [sdd] Assuming drive cache: write through [62274.309260] sdd: sdd1
Ma carte est bien une 4 GB. Le device pour cette carte mémoire est « sdd »
Je pourrais aussi utiliser la commande « mount » ou « df » :
$ df -h
Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur /dev/sda1 12G 4,7G 5,8G 45% / ... /dev/sdd1 3,7G 2,9M 3,7G 1% /media/C7AB-0A07
Il reste à transférer le fichier goldcard.img sur la carte mémoire :
Pas besoin de programme spécial sous Linux pour écrire directement (en RAW) sur un périphérique. L’utilitaire « DD » sait le faire :
Je « démonte » le volume « sdd1″ utilisé par la carte mémoire, et je copie le fichier en indiquant qu’on utilise des secteurs de 512 bytes :
$ sudo umount /dev/sdd1
$ sudo dd bs=512 if=goldcard.img of=/dev/sdd 0+1 enregistrements lus 0+1 enregistrements écrits 384 octets (384 B) copiés, 0,639801 s, 0,6 kB/s
Voilà, votre Goldcard est prête.
Si vous voulez vérifier, vous pouvez déconnecter la carte du PC, et la réintroduire dans le lecteur USB. Vous devez pouvoir relire son contenu. Sinon, il y a un problème et votre smartphone n’arrivera pas non plus à la lire. (Réessayez, changez de carte…)
Vous pouvez passez à l’étape suivant pour rooter votre smartphone Android
ps : Merci à Pol pour ses explications et ses démonstrations sur HTC Desire
Sources
- How To: Root the HTC Desire (The Unlockr)
- How to: create a Goldcard (The Unlockr)
- Créer une goldcard sous Linux (beve.org)
- HTC Desire rooting guide (Android @ MoDaCo)
- How to create a GoldCard (Android @ MoDaCo)
- Soaa-’s lame GoldCard hex reverse page
- Download the Android SDK (Android Developers)














[...] This post was mentioned on Twitter by Didier Misson, Ema Sandron. Ema Sandron said: RT @didiermisson: New blog post: Android : créer une GoldCard http://didier.misson.net/blog/2010/08/12/android-creer-une-goldcard/ [...]
12 août 2010 at 6:14Bonjour,
Je crois qu’avec un article comme celui-ci plus rien ne me retiens d’acheter un téléphone Android!
Concernant la méthode, est-il vraiment nécessaire de formater la carte mSD vu qu’une image sera de toute façon écrite au moyen de « dd »?
Bien à vous
12 août 2010 at 10:21Comme PwC l’affirme, effectivement, il ne semble pas nécessaire de formater sa carte micro-SD.
Merci pour l’info.
22 août 2010 at 4:11[...] site The Unlockr.Créez votre Goldcard :Suivez la procédure décrite dans mon billet « Android : Créer une Goldcard« Rootez votre HTC Desire :Les étapes sont nombreuses, un peu longues, mais pas très [...]
30 août 2010 at 23:31[...] Android : créer une GoldCard Mobiloglass La garantie d’un travail bien fait et un service rapide à domicile. Blogoliste [...]
30 août 2010 at 23:42