Préface
HTC a promis debut 2010 une mise à jour pour Android 2.1 pour le HTC Tattoo, mais de plus en plus il y a des messages dans les forums divers, que HTC ne compte pas à faire une mise à jour de Android 1.6 (version actuel sur les derniers Tattoos). Mécontent de cet attitude envers les proprietaires d'un HTC Tattoo, j'ai décidé d'installer un micrologiciel customisé (basé sur Android 2.2) sur mon Tattoo.
Après plusieurs heures de recherches (surtout sur le forum de xda-developers.com) et plusieurs tentatives, voici les démarches à faire.
Attention : vous faites des modifications importantes sur votre mobile, je ne suis pas responsable si vous cassez votre mobile (normalement tout est réparable).
Ceci a été effectué sous openSUSE 11.3.
Installer le Android SDK et connecter le Tattoo
D'abord il faut se procurer du SDK pour Android ici : http://developer.android.com/sdk/index.html.
Ensuite extraire l'archive téléchargé dans un dossier facile à atteindre (/home/marc-andre/Android-SDK dans mon cas) et pour faciliter les tâches suivantes, mettre à jour les chemins :
Mettez votre Tattoo en mode débogage USB : Paramètres -> Applications -> Développement -> Débogage USB et connectez votre Tattoo avec le câble USB à l'ordinateur.
Maintenant taper les commandes suivantes :
adb devices
Si vous-avez un résultat comme ceci :
HT9A2LG13080 device
vous êtes bon pour la suite.
Créer la GoldCard
Pour forcer le Tattoo à accepter nos actions, il faut créer une goldcard, donc une carte MicroSD modifié. Une GoldCard permet de simuler un CID d'un HTC nu.
Tapez la commade suivante :
(Attention : avec les guillemets !)
Copiez le code hexadécimal affiché (ça ressemble à ça : 532600bd227d9c0347329407514d5402) et allez sur http://hexrev.soaa.me/, coller le code dans le champs et soumettez le.
Copiez ensuite le nouveau code et allez ici : http://psas.revskills.de/?q=goldcard.
Remplissez le formulaire avec votre adresse mail valide (vous recevez la GoldCard sur cette adresse mail) et collez le code copié précédemment, passer le test anti-spam et envoyez le formulaire.
Faites une sauvegarde de votre MicroSD sur votre ordianteur (il faut imperativement brancher la carte sur votre ordinateur - avec un lecteur de carte par example). Puis formatez la carte en VFAT (FAT32).
Si vous avez reçu votre GoldCard par mail, on peut continuer par la commande suivante (Attention, indiquez les bons chemins vers goldcard.img et votre carte SD !) :
Remettez la carte dans votre Tattoo puis démarrez le.
Forcer le root sur Tattoo
Pour pouvoir continuer, il nous faut l'accès du superutilisateur. Hélas, sous le micrologiciel de HTC, on peut pas avoir par défaut accès en root. Il faut qu'on utilise une faille dans le noyau fourni par HTC (et depuis la connaissance de cette faille, celle-ci n'a pas été corrigé - tant mieux pour nous).
Téléchargez mon archive http://www.mediafire.com/?md0icohcexd5zv8 et décompressez-le dans un dossier facile a retenir (/home/marc-andre/assets dans mon cas).
Maintenant on va copier un petit logiciel sur le Tattoo pour exploiter cette faille et qui nous permet d'avoir l'accès en mode superutilisateur, pour cela faites :
adb push /home/marc-andre/assets/exploit-m7/m7 /data/local/bin/m7 #comme toujours mon cas
adb push /home/marc-andre/assets/flash_image /data/local/bin/flash_image
adb push /home/marc-andre/assets/su /data/local/bin/su
adb push /home/marc-andre/assets/tattoo-hack/tattoo-hack.ko /data/local/bin/tattoo-hack.ko
adb push /home/marc-andre/assets/boot.img /data/local/bin/boot.img
adb push /home/marc-andre/assets/recovery-tattoo.img /data/local/bin/recovery-tattoo.img
adb shell "cd /data/local/bin && chmod 755 ./m7"
Et maintenant il faut aller dans la console et exécuter m7 :
$ cd /data/local/bin
$ while ./m7 ; do : ; done
Il y a certainement plusieurs lignes qui défilent, c'est tout a fait normale, et à la fin vous avez un '#' (il se peut qu'il faut d'abord appuyer sur Entrée pour faire un saut à la ligne). Nous avons accès en mode superutilisateur ! Pour vérifier si c'est le cas, tapez :
# export PATH=/system/bin
# id
Si vous-avez l'affiche suivante :
ça veut dire que c'est bon (notez le 'root').
Pour que ça reste comme ça (et encore plus), il faut passer à l'étape suivante.
Installation de 'su' et nouveau bootloader
Toujours dans la console du Tattoo tapez :
# chmod 4755 /data/local/bin/su
# insmod /data/local/bin/tattoo-hack.ko
# mount -o rw,remount /dev/block/mtdblock5 /data
# mount -o rw,remount /dev/block/mtdblock3 /system
# mv /data/local/bin/su /system/bin/su
(Si vous recevez un erreur pour le tattoo-hack.ko, essayez l'autre dans le dossier tattoo-hack-g6561203)
Ouvrez maintenant une autre console Linux, et essayez si 'su' vous donne accès en mode superutilisateur :
$ /data/local/bin/su
Si vous avez un '#', c'est bon.
Et avant tout, on installe le nouveau bootloader :
# /data/local/bin/flash_image boot /data/local/bin/boot.img
Une fois achève, redémarrez votre Tattoo avec :
Remplacer le mode recovery
Une fois votre Tattoo est redémarré, retournez dans la console du Tattoo, et normalement vous êtes déjà superutilisateur :
# /data/local/bin/flash_image recovery /data/local/bin/recovery-tattoo.bin
puis
Dès que votre Tattoo est en mode recovery, par la console faites :
# /sbin/bart -a -b -c --norecovery
pour faire une sauvegarde de votre installation et redemarrez votre Tattoo :
Flasher le nouveau ROM sur le Tattoo
Après la sauvegarde, il nous reste que de choisir le ROM à installer. Moi pour ma part, j'ai choisi "fyodor FroYo AOSP Tattoo v0.7.2c" (faites un tour sur http://forum.xda-developers.com/forumdisplay.php?f=544 pour regarder les pour et contres de tous les ROMs).
Copiez d'abord le fichier update.zip (ou le ROM de votre choix renommé en update.zip) sur la carte SD :
adb shell reboot recovery
Quand votre Tattoo est de nouveau dans le recovery, videz d'abord le cache Dalvik et Data. Et ensuite choisissez Flash update.zip. L'installation du nouveau ROM est en route.
Après l'installation, redémarrez votre Tattoo et voilà, vous êtes partie sous Android 2.2 !
Par contre il manque les Google Apps, vous les trouvez ici : http://goo.gl/oetkQ.
Dans la console :
adb shell reboot recovery
et dans le mode recovery juste flasher le ZIP de la carte SD.
Épilogue
Pour passer mon Tattoo sous Android 2.2 il m'as fallu 2 jours. J'ai écrit ce tutoriel de mémoire et avec l'historique de mon navigateur pour retrouver mon chemin. En plus je ne suis pas trop doué pour écrire des tutoriaux, vous m'excusez.
Je ne suis pas sur s'il faut passer vraiment par toutes les étapes ci-dessus, mais ça peut pas faire de mal.
Mais si jamais vous rencontrez un problème, n'hésitez pas de laisser un commentaire pour que je peut mettre à jour mon tutoriel avec la partie manquant / fausse.
Crédits
Aux développeurs du http://forum.xda-developers.com.
5 comments:
Bonjour et merci pour ce tuto.
Ca ne semble pas si simple que ça à faire mais surtout, je voulais savoir si tout fonctionne ? J'ai notamment entendu dire que l'appareil photo et la caméra ne fonctionnent pas après la mise à jour. Qu'en a-t'il été pour vous ?
Effectivement, la caméra / appareil photo ne sont pas encore fonctionnel sous cette ROM, mais il y a d'autres ou ça marche, donc avec un peut de patience ça devrait arriver dans peu de temps.
Salut,
Je n'ai pas encore tout essayé, car j'avais utilisé le système de root automatique (le programme qui le fait tout seul), et je bloque ainsi sur la commande
# mv /data/local/bin/su /system/bin/su
Car il me met une erreur (Cross machin, je n'ai plus l'erreur sous les yeux).
Je fais une pause pour ce soir, après plus d'une heure pour re-rooter mon téléphone (car le recovery mis en place refuse tout les update.zip, ou alors je m'y prend mal XD).
J'ai quand même repéré une erreur dans la suite de ce qui m'attend :
# chmod root.root /data/local/bin/flash_image
J'imagine que c'est un chown à la place du chmod ^^
Merci pour le tuto en tout cas. Je m'y pencherais de nouveau très bientôt.
Merci pour l'erreur, effectivement c'est CHOWN (désormais corrigé).
Est-ce que tu peut accéder au dossier /system/bin/su ? T'es bien root (donc le #) ?
Mon erreur était :
failed on '/data/local/bin/su' - Cross-device link
Je me suis dit "Je suis déjà root, avec le root automatique, à chaque shell, donc passons à la suite".
Note : je n'ai pas eu accès à /data/local/bin/flash_image, meme en faisant un chown, donc j'ai fait un chmod 777 bourrin dessus.
Mon install boot.img -> j'avais le même boot.img, donc il ne me l'a pas installé.
Mon install recovery -> une erreur s'est glissée dans le tuto : -.bin +.img à la ligne # /data/local/bin/flash_image recovery /data/local/bin/recovery-tattoo.bin
Ensuite, le /sbin/bart n'a pas accepté la commande donnée, pour le backup.
J'ai donc fait un /sbin/bart -s backup (après montage manuel de la SD : mount /dev/block/mmcblk0p1 /system/sd -t vfat).
J'ai prit la ROM nFinityROM-1.13 -> install OK
Reboot -> (là le coeur s'emballe, comme pour tout bon geek -> Tattoo -> Android -> Bureau !!)
Merci pour le tuto en tout cas, fonctionnel, et ca m'a permit d'apprendre pas mal de choses.
Post a Comment