{{tag>Xenial Trusty Android mtp}} ---- ====== Heimdall : logiciel de mises à jour pour smartphone Samsung sous Android ====== Vous êtes utilisateur d'un smartphone Samsung sous [[wpfr>Android]] et votre version d'Android est vieillissante ou présente des bugs, vous souhaitez installer une version plus moderne et libre comme [[http://lineageos.org/|Lineage OS]] (EN) qui remplace le très célébre Cyanogenmod. Pour réaliser cette opération, vous aurez besoin d'un logiciel permettant de flasher votre téléphone afin de lui permettre d'installer autre chose que la configuration d'origine proposée par Samsung ou un opérateur de téléphonie mobile. Il est possible d'utiliser Heimdall sous GNU/Linux ou MacOS(c) en alternative au fameux [[http://www.android.gs/download-odin-3-07/|Odin]], une des références sous Windows(c)\\ {{http://img11.hostingpics.net/pics/337666capturedcran1.png?350| Capture d'écran d'Heimdall}} Vous trouverez une liste des appareils compatibles testés au 16/02/2017 [[#Liste des appareils compatibles|en fin de cette page]] Pour voir le résultat spectaculaire, regardez cette [[https://www.youtube.com/watch?v=r9XNdUck6b8|vidéo]] sur un Samsung S4 8-O ===== Pré-requis ===== * Disposer des [[:sudo|droits d'administration]]. * Disposer d'une connexion à Internet configurée et activée. * Avoir téléchargé dans le dossier Documents les fichiers adaptés à votre smartphone Samsung, un fichier de type recovery TWRP au format img. Pour finaliser l'installation de votre smartphone il faudra aussi télécharger les fichiers adaptés à votre modèle de type [[https://download.lineageos.org/|custom rom lineage OS]] au format zip et la version la plus simplifiée de Google Apps appelée [[http://opengapps.org/|OpenGsApps pico]]. =====Installation de Heimdall===== Heimdall est intégré au [[:dépôts]] d’Ubuntu depuis la version [[trusty|14.04]]. Pour installer ce logiciel, il suffit d'[[:tutoriel:comment_installer_un_paquet|installer les paquets]] **[[apt>heimdall-flash,heimdall-flash-frontend]]** Pour ceux qui utilisent le logiciel en ligne de commande, seul le paquet heimdall-flash est nécessaire. Il est également disponible sur [[http://glassechidna.com.au/heimdall/|le site de l'auteur]]. ===== Lancement===== ATTENTION : il faut que votre répertoire dans lequel vous installez le package soit sans accents ou caractères "bizarres".\\ Créer par exemple un dossier **rom_heimdall** et n'__UTILISEZ PAS__ le répertoire "Téléchargements" dans votre Dossier Personnel (car il contient des accents !) ==== Heimdall en ligne de commande ==== Pour utiliser Heimdall en ligne de commande, ouvrez un terminal et allez dans le dossier contenant les fichiers pour votre smartphone avec la commande. cd Documents Une fois dans le dossier Documents contenant vos fichiers, suivez la section suivant pour savoir comment flasher le téléphone. ==== Heimdall en mode graphique ==== Pour lancer Heimdall dans une interface graphique, saisissez dans un [[:terminal]] la [[:commande_shell|commande]] suivante (en root) : sudo heimdall-frontend L'interface graphique vous permettra ensuite de naviguer jusqu'aux fichiers pour votre smartphone. ===== Reconnaissance du téléphone mobile par le logiciel ===== Vous allez maintenant vérifier si votre téléphone mobile est bien reconnu par Heimdall, et pour ce faire, vous allez le connecter en mode "download" : - Éteignez votre téléphone - Au lieu de le rallumer comme à votre habitude: * Appuyez simultanément sur les touches: "**Volume bas**" (celle du côté gauche dans sa partie basse)), "**Home**" (milieu bas en façade) et "**Power**" (celle du côté droit). Les positions des touches étant ici donnée pour un téléphone de type Samsung Galaxy. * Sitôt qu'un écran apparaît ("Warning" en vert, une dizaine de lignes puis un triangle d'attention en jaune), relâchez les trois touches. * Maintenant, appuyez sur la touche "**Volume haut**" (celle du côté gauche dans sa partie haute). - Connectez votre téléphone à l'ordinateur avec le câble USB. ==== Heimdall en ligne de commande ==== Dans le terminal, la commande : lsusb vous indique la présence de votre appareil. Pour flasher le recovery TWRP dans votre appareil, utilisez la commande : heimdall flash --RECOVERY twrp-3.0.2-0-jfltexx.img (le nom du fichier sera à adapter comme dans celui-ci utilisé sur un Samsung S4 GI9505, //twrp-3.0.2-0-jfltexx.img//) La procédure de flash est très rapide, au bout de 15 secondes, Heimdall redémarre le téléphone, il faut absoluement redémarrer en mode RECOVERY comme indiqué ci-dessous, sinon vous devez recommencer la procédure car le téléphone redémarre par défaut sur ses paramètres d'usine en effaçant votre travail. Pour redémarrez en mode Recovery, maintenez appuyées en même temps les touches **VOLUME HAUT + BOUTON du CENTRE + BOUTON POWER**. Le téléphone redémarre alors sur TRWP et vous allez pouvoir installer la custom ROM Lineage OS et le paquet OpenGSapps depuis la carte micro SD introduite dans votre téléphone. ==== Heimdall en mode graphique ==== - Allez sur l'écran où se trouve 'heimdall-frontend': * dans le menu //Advanced//, cochez "Verbose output" * Allez ensuite sur l'onglet "utilities" et cliquez sur "detect".\\ Dans la fenêtre du bas, vous devriez voir l'un des deux résultats suivants: * Device detected * Failed to detect ... etc. Si par malheur vous obtenez la seconde réponse, et si vous avez scrupuleusement suivi ce tutoriel, il semblerait que votre téléphone ne soit pas compatible avec Heimdall. Pour savoir comment utiliser le logiciel en mode graphique, lisez le lien donné en bas de cette page. ===== Utilisations avancées ===== ==== Mise à jour du firmware en lignes de commandes ==== ATTENTION : il faut que votre répertoire dans lequel vous installez le package soit sans accents ou caractères "bizarres".\\ Créer par exemple un dossier **rom_heimdall** et n'__UTILISEZ PAS__ le répertoire "Téléchargements" dans votre Dossier Personnel (car il contient des accents !) Dans notre tutoriel, nous utilisons la ROM STOCK **I9505XXUGNG8_I9505QXXGNH2_XEF** du Galaxy S4 GT-I9505 mais elle fonctionne aussi avec la ROM STOCK **I9505OXXHOB4_XEF** par exemple :-).\\ Vous devez changer le nom du fichier en fonction de la ROM utilisée.\\ Veuillez utiliser uniquement une version propre à votre appareil. Placez-vous dans le répertoire ou les fichiers ont été extraits et lancez la commande suivante : - Décompresser le fichier **I9505XXUGNG8_I9505QXXGNH2_XEF.zip** unzip I9505XXUGNG8_I9505QXXGNH2_XEF.zip - Retirer l’extension .md5 du fichier extrait afin d'obtenir un fichier .tar mv I9505XXUGNG8_I9505QXXGNH2_I9505XXUGNG8_HOME.tar.md5 I9505XXUGNG8_I9505QXXGNH2_I9505XXUGNG8_HOME.tar - Décompresser le fichier **I9505XXUGNG8_I9505QXXGNH2_I9505XXUGNG8_HOME.tar** tar xvf I9505XXUGNG8_I9505QXXGNH2_I9505XXUGNG8_HOME.tar - Éteindre le téléphone. - Sur votre téléphone, appuyez simultanément sur les touches **Volume Bas** + **Home** + **Power** puis ensuite **Volume Haut** pour redémarrer votre mobile en mode **download**. - Connectez le téléphone (Il est parfois nécessaire de connecter le téléphone sur un port USB de la carte mère et non sur ceux en facade de la machine utilisée) - Exécuter la commande suivantes en tant que root, sinon, ça ne fonctionnera pas : sudo heimdall flash --APNHLOS NON-HLOS.bin --ABOOT aboot.mbn --BOOT boot.img --HIDDEN hidden.img.ext4 --MDM modem.bin --RECOVERY recovery.img --RPM rpm.mbn --SBL2 sbl2.mbn --SBL3 sbl3.mbn --SYSTEM system.img.ext4 --TZ tz.mbn --CACHE cache.img.ext4 - En cas d'erreur, changez de port USB puis recommencez. :!: Utiliser le cable usb fournis avec le téléphone limitera le risque d'erreurs. - Patientez pendant l'installation et ne touchez à rien jusqu'à ce que votre mobile redémarre. - Voilà, c'est fini, d'ailleurs, le premier démarrage est assez long mais tant que vous voyez la diode bleue allumée, patientez, même si vous êtes au logo Samsung ;-). En cas de blocage sur le logo Samsung ou de redémarrage en boucle, redémarrez en mode **recovery** avec la combinaison de touche **Volume haut** + **Home** + **Power** puis faites un **Wipe factory reset** + **Wipe cache partition** et redémarrez.\\ :!: Cette solution de secours effacera toutes les données contenues dans le téléphone mobile. ==== Rooter le téléphone ==== Commencez par récupérer la partition recovery modifiée. ChainFire en référence toute une liste pour bon nombre de terminaux : [[https://autoroot.chainfire.eu/]] Dans notre tutoriel, nous prenons comme cible le Galaxy S4 GT-I9505.\\ Dans notre cas le fichier CF-Auto-Root-jflte-jfltexx-gti9505.zip a été téléchargé.\\ Pensez à adapter les noms de fichiers suivant le terminal utilisé. Placez vous dans le répertoire de téléchargement et lancez les commandes suivantes : - Décompresser le fichier **CF-Auto-Root-jflte-jfltexx-gti9505.zip** unzip CF-Auto-Root-jflte-jfltexx-gti9505.zip - Retirer l’extension .md5 du fichier extrait afin d'obtenir un fichier .tar mv CF-Auto-Root-jflte-jfltexx-gti9505.tar.md5 CF-Auto-Root-jflte-jfltexx-gti9505.tar - Décompresser le fichier **CF-Auto-Root-jflte-jfltexx-gti9505.tar** tar xvf CF-Auto-Root-jflte-jfltexx-gti9505.tar - Éteindre le téléphone. - Sur votre téléphone, appuyez simultanément sur les touches **Volume Bas** + **Home** + **Power** puis ensuite **Volume Haut** pour redémarrer votre mobile en mode **download**. - Connectez le téléphone et vérifiez que celui-ci est bien reconnu avec la commande : dmesg - Exécuter la commande suivantes en tant que root : sudo heimdall flash --APNHLOS NON-HLOS.bin --ABOOT aboot.mbn --BOOT boot.img --HIDDEN hidden.img.ext4 --MDM modem.bin --RECOVERY recovery.img --CACHE cache.img.ext4 - Patientez pendant l'installation et ne touchez à rien jusqu'à ce que votre mobile redémarre. - Voilà, c'est fini, vous noterez la présence d'une nouvelle application : **SuperSU**. Pour vérifier le rootage et l'obtention de vos nouveaux droits root, procédez comme suit : - Exécutez la commande : adb shell - Passez en mode root : su - Une requête de demande de droits super-utilisateur apparaît pour l'application **ADB shell**. - Autorisez la demande et ouvrez l'application **SuperSU**. - Ici, vous devriez voir la liste des applications profitant des droits root, dont votre **ADB shell** === Exemple : rooter le Samsung Galaxy A3 === Pour rooter le Samsung Galaxy A3, il faut utiliser la commande présentée dans la section précédente. Cependant, lorsque je l'ai lancé, un bug a fait que je n'ai pu l'installer comme prévu, le téléchargement s'est arrêté au milieu. Si ça vous arrive, pas de panique, on va tout reprendre à zéro. Premièrement, allez cherchez la dernières version de Heimdall et compilez là (la version que j'avais dans les dépôts n'était pas fonctionnelle, d'où le bug présenté juste au dessus. Vous pouvez essayer avec la version actuelle, mais en cas de bug pensez à essayer avec la dernière). mkdir root_Galaxy_A3 cd root_Galaxy_A3 git clone https://github.com/Benjamin-Dobell/Heimdall.git cd Heimdall mkdir build cd build sudo apt-get install build-essential cmake zlib1g-dev qt5-default libusb-1.0-0-dev libgl1-mesa-glx libgl1-mesa-dev cmake .. make cd ../.. Ensuite, téléchargez les sources, par exemple à l'adresse suivante : http://androidmtk.com/root-samsung-galaxy-a3-sm-a300fu ou encore http://www.phonandroid.com/forum/root-de-votre-samsung-galaxy-alpha-a3-avec-cf-root-t110707.html (version SM-A300FU Europe dans mon cas) : wget www.mediafire.com/download/48p33wikwo6z0uz/SM-A300FU-4.4.4.zip unzip SM-A300FU-4.4.4.zip tar xvf CF-Auto-Root-a3ulte-a3ultexx-sma300fu.tar (Si vous le faites avec l'autre source, le principe est le même, il faut par contre renommer les fichiers .tar.md5 en .tar) Il ne reste plus qu'à éteindre votre Samsung Galaxy A3, puis le redémarrer en mode "Download" au moyen des touches de "volume bas" + "Power (bouton à droite)" + "Home (gros bouton en façade)" qu'il faut presser quelques secondes. Branchez ensuite téléphone à l'ordinateur, et lancez la commande (attention, le fichier cache.img.ext4 est tout aussi important à charger que recovery.img !): sudo ./Heimdall/build/bin/heimdall flash --RECOVERY recovery.img --CACHE cache.img.ext4 --no-reboot Si vous avez une erreur de protocole qui n'arrive pas à s'initialiser, essayez de changer de port USB (je crois que quand une erreur arrive, le port USB ne fonctionne plus temporairement pour heimdall, d'où l'intérêt de changer de port dans ce cas. Il parait aussi que les ports USB 3.0 sont mals supportés, chez moi tous fonctionnent). Si tout se passe bien, au bout de quelques secondes la barre bleu est au maximum et heimdall indique que tout s'est bien déroulé. Vous devriez également noter un changement dans le texte en haut qui indique que vous n'avez plus la version officielle. Il ne reste plus qu'à redémarrer au moyen des touches "Volume bas" + "Power" à maintenir une dizaine de secondes. Un message devrait apparaître disant qu'il installe la SuperSu. Après quelques secondes, le téléphone redémarre normalement. Pour vérifier que tout s'est bien passé, vous devriez avoir l'application "SuperSu" qui est apparu dans vos applications disponibles. Enjoy ! ===== Liste des appareils compatibles ===== Au 9 décembre 2014 Heimdall supporte les appareils suivants: * Captivate * Fascinate * Epic 4G * Infuse 4G * Mesmerize * Vibrant * Galaxy Note * Galaxy Note 2 (GT-N7100 & N7105 & N5110) * Galaxy Note 3 FIXME * Galaxy Note 4 FIXME * Galaxy S 4G * Galaxy S (GT-I9000 & GT-I9000T) * Galaxy S II (GT-I9100) * Galaxy S III (GT-I9300 & I9305) * Galaxy S4 (GT-I9505 & I9295) * Galaxy S5 (G900F), Téléphone reconnu et connecté mais flash impossible, un microcode pose souci, une compilation de heimdall depuis la source avec modification des quelques lignes semble nécessaire. FIXME * Galaxy S6 / Edge FIXME * Galaxy S7 / Edge FIXME * Galaxy Tab (7 and 10.1 pouces) * Galaxy Tab 2 (10.1 pouces - GT5110) * Galaxy Tab 3 FIXME * Galaxy Trend Lite (GT-S7390G) * Galaxy Young (GT-S5360) * Galaxy Core Duos (GT-I8262) * Galaxy Alpha FIXME ===== Liste des appareils incompatibles ===== //ERROR: Partition "APNHLOS" does not exist in the specified PIT.// * Galaxy S 4G Mini (I9195) ===== Pour en savoir plus sur Internet ===== * [[http://www.androidpit.fr/c-est-quoi-rom-custom-android|Qu'est ce qu'une rom custom pour un Smartphone Android ?]] (FR) * [[https://twrp.me/|Télécharger la dernière version du recovery TWRP pour votre smartphone Samsung]] (EN) * [[https://download.lineageos.org/|Télécharger la dernière version d'Android Lineage OS pour votre smartphone Samsung]] (EN) * [[http://opengapps.org/|Télécharger le bon paquet Open GSapps pour son smartphone Samsung]] (EN) * [[https://ubuntuforums.org/showthread.php?t=2326450|Un guide ultra-complet pour tout réaliser dans votre martphone Samsung sur le site Ubuntu officiel]] (EN) * [[https://davideddu.org/blog/posts/how-to-flash-a-recovery-image-using-heimdall/|Utiliser Heimdall en mode graphique]] (EN) * [[http://www.rootupdate.com/2017/01/install-lineage-os-rom-in-Samsung-galaxy-s4.html|Installer Lineage OS sur un Samsung Galaxy S4]] (EN) ---- //Contributeurs : // [[utilisateurs:Judibet]], [[utilisateurs:laurentb]]