Le WIKI francophone consacré à Windows Phone et à Android ...

Appliquer un "update.zip" sans carte SD

RSS
Récemment, j'ai été confronté à un problème qui m'a fait perdre l'usage de ma carte mémoire (un changement de ROM raté); le fait que l'accès à la carte était possible uniquement en mode Hboot, mais pas une fois démarré normalement ni en recovery, m'a rapidement fait penser que ce n'était pas un problème matériel (port SD endommagé, formattage de la carte...), mais que c'était d'ordre logiciel. Ne pouvant flasher que des ROMs en *.nbh, j'ai d'abord tenté de réparer en installant la 1.1 Orange d'origine, puis la 1.5 pour tester, mais vu que ça ne résolvait pas le problème, je me suis dit que ça venait du SPL; les SPL qu'on trouve sur le net étant uniquement disponible en zip (donc à flasher via le recovery), il me fallait un moyen de me passer de carte mémoire, et j'ai donc élaboré la méthode ci-dessous. Je précise que ça peut marcher pour d'autres zip que le SPL, mais qu'il ne faut pas que le fichier soit trop gros (mon système m'indiquait 30 Mo de libre); et comme d'habitude, je rappelle que ces opérations sont risquées, et que ni moi, ni Smartphone-France, ne sommes responsables des dégats que vous pourriez causer à votre mobile.

NB: cette méthode a été réalisée sur un Dream, mais elle doit fonctionner sur n'importe quelle terminal Android (en utilisant les bons zip); d'autre part, le PC utilisé était sous Ubuntu-Linux, il doit être possible d'adapter la méthode pour Mac ou pour Windows.

Pré-requis

Avant toute chose, il faut avoir installé le SDK sur le PC, comme expliqué sur le wiki, de façon à pouvoir utiliser ADB; il faudra aussi installer Flashrec sur le terminal, disponible ici. Il est possible de l'installer grâce au QR-code, ou en le téléchargeant sur le PC et en se servant d'ADB:

adb install flashrec-1.1.2-20090909.apk

Attention, il faut impérativement prendre la version 1.1.2.

C'est parti

On va ouvrir Recovery Flasher sur le terminal, et appuyer sur le bouton "download"; il va télécharger le cm-recovery-1.4 adéquat. À ce stade, le problème, c'est que sans carte SD, on ne peut pas faire le backup, et que le bouton pour flasher reste inactif; heureusement, il y a un bouton caché pour désactiver le backup, à l'extrême droite de l'écran, en face du bouton "backup", et on peut ensuite flasher (le bouton "reboot recovery" semble ne pas fonctionner, arrêter le tel manuellement). On redémarre en recovery: le terminal étant arrêté, maintenir le bouton "home" et appuyer sur "power". attention, il faut maintenir "home" jusqu'au chargement complet du recovery (affichage du menu).

Sur le PC, on va créer une image virtuelle, pour remplacer la SD-card, et formatter cette image; ça sera du FAT 16, la petite taille de l'image n'autorisant pas le FAT 32:

[david@phobos ~]$ dd if=/dev/zero of=/home/david/Desktop/image bs=10M count=1 
1+0 enregistrements lus 
1+0 enregistrements écrits 
10485760 octets (10 MB) copiés, 0,0462246 s, 227 MB/s 
[david@phobos ~]$ mkdosfs /home/david/Desktop/image 
mkdosfs 3.0.3 (18 May 2009)

Ensuite, il faut monter cette image, copier notre "update.zip" dedans, et démonter:

[david@phobos ~]$ sudo mount -o loop /home/david/Desktop/image /home/david/Desktop/montage/ 
[sudo] password for david: 
[david@phobos ~]$ sudo cp /home/david/Desktop/update.zip /home/david/Desktop/montage/ 
[david@phobos ~]$ sudo umount /home/david/Desktop/montage/

Voilà, c'est prêt, il ne reste plus qu'à mettre ça dans le téléphone (branché au PC en USB), à la racine du système (après s'être assuré qu'il est bien reconnu par ADB):

[david@phobos tools]$ adb devices 
List of devices attached 
HT92MNG00453   recovery 

[david@phobos tools]$ adb push /home/david/Desktop/image / 
1174 KB/s (10485760 bytes in 8.717s) 
[david@phobos tools]$ adb shell sync

Puis on passe en "adb shell", on vérifie la présence de notre image au bon endroit, puis on la monte sur /sdcard; j'imagine qu'on pourrait aussi le faire directement dans le terminal (Alt-X) sur le tel, mais il faut un clavier physique (donc pas valable sur un Magic par exemple):

[david@phobos tools]$ adb shell 
/ # ls 
cache             image             lib               sdcard 
data              init              proc              sys 
default.prop      init.goldfish.rc  res               system 
dev               init.rc           root              tmp 
etc               init.trout.rc     sbin 
/ # mount -o loop image /sdcard

Sur le téléphone, il ne reste plus qu'à lancer "apply sdcard:update.zip", et tout va se passer comme si on avait une carte SD.

NB: dans les commandes ci-dessus, j'ai volontairement laissé l'invite de commandes de mon PC ([david@phobos tools]$), ce qui permet de faire la différence avec les commandes tapées dans "adb shell"; il ne faut taper que ce qui est après le sigle "$".

Pour finir

J'ai réalisé cette procédure pour suivre ce tuto sans avoir l'usage de ma carte SD, ce qui m'a permis de me rendre compte que si le shell sous Android est relativement simplifié, les logiciels GNU intégrés (mount, ls, cat,...etc) semblent supporter les mêmes options que sur n'importe quelle distribution Linux (ou BSD, ce qui pourrait inclure les Mac); on pourra donc lire les manuels de ces logiciels sur un PC sous Linux grâce à la commande "man [la commande sur laquelle je veux tout savoir]" (man n'est pas présent sur Android), et pour ceux qui sont sous Windows, on peut consulter ces manuels ici http://www.linux-france.org/article/man-fr/.

Ce tuto est basé sur ce tuto du forum; je remercie au passage les usagers du forum qui m'ont bien aidé...

Besoin d'aide supplémentaire ?

Si vous avez besoin d'un aide supplémentaire n'hésitez surtout pas à aller dans le forum du site où la communauté Smartphone France se fera un plaisir de vous aider afin que votre expérience Android se passe dans les meilleures conditions possible. N'oubliez jamais que Smartphone France est votre site et qu'il ne vit que pour vous ... et surtout grâce à vous.

Si vous venez d'un autre site n'oubliez pas que ça ne sert à rien de poser vos éventuelles question sur cet autre site. L'endroit où vous avez le plus de chance de trouver réponse à vos questions est sans aucun aucune hésitation sur le site où vous avez pu lire cette information et tout ça ça se passe dans le forum du site.

Pour rappel Smartphone France est bien plus qu'un simple WIKI. Si vous désirez vous tenir régulièrement au courant de l'actualité Android n'hésitez surtout pas à visiter régulièrement le site principal.

Votre avis ?

Le principal intérêt d'un Wiki est que tout le monde peut y participer en modifiant tout simplement les pages qu'il désire. Si vous désirez apporter votre pierre à l'édifice, n'hésitez surtout pas à modifier cette page pour y apporter votre témoignage afin de le partager avec "les communautés Windows Mobile et Android Francophones"

Copyright 2012 CordoWEB