Skip to content

Instantly share code, notes, and snippets.

@HorlogeSkynet HorlogeSkynet/Flash_Custom_ROM.md Secret
Last active Jun 9, 2019

Embed
What would you like to do?
Comment flasher une ROM alternative sur un appareil (Samsung) ?

Flasher une ROM alternative sur un appareil (Samsung)

Explications et procédure détaillées en un tutoriel, avec instructions supplémentaires pour OpenGApps, Magisk root et Xposed Framework !

Introduction

Pour permettre l'installation d'une ROM alternative (aussi appelée « firmware ») sur du matériel Samsung (par exemple), il faut tout d'abord changer la Recovery de l'appareil (que l'on peut apparenter à quelque chose entre le BIOS d'un PC et le mode sans-échec de Windows). Pourquoi ?

De base, les appareils sont fournis avec des Recoveries (et des ROMs) que l'on qualifie de « stock ».
Celles-ci offrent peu de libertés, notamment celle qui nous intéresse : remplacer la version officielle d'Android que vous avez acquise en magasin.
En fait, celle-ci est modifiée et alourdie pour diverses raisons :

  • "Surcouche constructeur" : Samsung (ainsi que d'autres fabriquants bien évidemment) y ajoutent des fonctionnalités et services propres à leurs appareils, dont vous n'aurez sûrement jamais besoin de votre vivant. Par contre EUX, auront bel-et-bien besoin de votre batterie 😨

  • "Surcouche opérateur" : Si vous avez acheté votre précieux avec un forfait ou bien directement dans la boutique d'un truand opérateur, il se peut que lui aussi y ait glissé son grain de sel (applications, jeux, services... Tous découlants de partenariats douteux avec des entreprises tierces #coucouMetro #coucouPagesJaunes)

  • "Surcouche Google" : Malgré que le projet Android soit fortement supporté par Google, il n'en est pas moins complété par cette même entité. Sauf qu'Android est un projet OpenSource. Par contre, les composants logiciels ajoutés volontairement par Google (et ce sont ceux que l'on utilise la plupart du temps malheureusement) ne le sont pas du tout. Bien qu'Android reste le noyau de votre système, les Services Google Play n'en sont pas moins devenus une brique bien trop importante...

    De plus, les Services Google Play sont un peu à nos téléphones ce que la roue crevée est à nos voitures.
    Explications : Bien qu'ils embarquent une multitude de fonctionnalités très pratiques pour les développeurs d'applications mobiles, ils sont aussi un drain constant pour la batterie qui les alimente. Notamment dû au fait que des sous-services, comme la géolocalisation (Eh oui ! Comment pensez-vous que Google Maps puisse "connaître" en temps réel le trafic de la planète entière ?), soient très gourmands et "non-arrêtables" facilement (essayez de tuer les Services Google Play sur votre appareil, il sera complètement instable et vous finirez juste par le redémarrer... Triste vie...).
    Si Android pouvait être associé à notre cœur, les Google Play Services seraient notre cerveau 😌

Trêve de poésie et d'acharnement verbal, passons au tutoriel (après tout, c'est pour cela que vous êtes ici non ?) ! Encore un peu de lecture (plus technique).

Un point sur les Recoveries

Il existe plusieurs Recoveries, que j'ai pris l'habitude de flasher à l'aide du logiciel ODIN (sous Linux, il vous faudra utiliser son équivalent, Heimdall) :

  • TWRP (Team Win Recovery Project) : Sûrement la plus stable et la plus aboutie, intuitive et paramétrable ! C'est celle que je recommande, et vous conseille actuellement.

  • CWM (ClockWorkMod) : Recovery très complète également, mais impossible de trouver un lien universel pour la télécharger (ou bien en trouver une en fonction du matériel). Vous pouvez par contre si vous le désirez passer par l'application ROM Manager décrite ci-dessous.

  • CMR (CyanogenMod Recovery) : Une Recovery minimaliste développée par l'équipe de CyanogenMod. Elle est installable directement depuis les Options de Développement dans les paramètres de CyanogenMod (si vous êtes passé par une autre Recovery que celle-ci pour flasher cette ROM bien entendu) (voir screenshot ci-dessous). JE N'AI PAS REUSSI À LA FLASHER DIRECTEMEMENT AVEC ODIN
    Il se trouve que courant décembre 2016, le projet CyanogenMod a subitement été stoppé, entraînant également l'arrêt de leur Recovery. Il est conseillé maintenant de passer également par TWRP (voir ci-dessus).
    Pour la petite histoire, il a été "remplacé" par LineageOS, traité ci-dessous.

  • Stock Recoveries : Comme expliqué plus haut, ce sont celles de base que les fabriquants installent et vous fournissent. Ici se trouvent les procédures pour les re-flasher, ainsi que leur stock ROM associées (afin de vous remettre dans les conditions logicielles initiales lors de l'achat). NON-ESSAYÉ

Noter qu'il est aussi possible de flasher directement vos Recoveries et vos ROMs depuis une application développée également par ClockWorkMod : ROM Manager. NON-ESSAYÉ

De la même façon, maintenant, est disponible l'application officielle de (et pour) TWRP, vous permettant de flasher votre Recovery directement depuis Android.

Cependant attention : Pour cela, il est nécessaire qu'au préalable votre téléphone soit « rooté » (ceci signifie que vous et vos applications ont le droit d'effectuer des opérations systèmes (= dangereuses) sur votre appareil). Dans ce document, je ne détaillerai pas les différentes façons de rooter ses appareils, puisque l'installation d'une ROM alternative vous donnera droit à ce privilège très facilement dans la plupart des cas (et surtout car les procédures varient énormément d'un appareil à un autre). Voir image n° 1 ci-dessous et la note du point n° 15. du tutoriel.

Un point sur ce tutoriel !

Dans la suite de ce tutoriel, sera admis que :

  • ... la Recovery à flasher sera ici la dernière version d'une Recovery compatible avec votre appareil, choisie au préalable dans la liste proposée ci-dessus ;

  • ... la ROM alternative à flasher sera ici une image compatible avec votre appareil (que vous avez au préalable choisie), sinon je vous conseille la dernière NIGHTLY de LineageOS disponible ici (votre appareil est à choisir dans la colonne de gauche) ;

    Origines du terme NIGHTLY : Au temps de CyanogenMod, les images des ROMs en développement étaient re-construites chaque nuit, et ce pour chaque appareil, intégrant ainsi les dernières fonctionnalités ajoutées !
    NIGHTLY est aussi employé dans d'autres cas (cf. Mozilla Firefox Nightly) lorsque l'on traite d'un programme en constante amélioration (qui est plutôt à destination des développeurs d'ailleurs).

  • ... je ne peux être tenu responsable des potentielles pertes de données (Oui, vous perdrez la totalité de vos données avec cette méthode) et / ou « briquage » de votre appareil (Non, aucune méthode n'est garantie fonctionnelle à 100%) durant les procédures décrites ci-dessous ;

  • ... des messages d'avertissement peuvent s'afficher au lancement de l'appareil une fois les opérations effectuées. Il est probable que votre appareil indique d'une manière ou d'une autre que la Recovery n'est plus officielle, et que des logiciels aient été altérés, ceci est normal (vu que c'est ce que nous voulons 😄) ;

  • ... pour que votre appareil Samsung soit également reconnu par votre PC (sous Windows), vous aurez besoin d'un driver à télécharger ici.

  • ... si votre appareil n'est pas un Samsung (?), vous aurez aussi potentiellement besoin de ce driver pour utiliser ADB.

C'est parti ! 🏃

La procédure !

  1. Lancer le logiciel ODIN (téléchargeable en suivant le lien en début de document). Veiller à ce que le bouton Auto Reboot (dans l'onglet Options) soit bien décoché.

    Note importante : Si votre appareil n'est pas un Samsung, vous n'aurez peut-être pas besoin d'ODIN (voir étapes suivantes avec l'utilitaire fastboot).

    Explication : Lorsque nous allons flasher notre Custom Recovery, au prochain démarrage de l'appareil, un mécanisme de protection de ? (NDA : Je n'ai pas encore trouver l'entité responsable de cela) va venir écraser la Recovery que vous venez de flasher et la remplacer par la Recovery stock (Principe de Le Châtelier...). Pour pallier cela, il faudra booter directement sur votre nouvelle Recovery dès le premier démarrage, qui viendra appliquer un « patch » pour empêcher cette suppression automatique.

    Voir image n° 2 ci-dessous.

  2. Ensuite, cliquez sur le bouton AP, et naviguez jusqu'à l'archive de la Custom Recovery que vous avez au préalable téléchargée sur l'un des sites proposés plus haut.

    Note : ODIN n'accepte que des archives au format *.tar ou *.tar.md5. Si vous disposez par hasard d'une archive ayant un autre format, je vous invite à consulter et à suivre la procédure décrite sur cette page web.

  3. Démarrer votre appareil en maintenant simultanément les boutons VOLUME DOWN + HOME + POWER. La stock Recovery va vous indiquer un avertissement, appuyez le bouton VOLUME UP.

    Explication : Vous venez de passer votre appareil en mode téléchargement. C'est-à-dire qu'il est prêt à ce que vous flashiez une Recovery.

    Voir image n° 3 & image n° 4 ci-dessous.

    Note importante : Il est possible qu'à cette étape vous soyez déjà bloqué(e) par une protection présente sur certains appareils : le verrouillage du BootLoader (OEM locking), parfois appelé FPR (Factory Reset Protection).
    Cette protection existe de sorte à protéger les données personnelles du porteur s'il venait à se faire voler son appareil. Veuillez noter que sa désactivation entraînera la suppression totale et immédiate de vos données.
    Pour déverrouiller le Bootloader, vous devez commencer par passer par les « Option Développeurs » de votre appareil (option OEM unlock), puis utiliser la ligne de commande avec les utilitaires d'Android Debug Bridge (procédure d'installation présente ci-dessous) une fois votre appareil démarré en mode FastBoot (bootloader) : fastboot.exe oem unlock.

  4. Branchez votre appareil en USB sur votre ordinateur, et veillez à ce que l'onglet « Log » d'ODIN indique quelque chose du type : « Added ! ». Si tel n'est pas le cas, je vous invite à jeter un coup d'œil du côté des drivers Samsung pour Windows.

    Note : Si votre appareil n'est pas reconnu par ODIN d'une manière ou d'une autre, il ne vous reste qu'en dernier recours la possibilité de passer par FastBoot à nouveau.
    Pour cela, munissez-vous de votre console préférée et lancez : fastboot.exe flash recovery <YOUR_RECOVERY.img>.
    Une fois l'opération correctement terminée, passez directement à l'étape n°6 !

  5. Cliquez sur le bouton « Start » dans ODIN, patientez quelques secondes. Voilà, votre Custom Recovery est flashée ! 🎉

  6. Éteignez votre appareil tout en le laissant branché à l'ordinateur (utile pour la suite).

  7. Démarrez votre appareil en maintenant simultanément les boutons VOLUME UP + HOME + POWER. Dès qu'un logo apparaît, lâchez le bouton POWER (car il est possible que l'appareil se ré-éteigne...), mais maintenez les boutons VOLUME UP + HOME enfoncés.

    Explication : Vous êtes en train de démarrer votre appareil en mode Recovery... dans l'environnement de celle que vous venez de flasher 😉

  8. Cherchez dans votre nouvelle Recovery à nettoyer toutes les partitions.

    Attention : C'est ici que vous perdez la totalité de vos données. Pensez à faire un backup avant si nécessaire.

  9. Suivant la Recovery que vous avez choisie, cherchez à activer le mode ADB Sideload, qui peut se cacher dans des sous-menus du genre Install Zip (ou autres).

    Explication : Maintenant que nous avons une Custom Recovery, nous allons flasher notre ROM alternative ! Pour ce faire, dans le SDK fait par Google pour Android, se trouve un utilitaire : Android Debug Bridge (ADB).

    Note très importante : Si vous voulez éviter les 4,5 Go de SDK inutiles dans le cas où vous ne développez pas spécialement, vous pouvez télécharger uniquement les « Command line tools » de ce même SDK en suivant ce lien.

  10. Ouvrez un PowerShell (plus pratique). Déplacez-vous dans le dossier contenant le programme adb.exe... :

    • ... dans le cas du SDK complet : cd C:\Users\VOUS\AppData\Local\Android\sdk\platform-tools

    • ... dans le cas des Command line tools uniquement : cd C:\Users\VOUS\AppData\Local\Android\android-sdk\platform-tools

  11. Lancez : .\adb.exe sideload <ROM_NAME.zip>.
    Patientez quelques instants.
    Voilà, votre ROM est à son tour flashée ! 🎉

    Si ADB vous indique qu'aucun appareil n'est détecté, effectuez la solution ci-dessous.

    1. Quittez le mode ADB sideload
    2. Trouvez un moyen de monter les partitions si tel n'est le cas
    3. Lancez : .\adb.exe push <ROM_NAME.zip> /sdcard/
    4. Patientez jusqu'à la fin de l'opération
    5. Saisissez le menu Install from Zip (ou autre) depuis la Recovery
    6. Naviguez vers votre fichier (dans la partition /data/ et le dossier /sdcard/), et cliquez dessus.
    7. En théorie, à la fin de l'opération la ROM devrait être flashée !
  12. Attention, si vous souhaitez utiliser les applications Google (que votre ROM peut ne pas inclure), et que votre version d'Android est supérieure à Marshmallow (>= 6.0), vous devez avant de démarrer sur votre nouvelle ROM flasher dans la foulée les Open GApps (explications ici) :

    1. Cliquez sur le lien d'Open GApps
    2. Choisissez votre architecture, la version d'Android sur laquelle se base votre ROM alternative, ainsi que le « pack » que vous désirez, et téléchargez-le
    3. Répétez l'opération précédente (la 10.) selon votre cas pour flasher également cette archive
    4. À présent, vous pouvez redémarrer (ou passer à l'étape suivante) 😉

    Note : Je vous conseille le « pack » micro, auquel vous ajouterez ensuite (à l'aide du Google Play Store fraîchement installé) les autres applications Google dont vous aurez malheureusement besoin.

  13. À ce stade, vous avez :

    1. Installé une nouvelle Recovery
    2. Nettoyé complètement votre appareil
    3. Installé une ROM alternative
    4. Flashé (si besoin) les OpenGApps

    Vous pouvez donc... REDÉMARRER !

    Note : Le premier démarrage peut-être très long (disons entre 5 et 10 minutes). Votre système va finir de s'installer automatiquement.
    Par contre, si la procédure vient à prendre encore plus temps que cela, il se peut qu'une étape ait mal été menée à bien, ou tout simplement que l'un de vos composants logiciels ne soit pas compatible avec votre téléphone...
    Dans tous les cas, cela ne coûte rien d'attendre quelques minutes de plus pour s'en assurer.

  14. À cette étape, votre téléphone a correctement démarré !
    (Je vous entends déjà d'ici commencer à jouer avec les fonctionnalités ultra-chouettes et la vivacité que vous avez retrouvée !)
    Si vous désirez activer le mode développeur sur votre nouvelle ROM (pour obtenir la même chose que moi en début de document) :

    1. Rendez-vous dans les Paramètres de l'appareil
    2. Puis sous À propos
    3. Cliquez 7 fois sur le Numéro de Build (un message toast devrait indiquer le nombre de clics encore à faire avant activation)
    4. Remontez d'un niveau (Paramètres donc)
    5. Une nouvelle entrée (Options pour les développeurs) a dû apparaître !
    6. Vous pouvez activer le root à cette étape, happy hacking 😉

    Note importante : La plupart des ROMs alternatives n'installeront pas le binaire vous donnant accès au root de base (malgré l'entrée que vous pouvez observer dans les options de développeurs). Pour cela je vous conseille de flasher (Oui ! Il va falloir encore démarrer sur la Recovery 😊) Magisk. Il vous suffit de suivre les instructions décrites sur cette page, et vous pourrez profiter ensuite du Magisk Root Manager très pratique !

  15. Si vous êtes un développeur fou de customisation, vous pouvez maintenant installer Xposed Framework !

1️⃣ Si vous avez installé Magisk à l'étape précédente, vous avez tout intérêt à passer par les modules installables directement depuis le Magisk Root Manager. Ci-après un petit tableau résumant quel module vous devez installer en fonction de votre version d'Android :

Android SDK
5.0 21
5.1 22
6.0 23
7.0 24
7.1 25
8.0 26
8.1 27

Une fois choisi, installé, et redémarré, je vous invite à récupérer le XposedInstaller modifié pour Magisk à cet endroid.
Vous serez en mesure, une fois cette nouvelle application installée, de vérifier l'installation d'Xposed, puis parcourir et installer les modules existants proposés !

2️⃣ Sinon, deux possibilités (du moment que votre téléphone est rooté) :

  1. Si votre Android est de version supérieure à Lollipop (>= 5.0)) : Il vous faudra le flasher comme précédemment, en récupérant l'archive et en suivant les indications données ici.

  2. Si votre ROM est basée sur KitKat ou inférieure (< 5.0) : Ce flash n'est pas requis (vous pouvez passer directement par l'APK, disponible ici, qui gère l'installation automatique).

    Note 1 : Pensez à vérifier qu'il n'y ait quand même pas de contre-indications concernant l'utilisation de ce Framework avec votre matériel ainsi qu'avec la ROM que vous installez au préalable...

    Note 2 : Ce framework a très tardivement été rendu compatible (des années de pause et de développement se sont écoulées) pour Android Nougat et supérieures (>= 7.0). Il faudra suivre le contenu de cet article, ou bien celles du forum XDA pointé ci-dessus pour Lollipop et supérieures.

    Suite note 2 : L'Xposed Installer est désormais installable directement depuis F-Droid (🎉) (si votre appareil est rooté bien entendu).

    Note 3 : En cas de mise à jour de votre ROM (Android 7.0 -> Android 8.0 par exemple), pensez bien à désactiver Xposed avant l'installation, et à réinstaller la version du framework correspondante à votre nouvelle version d'Android dans un second temps.

Voilà, c'est fini ! 🎉 🎉

Un dernier mot avant de se quitter

Merci pour la lecture, j'espère que tout a fonctionné correctement, et que cela vous a bien aidé !

Vous pouvez toujours me contacter (depuis Mastodon par exemple) pour :

  • Toute suggestion de modification(s) à apporter à ce document
  • Toute précision à apporter à une ou plusieurs de ses étapes
  • Toute demande d'aide personnelle (ce sera un plaisir de vous aider !)
  • Corriger une erreur de frappe et / ou de Français (😖)

Bye 👋

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.