Table des matières

, , ,

Heimdall : logiciel de mises à jour pour smartphone Samsung sous Android

Vous êtes utilisateur d'un smartphone Samsung sous Android et votre version d'Android est vieillissante ou présente des bugs, vous souhaitez installer une version plus moderne et libre comme 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© en alternative au fameux Odin, une des références sous Windows©

Vous trouverez une liste des appareils compatibles testés au 20/12/2020 en fin de cette page

Pour voir le résultat spectaculaire, regardez cette vidéo sur un Samsung S4 8-O

Pré-requis

Pour finaliser l'installation de votre smartphone il faudra aussi télécharger

- Une rom type custom rom lineage OS au format zip

- Optionnel : Les applications propriétaires Google Apps OpenGsApps pico.

Installation de Heimdall

Heimdall est intégré aux dépôts d’Ubuntu depuis la version 14.04. Pour installer ce logiciel, il suffit d'installer les paquets 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 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. Connectez votre téléphone Samsung à votre PC Vous pouvez vérifier qu'il est bien détecté de la façon suivante :

sudo heimdall detect

Cela devrait renvoyer "Device detected", ensuite suivez la section suivante pour savoir comment flasher le téléphone.

Ou pour vérifier qu'il est bien reconnu via la commande

lsusb

Cela doit renvoyer une ligne ressemblant à ceci

Bus 001 Device 004: ID 04e8:685d Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II] (Download mode)

Heimdall en mode graphique

Pour lancer Heimdall dans une interface graphique, saisissez dans un terminal la commande suivante (en root) :

sudo heimdall-frontend

FIXME En cas de problème "X Error: BadAccess (attempt to access private resource denied)"

sudo QT_X11_NO_MITSHM=1 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" :

  1. Éteignez votre téléphone
  2. 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).
  3. 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.

Ensuite, allez sur le site officiel de TWRP et recherchez l'image de votre téléphone : https://twrp.me/Devices/ .

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)

Le téléphone va redémarrer, si vous ne le souhaitez pas, il faut exécuter la commande :

heimdall flash --RECOVERY twrp-3.0.2-0-jfltexx.img --no-reboot

(le nom du fichier sera à adapter comme dans celui-ci utilisé sur un Samsung S4 GI9505, twrp-3.0.2-0-jfltexx.img)

:!: Sur Samsung S3 Mini gt i8190, il faut écrire –Kernel2 au lieu de –RECOVERY

La procédure de flash est très rapide, au bout de 15 secondes, Heimdall redémarre le téléphone, il faut absolument 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émarrer en mode Recovery, maintenez appuyé 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

  1. 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 :

  1. Décompresser le fichier I9505XXUGNG8_I9505QXXGNH2_XEF.zip
    unzip I9505XXUGNG8_I9505QXXGNH2_XEF.zip
  2. 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
  3. Décompresser le fichier I9505XXUGNG8_I9505QXXGNH2_I9505XXUGNG8_HOME.tar
    tar xvf I9505XXUGNG8_I9505QXXGNH2_I9505XXUGNG8_HOME.tar
  4. Éteindre le téléphone.
  5. 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.
  6. 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)
  7. Exécuter la commande suivante 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 --MODEM 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
Les fichiers décompressés et l’instruction pour le flash peut être différent suivant le modèle du téléphone mobile.

Exemple pour une ROM STOCK d'un Samsung Galaxy S III(GT-I9300):

sudo heimdall flash --BOOTLOADER sboot.bin --TZSW tz.img --BOOT boot.img --RECOVERY recovery.img --RADIO modem.bin --CACHE cache.img --SYSTEM system.img --HIDDEN hidden.img --no-reboot
  1. En cas d'erreur, changez de port USB puis recommencez. :!: Utiliser le câble USB fourni avec le téléphone limitera le risque d'erreurs.
  1. Patientez pendant l'installation et ne touchez à rien jusqu'à ce que votre mobile redémarre.
  2. 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://desktop.firmware.mobi/

Pour le Galaxy S4 GT-I9515 : CF-Auto-Root

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 :

  1. Décompresser le fichier CF-Auto-Root-jflte-jfltexx-gti9505.zip
    unzip CF-Auto-Root-jflte-jfltexx-gti9505.zip
  2. 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
  3. Décompresser le fichier CF-Auto-Root-jflte-jfltexx-gti9505.tar
    tar xvf CF-Auto-Root-jflte-jfltexx-gti9505.tar
  4. Éteindre le téléphone.
  5. 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.
  6. Connectez le téléphone et vérifiez que celui-ci est bien reconnu avec la commande :
    dmesg
  7. Exécuter la commande suivante en tant que root pour le GT-I9505 :
    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

    Pour le GT-I9515 :

    sudo heimdall flash --RECOVERY recovery.img --CACHE cache.img.ext4
  8. Patientez pendant l'installation et ne touchez à rien jusqu'à ce que votre mobile redémarre.
  9. 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 :

  1. Exécutez la commande :
    adb shell
  2. Passez en mode root :
    su
  3. Une requête de demande de droits super-utilisateur apparaît pour l'application ADB shell.
  4. Autorisez la demande et ouvrez l'application SuperSU.
  5. 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ère 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://gitlab.com/BenjaminDobell/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 : https://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 mal supportés, chez moi tous fonctionnent). Si tout se passe bien, au bout de quelques secondes la barre bleue 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 20 décembre 2020 Heimdall supporte les appareils suivants:

Liste des appareils incompatibles

ERROR: Partition "APNHLOS" does not exist in the specified PIT.

Pour en savoir plus sur Internet

—- Contributeurs : Judibet, laurentb, Anawel