Flasher ROM

Flasher un Samsung Galaxy S6 G920F sous GNU Linux Debian ou Ubuntu La méthode libre et ouverte pour flasher un Samsung Galaxy S6

Voici comment flasher un Samsung Galaxy S6 G920F par une ROM LineageOS.

Les concepts de base

Vous avez deux systèmes dans un téléphone mobile :
 une Rom de démarrage propre au constructeur
 une Rom système, de fonctionnement, d’usages, le système Androïd, basé sur un GNU/Linux

Ces deux ROM peuvent être remplacées :
 la Rom usine de démarrage par TWRP ou ClockWorkMod [1]
 la Rom système, par des versions d’Androïd modifiées, par exemple, la ROM officielle LineageOS


Dans ce tutoriel, nous allons installer la version officielle de LineageOS sur un Samsung S6 après avoir modifié la Rom de démarrage par TWRP.


Les outils nécéssaires
 ADB
 HEIMDALL
 TWRP
 ROM LineageOS

Lire ci-dessous.


Les outils nécéssaires : ADB

Il faut installer le logiciel ADB avec FastBoot
 https://wiki.lineageos.org/adb_fastboot_guide.html
 https://developer.android.com/studio/command-line/adb.html


Les outils nécéssaires : HEIMDALL

Heimdall est le pendant UNIX de ODIN pour Windows, il vous permet de :
 https://glassechidna.com.au/heimdall/#downloads
 https://doc.ubuntu-fr.org/heimdall


Les outils nécéssaires : TWRP

ABSOLUEMENT utiliser le TWRP !
 TWRP est votre ROM custom RECOVERY.img
 lire https://en.wikipedia.org/wiki/TWRP
 TWRP est développé et distribué sous la licence libre GNU GPL v3
 télécharger, pour le S6, ici : https://dl.twrp.me/zeroflte/


Les outils nécéssaires : LineageOS

Attention, notre choix est de toujours choisir une Rom officielle, comme on utilise des logiciels de _sources_ sûres !
 la rom _officielle_ est la zerofltexx de LineageOS, le projet de libération, continuité de CynanogenMod,
 télécharger la dernière ROM ici : https://download.lineageos.org/zerofltexx
 aujourd’hui le 2018-02-24 : lineage-14.1-20180224-nightly-zerofltexx-signed.zip
 vérifier l’intégrité de votre fichier téléchargé avec celui sur le serveur : https://mirrorbits.lineageos.org/full/zerofltexx/20180224/lineage-14.1-20180224-nightly-zerofltexx-signed.zip?sha256 —> 9bc974462c258f7552cdf64239f67044a82cb7e2e33c62813468fa96d9a62c86
 depuis le répertoire contenant votre ROM zippée, utiliser la commande "sha256sum", VotreShellUnix$ sha256sum lineage-14.1-20180224-nightly-zerofltexx-signed.zip
9bc974462c258f7552cdf64239f67044a82cb7e2e33c62813468fa96d9a62c86 lineage-14.1-20180224-nightly-zerofltexx-signed.zip
 le retour doit donner une clef identique.

Ensuite, tout est expliqué à partir de cette page :
 https://wiki.lineageos.org/devices/zerofltexx
 https://wiki.lineageos.org/devices/zerofltexx/install


Action : distinguer deux démarrages différents

Il existe deux manières de démarrer un téléphone mobile, ici pour le S6 :
 démarrage en mode download pour le flash de la Rom-Custom : volume down + power + home, en continu et attendre,
 démarrage en mode Rom-Custom : volume up + power + home, en continu et attendre.


Action : installer ADB sous GNU/Linux

Si vous êtes sous Debian ou Ubuntu, depuis vos outils préférés, Shell, Synaptic, ou autres :
 trouver le paquet android-tools-adbd : Android Debug Bridge Phone Daemon
 #apt-get install android-tools-adbd


Action : installer HEIMDALL sous GNU/Linux

Installer Heimdall :
 taper dans votre terminal # apt-get install heimdall-flash
 taper ensuite #heimdall version (si le retour est bon, tout va bien)


Action : depuis votre téléphone

Depuis votre téléphone, il est nécessaire d’activer les fonctionnalités "développeurs".
 ouvrir les paramètres du téléphone
 ouvrir à propos de l’appareil
 ouvrir infos logiciel
 trouver Numéro de version
 doigter 7 fois la fonctionnalité ! Une annonce doit alors vous confirmer le passage en mode développeur
 revenir à la première page des paramètres et descendre dans le bas, vous devez voir Options de développement
 trouver Débogage et activer Débogage USB, valider les demandes,
 connecter le téléphone à votre GNU/Linux avec un câble USB qui va bien (pas un simple câble de charge, un câble qui permet de connecter deux appareils ensemble),
 ouvrir un terminal et depuis le shell, la commande #adb devices doit vous retourner la référence de votre connexion etablie

 aussi le numéro de référence du mobile

Depuis votre téléphone, faire un Hard Reset pour Download du Recovery :
 éteindre votre mobile
 redémarrer en appuyant _en_même_temps_ sur le bouton droit power, le bouton le plus bas sur la gauche volume_down et le bouton du bas de l’écran home key
 brancher le câble USB
 confirmer en choisissant le volume_up, votre mobile attend alors des informations de votre GNU/Linux
 lancer la commande #Heimdall fash —RECOVERY recovery.img —no-reboot qui pousse la ROM Custom de boot sur votre mobile

 débrancher le câble USB (ou pas)
 éteindre votre mobile

La ROM Custom installée, faire un Hard Reset sur la nouvelle ROM Custom :
 redémarrer en appuyant _en_même_temps_ sur le bouton droit power, le bouton le plus haut sur la gauche volume_up et le bouton du bas de l’écran home key,
 découvrir TWRP ! absolument génial.
 faire un formatage de votre système Androïd usine, qui vous demande toujours trop de votre vie, et oubliez-le :-) avec la commande Wipe Data reset
 aller dans les options avancées
 choisir une action ADB
 connecter le câble USB


 lancer la commande #ADB dans votre Shell GNU/Linux !

et prendre un café.
 demander à TWRP de redémarrer en mode système Androïd

Vous avez terminé.
Vous venez de flasher votre téléphone en 1 heure, après 5 heures de lectures !