LineageOS : Une nouvelle vie pour mon téléphone

Téléphone posé sur une table.

Vous voulez installer une ROM custom sur votre appareil Android, mais il n’en existe pas pour son modèle ? Vous voulez virer les services Google Play de votre appareil ? Et bien vous êtes au bon endroit (promis, j’expliquerai les termes techniques) !

Voici mon téléphone : un Samsung Galaxy A41 datant de 2021. Cela fait donc cinq ans, à la date où j’écris cet article, qu’il m’accompagne quotidiennement.

C’est un appareil assez accessible, au prix de quelques limitations. Avec le temps, celles-ci se sont amplifiées : problèmes de performance, manque de RAM, etc. Je souffrais notamment de ce dernier point : il m’était presque impossible de garder une application ouverte en arrière-plan. Par exemple, en voiture, j’utilise le GPS et je joue de la musique simultanément. Quasiment systématiquement, ma musique se coupait au bout de quelques minutes, car l’application était fermée par manque de mémoire.

Je comptais donc changer rapidement de téléphone, jusqu’à ce que je découvre que mon bon vieux A41 pouvait peut-être gagner une seconde vie. Le système d’exploitation, appelé ROM, de Samsung est plein de composants qui consomment les précieuses ressources du téléphone. Ainsi, plus de logiciel Samsung égal plus de problèmes de performances et RAM !

Un peu de contexte

La plupart des téléphones, à l’exception des iPhones, ont Android pour système d’exploitation. C’est un logiciel, basé sur le noyau Linux qui permet tout simplement au téléphone de fonctionner. Il gère l’écran, les applications, les communications, etc. Android est un projet libre développé par Google (techniquement appelé AOSP pour Android Open Source Project). Ainsi, les fabricants comme Samsung peuvent le modifier et l’utiliser sur leurs produits. Mais il n’y a pas que les entreprises qui peuvent s’en servir : n’importe qui a accès au code source d’Android ! Ainsi, il existe des projets de ROM custom comme LineageOS qui permettent de remplacer la version des fabricants par une personnalisée par la communauté des utilisateurs.

C’est notre but aujourd’hui ! Cependant, remplacer une ROM sur téléphone n’est pas aussi facile que de changer de système d’exploitation sur un ordinateur. Il faut en principe qu’un développeur ait créé une version dédiée au téléphone que l’on veut modifier. Bien évidemment, ce n’est pas le cas de mon Galaxy A41 (ça aurait été trop simple)… Ces versions spécifiques permettent à tous les composants du téléphone de bien fonctionner avec la ROM custom.

C’est ici que les GSI nous sauvent. Depuis quelques années, Google pousse à la séparation entre la partie du logiciel qui gère les composants physiques et Android même. Le but est d’avoir un même Android pour tous les appareils et une configuration spécifique à chaque appareil pour gérer le matériel. GSI signifie d’ailleurs Generic System Image, ce qui montre bien l’aspect universel de cette partie. Google a nommé ce projet Project Treble et la liste (non officielle) des appareils compatibles est disponible en ligne.

Avant de tout casser

Avant de toucher à quoi que ce soit : cet article a pour but de partager mon expérience. Il concentre ce qui m’a été utile à la réussite de ce projet, et j’espère qu’il vous aidera si vous souhaitez aussi changer le logiciel de votre appareil. Cependant, vous restez responsable de ce que vous faites, donc gardez le contrôle !

Quelques conseils si vous êtes prêt à vous lancer :

  • si votre appareil est supporté par des ROM custom (cherchez en ligne, par exemple pour LineageOS), suivez les instructions dédiées. Ces versions sont en principe meilleures que mon système (adaptées et testées) ;
  • je recommande vivement de voir le wiki de TrebleDroid qui est riche en ressources sur le sujet. Vous pourriez aussi être intéressé par un guide universel ;
  • les étapes que je présente sont parfois spécifiques à mon appareil, mais elles peuvent vous donner une idée générale du processus et quelques ressources utiles pour réussir ;
  • j’utiliserai tout au long de l’article ce tutoriel qui explique bien chaque étape. Ce n’est pas le même téléphone que le mien, mais un modèle proche dont le logiciel ne diffère pas de beaucoup.

La toute première étape est de sauvegarder tout le téléphone. J’ai utilisé Smart Switch pour ma part, ayant un téléphone Samsung. Cela permettra de restaurer à peu près le système en cas d’échec. Il faut aussi prévoir le cas de la réussite : il faudra cette-fois ci tout reconfigurer à la main (applications, réseau, etc.).

Tout casser !

Débloquer le bootloader

La première étape consiste à débloquer le bootloader. Le bootloader est un programme qui intervient au démarrage du téléphone pour lancer Android. Le débloquer permet de changer de ROM. Cette étape peut dépendre de la marque ou de l’ancienneté du téléphone. Par exemple, pour le mien, j’ai trouvé en recherchant sur internet une vidéo qui explique comment faire (jusqu’à trois 3:00). Le tutoriel du Galaxy A31 explique aussi cette étape.

Installer TWRP

TWRP est un logiciel qui peut être lancé au démarrage du téléphone pour gérer le système : effacer ou écrire des données, etc. pendant qu’Android est éteint. C’est une boîte à outils bien pratique qui nous permettra d’installer une ROM custom par la suite.

Pour contourner une des sécurités du téléphone, j’ai eu besoin de suivre une procédure préalable avec le logiciel original du téléphone. Une fois dans le répertoire avec les fichiers AP, BL, CP, etc., j’ai exécuté les commandes suivantes :

louis@Ordinateur-de-Louis:~/LineageOS/stockfirmware/SAMFW.COM_SM-A415F_XEF_A415FXXS8DXE2_fac/AP_A415FXXS8DXE2_CL25685771_QB80527079_REV00_user_low_ship_MULTI_CERT_meta_OS12$ fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
Rewriting vbmeta struct at offset: 0
Sending 'vbmeta' (7 KB)                            OKAY [  0.002s]
Writing 'vbmeta'                                   OKAY [  0.006s]
Finished. Total time: 0.020s
louis@Ordinateur-de-Louis:~/LineageOS/stockfirmware/SAMFW.COM_SM-A415F_XEF_A415FXXS8DXE2_fac/AP_A415FXXS8DXE2_CL25685771_QB80527079_REV00_user_low_ship_MULTI_CERT_meta_OS12$ fastboot flash --disable-verity --disable-verification vbmeta_samsung vbmeta_samsung.img
Sending 'vbmeta_samsung' (3 KB)                    OKAY [  0.001s]
Writing 'vbmeta_samsung'                           OKAY [  0.006s]
Finished. Total time: 0.023s 

Ensuite, pour installer TWRP, j’ai suivi le tutoriel du A31. Ce ne sera peut-être pas la même procédure pour votre modèle, mais dans tous les cas, il est nécessaire de disposer d’un device tree fait pour ce modèle. J’ai trouvé le mien sur internet (cherchez « [modèle] device tree« ).

J’ai eu une petite surprise à cette étape…

J’ai eu plusieurs tentatives d’installation de ROM custom sur mon téléphone, et il y a une fois où j’ai sûrement oublié une étape dans le contournement de la sécurité qui m’a valu quelques sueurs froides… Le téléphone a redémarré et s’est complètement bloqué : impossible de communiquer avec en le branchant à l’ordinateur, et le redémarrage donnait toujours le même écran avec des erreurs de vérifications échouées. Aucune combinaison de touche ne fonctionnait. J’ai finalement réussi à relancer TWRP en débranchant la batterie, puis en la remettant avec la bonne combinaison de touches immédiatement. J’ai tout-de-même dû démonter le téléphone au sèche-cheveux…

Installation de l’OS personnalisé

Après toutes ces étapes, il est enfin temps d’installer la ROM custom ! Pour cela, il faut déjà en choisir une. Pour ma part, j’ai sélectionné LineageOS qui assez connue. Il faut aussi que je vous donne quelques détails. Les communautés développant ces ROM mettent à disposition librement leur code source (comme Android). Dans la pratique, il faut compiler ce programme pour l’installer sur un téléphone. C’est un travail fastidieux, mais heureusement, dans notre cas, on a besoin d’une GSI (Generic System Image) qui peut être compilée par un internaute, et qui les met à disposition. Une liste de ces compilations est disponible en ligne. Pour ma part, j’ai utilisé celles d’Andy Yan.

Il est important de choisir la bonne version en fonction de plusieurs paramètres. Par exemple, j’ai choisi pour ma part l’image lineage-20.0-20251021-UNOFFICIAL-arm64_bvN.img. Décryptons ce nom :

  • lineage-20.0 correspond à la version de LineageOS basée sur Android 13 (le Galaxy A41 a été mis à jour par Samsung jusqu’à Android 12, mais les GSI de version supérieure peuvent aussi fonctionner — j’avais essayé Android 14 et 15, mais avec celles-ci le wifi ou le Bluetooth ne fonctionnaient pas) ;
  • arm64 parce que l’architecture du processeur de mon téléphone est ARM en 64 bits ;
  • b pour un système de partition moderne ;
  • v pour pas de services Google Play d’installés (je n’ai pas réussi à installer la version avec et de toute façon, je n’étais pas sûr de les vouloirs donc je n’ai pas insisté).

Ensuite, il suffit de suivre le tutoriel du A31 pour installer l’image et redémarrer le téléphone qui aura, si tout s’est bien passé, un nouveau système !

Résoudre les problèmes

Il y a tellement de facteurs qui peuvent mener à un problème qu’il serait impossible de tous les mentionner ici, mais il faut comprendre le principe de résolution. En général, si un problème survient, le téléphone entrera dans un bootloop qui signifie littéralement boucle de démarrage. C’est le comportement qu’on observe : le téléphone ne parvient pas à lancer Android et redémarre indéfiniement.

Dans ce cas, il faut essayer de refaire les étapes précédentes (entrer dans un menu avec les combinaisons de touches) en changeant éventuellement quelques paramètres (la version de l’image, les étapes, etc.). Aussi, l’Internet est notre ami !

J’ai eu un léger souci dans Android aussi : je n’avais pas accès à internet. Ce problème a pu être résolu en entrant : adb shell settings put global restricted_networking_mode 0 (il faut au préalable connecter le téléphone à un ordinateur et activer le déboggage sur le téléphone).

Recommencer sur de bonnes bases

Le premier aperçu

Android est de retour, avec un nouveau look et prêt à repartir pour de nombreuses années ! Avant de se précipiter à tout réinstaller, il faut tout-de-même évaluer si le système est utilisable. Par exemple, quand j’avais choisi Android 15 puis 14, je n’avais plus de Bluetooth ou de wifi… Je suis donc redescendu à Android 13.

Sur le Galaxy A41, j’ai détecté les problèmes suivants :

  • défaillance du lecteur d’empreinte digitale ;
  • défaillance de la reconnaissance faciale ;
  • pas de luminosité ajustée automatiquement ;
  • certaines applications (Wero, Carte Vitale, France Identité, Google Wallet) ne fonctionnent pas et certaines applications sont limitées (Canal+ demande l’activation d’un paramètre spécial et la qualité vidéo est légèrement réduite sans que ce soit gênant, pas de RCS dans Google Message) ;
  • l’Always On Display (affichage de l’heure en permanence) ne se met pas à jour une fois en veille (par exemple, en se couchant à 22:48, l’heure affichée sera toujours 22:48 le lendemain matin…) ;
  • la qualité et les fonctions de la caméra ont été réduites (impossible d’utiliser l’objectif grand angle et 48 Mpx, rendu légèrement moins bon).

J’accepte toutes ces pertes puisque j’estime que le gain en performance et mémoire contrebalance suffisamment. Je suis aussi content de retourner à une forme de sobriété, en réduisant la dépendance et l’utilisation que j’ai de mon téléphone. Ne pas avoir les services Google Play dessus me plaît aussi.

La configuration complète

Si comme moi vous acceptez les inconvénients de la ROM custom, quelques petits tours de magie s’imposent pour obtenir un téléphone aux petits oignons. Tout d’abord, il faut se rendre dans les paramètres, puis dans TrebleDroid Settings. Plusieurs paramètres sont proposés pour obtenir une meilleure expérience. Il y a une méthode que j’aime bien (je ne sais pas si elle est très recommandable) qui sonsiste à regarder tous les paramètres un par un et éventuellement les tester pour obtenir un potentiel bénéfice. Il est aussi possible de rechercher en ligne les recommandations de la communauté (ce que j’ai fais aussi pour mon téléphone).

Par la suite, j’ai personnalisé le système à la manière qui me plaît : remplacer les boutons en bas de l’écran par les contrôles gestuels, le thème, etc.

Retrouver des boutiques d’applications

Et oui, il n’y a plus de Google Play Store ! Cependant, des alternatives existent. Tout d’abord, il y a F-Droid qui est une boutique d’applications libres. Personnellement, j’utilise aussi Aurora Store qui récupère les applications du Play Store. Contrairement à F-Droid qui n’a que des applications libres, Aurora a toutes celles que l’on retrouve habituellement : jeux, réseaux sociaux, etc. J’utilise prioritairement F-Droid mais je passe par Aurora dès que j’ai besoin. Ainsi je ne suis pas restreint dans l’obtention même des applications. Certaines pourront toujours refuser de fonctionner parce que c’est un système un peu bidouillé (voir plus haut).

Remplacer les services Google Play

L’absence des services Google Play produit tout-de-même un trou dans la ROM : certaines applications n’aimeront pas (en commençant par les applications de Google, mais aussi celles qui utilisent la localisation, et autre). Sur un appareil, les services Google Play se matérialisent sous la forme d’un ensemble d’API, des interfaces sur lesquelles des applications peuvent se brancher pour effectuer des opérations.

Il est alors possible de « recopier » les services Google Play, et c’est ce que le projet MicroG fait. Il suffit de l’installer depuis F-Droid, de le configurer rapidement et c’est opérationel ! Youtube et Google Maps fonctionnent bien, tout comme la version full de Home Assistant normalement réservée aux appareils avec les services Google Play (elle permet le suivi de la position, en plus de la version minimal).

Quelques applications notables

Dans ma quête d’alternatives libres aux applications que j’utilisais avant, j’ai rencontré quelques pépites (sur F-Droid donc) :

  • la suite d’applications Fossify : agenda, calculatrice, contacts, gestionnaire de fichiers, gallerie photo, SMS, etc. – c’est simple et efficace ;
  • Aegis : gestionnaire d’autentification à deux facteurs ;
  • Catima : porte cartes de fidélité (code-barre) ;
  • DAVx5 : synchronisation des agendas/tâches (en CalDAV) et des contacts (en CardDAV), pour NextCloud que j’utilise par exemple ;
  • Breezy Weather : météo (j’adore celle-ci : son interface est superbe, les informations très complètes et les chiffres sont même expliqués) ;
  • K-9 Mail : courriels (interface très propre).

Si vous avez découvert d’autres applications comme celles-ci, je serais très heureux de les voir !

Conclusion

Ajouté à ce nouvel Android, j’ai installé une coque transparente à mon téléphone, et il est comme neuf ! Je suis prêt à l’utiliser de nombreuses années encore. Grâce au logiciel libre, je suis passé d’un déchet naissant à un tout nouvel appareil (à mes yeux), et la planète en sera contente. Après trois mois d’utilisation de mon nouveau téléphone, j’en suis toujours aussi content.

J’espère que cet article vous aura intéressé, et pourquoi pas aidé à sauter le pas !

Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *