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 !