Outils pour utilisateurs

Outils du site


phone:lineageos_install

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.

  1. Télécharger la dernière version3) officielle de LineageOS pour Honor 5x (≈ 480 Mo)
  2. Télécharger l'extension SU4) correspondant à la version du système installée
  3. Télécharger la dernière version d'OpenGapps pour la version de LineageOS choisie à l'étape précédente5).
  4. Vérifier les sommes de contrôle (md5) des fichiers
  5. Copier les fichiers sur la carte SD (Ordi → SD)
  6. Vérifier les md5 des fichiers copiés sur la carte (voir alternatives)
    1. Copier les fichiers en sens inverse (SD → Ordi)
    2. Vérifier les md5 des fichiers ainsi recopiés
À la différence de CyanogenMod, LineageOS ne s'utilise pas conjointement à l'app SuperSU. Il faut utiliser l'extension système SU indiquée précédemment.L'installation de SuperSU risque d'entraîner des dysfonctionnement 6).

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

Effectuer une sauvegarde sur la carte SD7) des applications et données (Titanium Backup). Cette sauvegarde permet de restaurer les données dans le nouveau système.
  1. Démarrer le Honor 5x en mode recovery
    1. Faire une sauvegarde du système. Cette sauvegarde permet une restauration intégrale en cas d'échec de d'installation.
    2. Faire une remise à zéro des réglages du système : Wipe (le wipe proposé par défaut par TWRP)
    3. Installer la ROM
    4. Installer les Gapps
    5. Installer l'extension SU
  2. Redémarrer le Honor 5x
  3. Activer le mode Développeur8)
  4. Entrer dans Paramètres > Options pour les développeurs
    1. activer le mode Root (Root access)
    2. autoriser le debug Android (ex-debug USB)
  5. Dans les paramètres de sécurité
    1. 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.

À la différence de CM, ces mises à jour ne demandent pas la réinstallation de SU.

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 (upgrade)

sources :

Avertissements

La marche à suivre diffère selon que vous utilisiez ou non les Open GApps10), sur votre version actuelle de LineageOS.
Cette procédure a été validée pour une montée de version de Lineage0S 14.1 vers 15.1, sur un Honor-5X KIW-21 utilisant les Open Gapps (1er janvier 2019).
Utilisant le recovery TWRP3.0.2-0, l'installation de la mise à jour officielle, téléchargée depuis le serveur de LineageOS échoue11). J'ai utilisé une solution de contournement qui fonctionne parfaitement12).
Comme c'était à craindre, le contournement évoqué dans la note précédente ne fonctionne que pour la mise à jour manuelle. Les mises à jour OTA suivantes échoueront systématiquement. Le passage à une version plus évoluée de TWRP13) ou d'un recovery permettant une exécution correcte du script d'installation natif est donc indispensable. Je recommande donc de commencer par ça. La procédure décrite ci-dessous restera valable. Il suffira de sauter les étapes concernant le patch de la mise à jour.

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.

  1. sur le Honor 5X, faire des captures d'écran de l'écran d'accueil et des écrans satellites
  2. sur l'ordi
    1. télécharger :
    2. vérifier les sommes de contrôles des trois fichiers téléchargés (ne jamais sauter cette étape !)
  3. patcher la sauvegarde (contournement des limites de TWRP 3.0.2-0)
    1. dezipper la mise à jour de LineageOS dans un répertoire vierge, créé à cet effet
    2. éditer le fichier META-INF/com/google/android/updater-script15)
    3. supprimer les deux premières lignes, celles qui font appel à la fonction assert
    4. enregistrer le fichier modifié en écrasant le fichier d'origine
    5. recomposez l'archive zip en respectant la structure du zip initial (ne pas enregistrer la racine !)
    6. mettre de côté le zip initial et renommer le zip modifié du même nom
  4. générer les sommes de contrôle md5 pour les fichiers de mise à jour de LineageOS(modifié) et su add-on
  5. si besoin, charger le Honor 5X à 60%
  6. relier le Honor 5X à l'ordi par un câble USB
  7. effectuer une sauvegarde intégrale des vos applications et de vos données (Titanium Backup)
  8. activer le Débogage Android : Paramètres > Options pour les développeurs > Débogage Android
  9. vérifier la connectivité ordi-androphone (adb devices)
  10. 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
  11. déconnecter le câble USB, éteindre votre Honor 5X
  12. le démarrer en mode recovery (Vol+ puis simultanément Power)
    1. faire une sauvegarde intégrale de votre système sur la carte SD (Backup)
    2. installer (Install) dans l'ordre suivant :
      1. la mise à jour de LineageOS
      2. les Open GApps
      3. le su ad-on
    3. 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
1)
Fork.
2)
EXPERIMENTAL build.
3)
Au moment de la rédaction, il s'agissait de la version 14.1 qui incorpore Android 7.1.1 Nougat.
4)
Par défaut, LineageOS est rootable mais n'est pas rooté. Cette extension active le mode rooté. Une extension similaire permet de dé-rooté.
5)
Au moment de la rédaction, pour Honor 5x : arm64, 7.1, nano.
6)
Allant jusqu'à rendre le démarrage impossible (boot loop) !
7)
Alternativement, on peut le faire sur l'ordi, via l'application adb et un câble USB.
8)
Tapoter 7 fois sur ne n° de build.
9)
“Over The Air”, d'où le sigle “OTA”.
10)
Version open source des Google Apps.
11)
Le script d'installation intégré dans la mise à jour vérifie que la mise à jour est bien celle qui convient pour le Honor 5X (kiwi). Or TWRP n'est pas capable de fournir au script le type d'appareil. Le script compare donc la chaîne de caractères “kiwi” à “” (chaîne vide) et, concluant que ce n'est pas le même appareil, bloque proprement l'installation, sans créer le moindre dommage.
12)
Je n'ai pas pris le temps d'analyser plus avant les solutions plus élégantes. Je ne serais très surprise que le problème persiste si on flashe une version plus récente de TWRP ou le recovery maison de LineageOS.
13)
Au 2 janvier 2019, la dernière version est la 3.2.3-0.
14)
Si vous êtes à l'aise pour faire toutes les opérations nécessaires avec votre seul androphone, vous savez ce que vous faites ;-)
15)
Les amatrices de sed feront cette opération et les deux suivantes d'un seul coup, avec une fiabilité accrue : sed -i '/assert/d' ./META-INF/com/google/android/updater-script
phone/lineageos_install.txt · Dernière modification: 2019/01/02 21:28 par flaz