Mardi 13 mars est annoncé, sur de nombreux sites spécialisés, que la nouvelle version d'Android commence à être diffusée par Samsung pour le modèle Galaxy S II. Sans être particulièrement impatient, car je préfère laisser à d'autres le soin d'essuyer les plâtres, je recherche, avec l'outil interne au smartphone, cette mise à jour maintes fois annoncée depuis l'automne.
Miracle, une mise à jour m'est proposée, sans indication précise sur la version du système. Je l'accepte, et le téléchargement commence. Je le laisse faire, et, une fois terminé, accepte le redémarrage proposé, finalisant cette mise à jour.
Et là, c'est le drame !
Il y a bien une mise à jour à installer, mais elle reste « coincée » à 7%, et plus rien ne se passe. Il semble bien que le téléphone soit « brické », c'est-à-dire qu'il est devenu à peu près aussi utile qu'une brique ( chère, la brique ! )
Enfer et Damnation !
Dans ce cas, normalement, il ne reste qu'une solution : faire appel au SAV de son opérateur. Mais le mien, j'ai bien peur qu'il ne sache pas faire, contrairement à ce qu'indique son nom.
Ô ! Dieux du Grand Nord !
J'ai donc cherché à débloquer la situation de moi-même ; Android ayant attiré de nombreux bidouilleurs, on trouve très facilement des tonnes d'informations, le gros problème étant de trier ces informations. Le premier élément trouvé est que Samsung utilise un outil, en interne, pour pouvoir flasher les smartphones. Cet outil s'appelle Odin, et il est sorti, par la bande, des Labs de Samsung, et se retrouve donc disponible pour les bidouilleurs. Seulement, cet outil ne fonctionne que sous MS-Windows, et ne m’intéresse donc pas.
Odin, dans la mythologie nordique, est le dieu de la guerre et de la mort, alors qu'un de ses fils, Heimdall est le dieu du feu bienveillant et de l'ordre sacré. Et oui, vous l'avez compris, un logiciel libre a été écrit pour se substituer à Odin, et ce logiciel s'appelle Heimdall.
Heimdall se télécharge librement, que ce soit dans ses versions binaires ou sources, il existe même des paquets Debian, qui s'installent parfaitement bien sûr un système Ubuntu. À noter que nous n'utiliserons pas la partie « frontend ».
La Bonne Image !
Mais cet outil ne sert qu'à installer une image d'Android sur le smartphone, il ne fournit pas l'image. Je me mets donc en quête d'une image, si possible, une image fournie par Samsung. Par l'intermédiaire d'un article du site web galaxys2.fr, je peux récupérer le fichier I9100XXLPQ_I9100OXALPQ_XEO.zip qui correspond à ce que Samsung est en train de proposer. Il s'agit bien, au moment ou j'écris cet article, de la dernière version d'Android pour le Galaxy S II.
Contenu
L'archive ZIP contient une archive TAR, qui elle-même contient des images binaires du système Android :$ unzip -l I9100XXLPQ_I9100OXALPQ_XEO.zip Archive: I9100XXLPQ_I9100OXALPQ_XEO.zip Length Date Time Name --------- ---------- ----- ---- 637614157 2012-03-13 03:25 I9100XXLPQ_I9100OXALPQ_I9100XXLPQ_HOME.tar.md5 276480 2012-03-13 03:26 SS_DL.dll --------- ------- 637890637 2 files $ tar tf I9100XXLPQ_I9100OXALPQ_I9100XXLPQ_HOME.tar.md5 boot.bin Sbl.bin param.lfs factoryfs.img zImage hidden.img cache.img modem.bin $ ls -1sh I9100XXLPQ_I9100OXALPQ_I9100XXLPQ_HOME total 609M 128K boot.bin 19M cache.img 472M factoryfs.img 96M hidden.img 13M modem.bin 1.1M param.lfs 1.3M Sbl.bin 8.0M zImage
Flash !
Pour installer cette image, il suffit de démarrer le téléphone en mode « Odin », en appuyant simultanément sur les touches VOLUME BAS, HOME et démarrage, comme expliqué dans l'article de galaxys2.fr.
Une fois le câble USB branché entre le smartphone et l'ordinateur, la commande suivante installe les images sur le smartphone :
$ sudo heimdall flash --factoryfs factoryfs.img \
--cache cache.img \
--kernel zImage \
--modem modem.bin \
--param param.lfs \
--primary-boot boot.bin \
--hidden hidden.img \
--secondary-boot Sbl.bin
Le smartphone affiche alors une barre de progression, le premier démarrage finalise l'installation, et enfin, le téléphone est complètement utilisable.
Dans mon cas, je n'ai perdu aucune donnée, ni application, mais je ne sais pas si c'est dû à l'image ou à l'outil, ou les deux.