Table des matières
Installation de LineageOS sur Honor 5x
Discussion
Le développement de CyanogenMod (CM) a été arrêté. LineageOS en prend la suite. Techniquement parlant, il en est la continuation1).
Pourquoi ?
Les arguments en faveur du remplacement du système propriétaire d'origine par un système open source sont les mêmes que pour un ordi. LineageOS présente les mêmes avantages que ceux que présentait CM, en son temps.
Pour les personnes ayant déjà installé CM, il est impératif de le remplacer par LineagesOS. Pour des raisons élémentaires de sécurité, on ne peut pas se reposer sur un système qui n'est plus maintenu! De plus, LineageOS permettra de bénéficier de versions récentes d'Android.
Migration de CM à LineageOS
Certains androphones bénéficient d'une procédure de migration de CM à LineageOS qui permet de changer le système sans perdre ses données2). Ce n'est pas le cas du Honor 5x. On doit donc réaliser une installation complète qui entraînera l'effacement de toutes les données internes.
Préparation de l'installation
La cas d'utilisation décrit ci-après est celui d'une installation de LineageOS en remplacement de la dernière mise à jour disponible de CM13 disponible pour le Honor 5x.
On peut tout faire depuis son androphone mais nous allons partir du principe qu'on utilise un ordi.
- Télécharger la dernière version3) officielle de LineageOS pour Honor 5x (≈ 480 Mo)
- Télécharger l'extension SU4) correspondant à la version du système installée
- Télécharger la dernière version d'OpenGapps pour la version de LineageOS choisie à l'étape précédente5).
- Vérifier les sommes de contrôle (md5) des fichiers
- Copier les fichiers sur la carte SD (Ordi → SD)
- Vérifier les md5 des fichiers copiés sur la carte (voir alternatives)
- Copier les fichiers en sens inverse (SD → Ordi)
- Vérifier les md5 des fichiers ainsi recopiés
Vérification des md5 sur la carte SD
La vérification des md5 peut s'effectuer directement sur l'androphone.
Vérification manuelle
Si votre androphone est équipé d'une App (par exemple ES File Explorer) permettant de calculer la somme de contrôle (md5) des fichier copiés, Cette option est intéressante si l'on télécharge directement sur l'androphone, sans passer par un ordi.
Vérification automatique
Une fois le fichier téléchargé sur l'ordi, on peut enregistrer la somme de contrôle dans un fichier texte. Dans un terminal, on tapera la commande suivante :
$ md5sum mon_fichier_téléchargé.zip > mon_fichier_téléchargé.zip.md5
On procède ainsi pour les trois fichiers téléchargés. On dispose alors de trois fichiers zip et de trois fichiers md5. On copie ces six fichiers sur la carte SD.
Lorsqu'on demandera au Recovery d'installer un fichier zip présent sur la carte SD, il trouvera lui-même le fichier md5 associé et vérifiera automatiquement que la somme de contrôle est correcte, c'est-à-dire que le fichier n'a pas été altéré lors de l'enregistrement sur la carte SD.
Installation
Pré-requis
Les pré-requis sont les mêmes que pour installer n'importe quelle ROM custom sur le Honor 5x :
- bootloader déverouillé
- custom recovey installé
- batterie chargée
Procédure
- Démarrer le Honor 5x en mode recovery
- Faire une sauvegarde du système. Cette sauvegarde permet une restauration intégrale en cas d'échec de d'installation.
- Faire une remise à zéro des réglages du système : Wipe (le wipe proposé par défaut par TWRP)
- Installer la ROM
- Installer les Gapps
- Installer l'extension SU
- Redémarrer le Honor 5x
- Activer le mode Développeur8)
- Entrer dans Paramètres > Options pour les développeurs
- activer le mode Root (Root access)
- autoriser le debug Android (ex-debug USB)
- Dans les paramètres de sécurité
- autoriser les sources inconnues (Titanium Backup restore)
Mise à jour
Le premier [re]démarrage après une mise à jour est inhabituellement long. Ne pas s'alarmer.
Mise à jour OTA
LineageOS signale automatiquement l'existence de mises à jour que l'on peut télécharger via le réseau9). Vu la taille des fichiers à télécharger, faites la mise jour à travers une connexion WiFi. Ces mises à jour apportent des améliorations et des correctifs à la version déjà installée. Elles ne permettent pas de passer de la version 13 (Android 6) à la version 14 (Android 7).
Lorsqu'une mise à jour est signalée, il suffit de la lancer. Tout se fera automatiquement jusqu'au moment où le Recovery présentera un écran permettant de rebooter l'androphone.
Mise à jour manuelle
À la date de la rédaction, je n'ai réalisé aucune mise à jour manuelle. Dans ce cas, le surcoût de reflashage de l'extension SU étant minime j'aurais tendance à l'effectuer…
Montée de version de LineageOS 14.1 vers 15.1 (upgrade)
sources :
- Upgrading LineageOS (en) (lineageos.org)
- Installer un nouveau système sur un Honor 5X
Avertissements
L'application de mise à jour OTA signale la montée de version mais ne permet pas de l'effectuer. Il faut procéder à une installation manuelle. Tout peut se faire depuis votre androphone mais il est préférable14) d'utiliser un ordi relié à l'androphone.
Procédure
Pour ce type d'opération, il est vivement conseillé de lire l'intégralité de la prcédure avant de commencer à l'éxécuter.
- sur le Honor 5X, faire des captures d'écran de l'écran d'accueil et des écrans satellites
- sur l'ordi
- télécharger :
- la dernière mise à jour de la version de LineageOS vers laquelle on souhaite monter
- la somme de contrôle sha256 correspondante
- le LineageOS su add-on correspondant à la version téléchargée
- la somme de contrôle sha256 correspondante
- les Open GApps
- le somme de contrôle md5 correspondante
- vérifier les sommes de contrôles des trois fichiers téléchargés (ne jamais sauter cette étape !)
- patcher la sauvegarde (contournement des limites de TWRP 3.0.2-0)
- dezipper la mise à jour de LineageOS dans un répertoire vierge, créé à cet effet
- éditer le fichier META-INF/com/google/android/updater-script15)
- supprimer les deux premières lignes, celles qui font appel à la fonction assert
- enregistrer le fichier modifié en écrasant le fichier d'origine
- recomposez l'archive zip en respectant la structure du zip initial (ne pas enregistrer la racine !)
- mettre de côté le zip initial et renommer le zip modifié du même nom
- générer les sommes de contrôle md5 pour les fichiers de mise à jour de LineageOS(modifié) et su add-on
- si besoin, charger le Honor 5X à 60%
- relier le Honor 5X à l'ordi par un câble USB
- effectuer une sauvegarde intégrale des vos applications et de vos données (Titanium Backup)
- activer le Débogage Android : Paramètres > Options pour les développeurs > Débogage Android
- vérifier la connectivité ordi-androphone (adb devices)
- depuis l'ordi, transférer (adb push vers /sdcard/) vers le Honor 5X,les deux fichiers précédemment téléchargés et le fichier patché ainsi que les trois fichiers de somme de contrôle md5
- les fichiers se trouvent alors à la racine de la mémoire interne du Honor 5x. Vous pouvez le vérifier à l'aide du navigateur de fichiers
- par anticipation de ce qui pourrait se produire dans un futur plus ou moins éloigné, copier ces fichiers sur la carte SD, via le navigateur de fichier de l'androphone
- déconnecter le câble USB, éteindre votre Honor 5X
- le démarrer en mode recovery (Vol+ puis simultanément Power)
- faire une sauvegarde intégrale de votre système sur la carte SD (Backup)
- installer (Install) dans l'ordre suivant :
- la mise à jour de LineageOS
- les Open GApps
- le su ad-on
- redémarrer le Honor 5X sur son nouveau système (Reboot > System)
Traces d'exécution
Les traces d'exécution donnent une idée des temps de transfert. Commencer par un md5 permet de s'assurer que le transfert est instantané.
$ adb devices List of devices attached IMTP1F2JDYJK02051 device $adb push lineage-15.1-20190101-nightly-kiwi-signed.zip.md5 /sdcard/ 20 KB/s (80 bytes in 0.003s) $ adb push lineage-15.1-20190101-nightly-kiwi-signed.zip /sdcard/ 6067 KB/s (508181146 bytes in 81.791s) [...] $ adb push addonsu-15.1-arm64-signed.zip /sdcard/ 5451 KB/s (1019556 bytes in 0.182s) $ adb push addonsu-15.1-arm64-signed.zip.md5 /sdcard/ 7 KB/s (64 bytes in 0.008s)
Premiers constats post-installation
- Les données ont été préservées (contact, agenda…)
- L'écran d'accueil et ses satellites ont été réinitialisés
- la configuration de l'application de l'app E-mail est perdue (nouvelle application)
- la reconnaissance d'empreinte digitale est plus lente que sous LineageOS 14.1
Bilan après deux mois d'utilisation
Instabilité
Après la première mise à jour de montée de version (décrite ci-avant) satisfaisante, mon Honor 5X a mal supporté la première mise à jour Il restait utilisable mais avec une forte instabilité après chaque redémarrage (freeze, reboot intempestif, apps bloquées…).
Avantages
Aucun !!! Les fonctionnalités d'économie d'énergie intégrées à Oréo n'atteignent pas l'efficacité de Greenify. On perd un lanceur d'application qui permettait de construire des écrans complémentaires à gauche et droite de l'écran d'accueil16).
L'unique “bénéfice” est de disposer de mises à jour régulières. Le passage à LOS 15 n'est pas un choix mais une contrainte puisque LOS 14 n'est plus maintenue.
Régressions
- Perte d'OTG ! Un grand pas en avant… En furetant sur les forums il se pourrait ce cette perte soit limitée aux périphérique USB-317) mais je n'ai plus de périphérique USB-2 pour confirmer ou infirmer. Heureusement, c'est LOS 15 (et lui seul) qui est défaillant, par le Honor 5X ! TWRP accède sans problème à une clé-USB externe (sauvegarde, restauration, source d'installation…).
- Titanium backup n'est que l'ombre de lui-même :
- les actions planifiées ne se déclenchent pas
- le déclenchement manuel d'un tâche planifiée plante l'application.
- il reste possible de sauvegarder les applications une à une
- si on efface le contenu du répertoire de sauvegarde, le déclenchement manuel d'une tâche planifiée fonctionne.
- Accupedo podometer inutilisable : l'application ne détecte plus les pas (une autre bibliothèque pourrie, comme l'USB ?)
- Compass de PixelProse inutilisable : la boussole ne bouge pas (passage forcé à Compass Galaxy)
Pour en avoir le cœur net, j'ai rejoué une première installation de LOS 1418) et tout refonctionnait parfaitement. C'est donc bien LOS 15 qui est merdique sur Honor 5X !
Conclusion
Une mise à jour dont je me serais bien passée : aucun avantage fonctionnel et une pile d'emmerdements.
Épilogue
Après encore quelques mois d'utilisation et de mises à jour regulières, certaines fonctionnalités sont revenues :
- les sauvegardes planifiées sous TitaniumBackup
- OTG avec une clé USB-3
Je n'ai pas tenté de réinstaller les autres application défaillantes sous LOS 15.1
Upgrade de LineageOS 15.1 vers 16.0
Préparation
Téléchargement, contrôles et génération de signatures
- LOS 16.0 wiki
- addonsu 16.0 ARM64
- addonsu-remove 16.0 ARM64
- OpenGapps ARM64, android 9.0, nano
Sauvegardes
- LOS 15, Sauvegarde captures d'écran d'accueil et satellites sur carte-SD
- LOS 15, Sauvegarde TitaniumBackup sur carte-SD
- LOS 15, Photos sur clé-USB externe OTG
- LOS 15, synchro réseau agenda et contacts
- TWRP, Sauvegarde système sur clé-USB externe OTG
Installation
La procédure officielle pour le Honor 5X (kiwi) a été suivie avec succès, après y avoir apporté quelques adaptations. L'androphone de test utilisant les GApps sous LOS 15.1, il en a été tenu compte, comme l'indique la procédure.
Principe
Cette procédure utilise une connexion par câble USB entre l'ordi et l'androphone. En théorie, une fois les deux appareils connectés, l'installation s'effectue exclusivement depuis l'ordi (en ligne de commande, depuis un terminal). On n'est pas censées toucher à l'androphone. Les fichiers à installer ayant été récupérés sur l'ordi, on n'aura pas besoin de les recopier sur l'androphone, ni sur la mémoire interne, ni sur la carte-SD. Les commandes d'installation lancées depuis l'ordi effectuent à la fois le transfert et le flashage du système et des applications.
Prérequis
source : What is ADB Sideload and how can I use it ? (twrp.me) (en)
Le prérequis absolu est donc de disposer d'une connexion ADB19) fiable et fonctionnelle entre l'ordi et l'androphone. Cette connexion peut emprunter plusieurs canaux. Le canal le mieux documenté et le plus couramment utilisé est une liaison par câble USB. C'est celui qui a été utilisé dans le cas décrit ci-après.
L'établissement d'une connexion ordi-androphone a déjà été décris dans une fiche précédente.
De plus, il faut vérifier que la version de l'application adb installée sur l'ordi est au minimum 1.0.32 :
$ adb version Android Debug Bridge version 1.0.32
Si tel n'est pas le cas, la procédure décrite ici n'est pas applicable.
Adaptations
Dans le cas relaté, la procédure officielle n'a pas pu être déroulée telle quelle. En effet, elle suppose :
- qu'il est possible, via ADB, de forcer le redémarrage de l'androphone en mode sideload,
- que l'androphone reste dans en mode sideload après chaque installation-flashage.
Le fait que la première condition ne soit pas remplie20) s'observe dès la toute première commande de la procédure :
$ adb reboot sideload 'adb root' is required for 'adb reboot sideload'.
Dans le cas testé, les deux conditions n'étaient pas vérifiées. Les configurations étaient les suivantes :
- ordi
- linux-Mint 18.3
- adb 1.0.32
- androphone
- LOS 15.1, build du 22 juin 2019
- TWRP 3.2.3-0
En conséquence, l'androphone a dû être placé en mode sideload depuis TWRP, avant chaque commande d'installation.
L'essentiel du mode d'installation a cependant été préservé dans la mesure où les commandes d'installation qui ont été utilisées (adb sideload <fichier>) sont exactement celles que préconise la procédure officielle21)
Procédure
- préparer l'androphone
- débrancher tout cable USB
- éteindre
- redémarrer en mode recovery (Vol+ et Power simultanément)
- activer le mode sideload
- relier l'ordi et l'androphone par un câble USB
- sur l'ordi
- vérfier la connexion
- installer LOS 16
- remettre l'androphone en mode sideload
- installer les GApps
- remettre l'androphone en mode sideload
- installer addonsu
- redémarrer l'androphone
Avant chaque commande d'installation, on s'assure que l'androphone est bien en mode sideload
$ adb devices List of devices attached IMTP1F2JDYJK02051 sideload
le mot sideload atteste que l'androphone est bien mon de sideload22) et non en mode recovery.
Ce qui donne la séquence d'opérations suivante (les lignes commençant par “@” désignent des actions sur l'androphone, les lignes commençant par “$” désignent des commandes saisies sur l'ordi) :
@ Advanced > ADB sideload > swipe $ adb devices $ adb sideload lineage-16.0-20190712-nightly-kiwi-signed.zip @ Back > Advanced > ADB sideload > swipe $ adb devices $ adb sideload open_gapps-arm64-9.0-nano-20190712.zip @ Back > Advanced > ADB sideload > swipe $ adb devices $ adb sideload addonsu-16.0-arm64-signed.zip $ adb reboot
Le premier redémarrage est toujours long…
Premières impressions
Toutes les données applicatives, les comptes et autres configurations des applications sont conservées. Seul l'écran d'accueil (et les écrans satellites) se retrouve fatalement en vrac, d'où l'intérêt d'avoir fait des captures d'écran.
À première vue, aucune des applications tierces installées n'a cessé de fonctionner. TitaniumBackup répond présent et OTG n'a pas disparu. La mise à jour OTA fonctionne.
L'affichage des applications est plus lent sans qu'il soit possible de dire si c'est dû aux effets graphiques inutiles et pénibles ou à un ralentissement plus profond. Une fois l'application chargée, la réactivité semble identique à celle observée sous LOS 15.1. Heureusement, on n'observe pas le ralentissement très net qui avait accompagné le passage de LOS 14 à 15.
LOS 15 n'a été qu'une version de transition qui aura vécu à peine quelques mois. Elle ne m'aura laissé aucun bon souvenir, bien que Pie annonce quelques améliorations régressions, tel l'affichage de l'historique en mode exclusif “pas trop d'informations, il me reste 3 neurones”…
Upgrade de LineageOS 16.1 vers 17.1
Cette mise à jour est censée conserver les données et les comptes enregistrés sur le Honor 5X. C'est effectivement ce que j'ai constaté après une installation qui s'est déroulée sans problème. Comme toujours avant ce type d'opération, il est plus que recommandé d'effectuer une sauvegarde aussi ample que possible.
Mise à jour officielle
Tant que l'information est en ligne sur le site de LineageOS, je reproduis et documente les informations disponibles.
Sources :
- Upgrade LineageOS on Huawei Honor 5X (kiwi). Cette page ne précise pas à quelles versions elle s'applique mais elle est pointée par un lien officiel dénommé “Upgrade to a higher version of LineageOS (e.g. lineage-16.0 → lineage-17.1)”
Prérequis et limites
La procédure officielle suppose que la mise à jour se fait en utilisant la dernière version du recovery de LineageOS pour Honor 5X. S'il n'est pas déjà installé, la procédure officielle stipule qu'il faut l'installer23).
La procédure de mise à jour24)ne traite pas du rootage du système. C'est d'autant plus regrettable que la technique utilisée jusqu'ici (LOS 16) est inopérante25).
Se procurer LOS 17 pour kiwi
Le Honor 5X n'étant plus maintenu par LineageOS, aucun paquetage officiel d'installation n'est proposé au téléchargement. On peut toutefois se procurer un paquetage de deux manières :
- Générer soi-même (build) un tel paquetage. C'est l'unique moyen préconisé officiellement. Autant dire que ce n'est pas à la portée d'une bricoleuse de base
Paquetages complémentaires (add-ons)
Si l'on souhaite utiliser des paquetages complémentaires (par exemple, les Google Apps) il est impératif de se les procurer avant de procéder à la mise à jour de LOS.
Préparation
- un Honor 5X chargé à bloc
- un câble USB fiable28)
- un ordi avec adb fonctionnel et parvenant à dialoguer avec le Honor 5X
- un paquetage d'installation système : lineage-17.1-20210311-nightly-kiwi-signed.zip
- des paquetages d'installation add-ons :
- open_gapps-arm64-10.0-nano-20210311.zip
- Magisk-v27.0.zip29)
Procédure officielle
sur le Honor 5X : Paramètres > Système > Options avancées > Options pour les développeurs > Débogage Android : oui Paramètres > Système > Options avancées > Options pour les développeurs > Accès root : ADB uniquement Sur l'ordi : adb -d root adb -d reboot sideload adb -d sideload /path/to/zip (inserting the path to your LineageOS package). !!! NE PAS redémarrer le Honor 5X !!! Sur le Honor 5X : Apply Update > Apply from ADB Sur l'ordi : adb -d sideload /path/to/zip those packages in sequence. Once you have installed everything successfully, click the back arrow in the top left of the screen, then “Reboot system now”
Mise à jour effective
Je décris ici la procédure que j'ai suivie.
La version de TWRP installée étant la dernière produite pour le Honor 5X (3.4.0.0), je ne change pas de recovery.
OpenGapps signalant des instabilités sous Android 10 et ayant atteint une taille colossale (289 Mio contre 168 Mio lors de l'installation de LOS-16), je bascule sur MinTheGapps (127 Mio).
Je choisis d'installer Magisk suivant la procédure “périmée” (via TWRP + run) qui semble la plus sûre (déjà validé sur le Poco F3 et recommandée par ailleurs
Procédure utilisée
Le recovery installé étant TWRP, il est impossible de suivre scrupuleusement la procédure officielle. Les principes fondamentaux sont néanmoins respectés. Dans la procédure ci-après, le préfixe de chaque action précise sur quoi on agit :
- «$» indique une commande saisie dans fenêtre de terminal, sur l'ordi.
- «@» indique une action sur l'androphone
@ Paramètres > Système > Options avancées > Options pour les développeurs > Débogage Android = coché @ Paramètres > Système > Options avancées > Options pour les développeurs > Accès root > ADB et applications $ adb devices // pour vérifier que ça fonctionne $ adb reboot recovery // adb sous TWRP tourne automatiquement sous root $ adb reboot sideload // attendre l'écran de sideload sur l'androphone $ adb sideload OS/lineage-17.1-20210311-nightly-kiwi-signed.zip $ adb reboot sideload // attendre l'écran de sideload sur l'androphone $ adb sideload OpenGapps/MindTheGapps-10.0.0-arm64-20220224_161733.zip $ adb reboot sideload // attendre l'écran de sideload sur l'androphone $ adb sideload Magisk/Magisk-v27.0.zip @ Reboot > System @ Magisk >>> se laisser guider par Magisk pour terminer l'installation et le rootage
Premiers constats
- Le Honor 5X a parfaitement redémarré sous LOS-17 (Android 10).
- Les données utilisatrice sont conservées (empreintes, contact, agenda, comptes divers, fond d'écran, wifi, Bluetooth…).
- La continuité des Google Apps est automatique (passage de OpenGApps à MinTheGapps sans conséquence).
- Le rootage via Magisk est opérationnel (testé sur Titanium Backup).
- D'une manière générale, l'interface semble légèrement plus réactive.
- On perd la fonctionnalité de radio-FM30)
- Les autres applications préinstallées31) bénéficient de quelques améliorations.
La radio-FM faisant partie du cahier des charges de cet androphone, j'arrête les tests.
Non testé
L'androphone n'étant pas équipé d'une carte SIM, les fonctionnalités suivantes n'ont pas été testées :
- double-SIM
- téléphonie (réseau, 4G, conversation, notification, gestion d'appels, etc.)
- SMS/MMS
- partage de connexion
Mais aussi :
- GPS
- accéléromètre
- …
Restauration LOS-16
Ayant effectué une sauvegarde complète préalable, sous TWRP, il m'a suffit de la restaurer pour retrouver un Honor 5X exactement dans l'état où il était avant la montée de version en LOS-17 : système, applis32), données, réglages !