Greboca  

DLFP - Dépêches  -  Installer LineageOS sur son appareil Android

 -  Juin 2019 - 

Lorsque j’ai installé LineageOS sur mon smartphone, j’ai suivi des tutoriels sans réellement comprendre ce que je faisais. Je voulais donc écrire cet article pour éclairer celles et ceux qui voudraient tenter l’aventure et avoir plus de contrôle sur leur téléphone Android. Ce n’est donc pas un tutoriel mais plus un guide qui explique le fonctionnement et l’écosystème d’Android et de LineageOS.

Copies d’écran de LineageOS

Sommaire

Avant l’installation

Qu’est‐ce que LineageOS ?

LineageOS est un système pour téléphone et tablettes basé sur Android Open Source Project (AOSP) — Android tel que fournit par Google. Il peut être installé à la place du système Android qui est préinstallé sur les téléphones. Contrairement à ce système, maintenu (ou pas) par le fabricant de l’appareil, il s’agit d’un projet communautaire.
C’est un dérivé de Cyanogenmod créé en décembre 2016, quand la boîte qui était derrière ce dernier, Cyanogen Inc., a annoncé l’arrêt du projet et de son infrastructure.

Système alternatif : quelles différences entre un téléphone et un ordinateur classique ?

Lorsqu’on a déjà installé un ordinateur sous GNU/Linux ou avec un autre système, on se demande forcément à un moment ou à un autre : mais pourquoi est‐ce si compliqué, qu’y a‐t‐il de différent sur un téléphone Android ?

Sur les ordinateurs de bureau ou portables classiques (PC), l’architecture est standardisée et le BIOS fournit la liste du matériel présent. Ainsi, un installateur de système d’exploitation pourra connaître et trouver le matériel sans problème particulier.

Pour les téléphones, c’est plus compliqué : l’architecture et le matériel sont souvent spécifiques pour chaque téléphone et il n’y a pas de moyen de détection. Les noyaux des systèmes des téléphones doivent être compilés avec un arbre de périphériques (device tree : liste du matériel présent et à quel endroit il est).

Pour compliquer le tout, les constructeurs des cartes intégrées utilisées dans les téléphones adaptent en profondeur le noyau Linux et le rendent spécifique à leur matériel. Ce qui fait que chaque carte est fournie avec un noyau Linux spécifique et un ensemble de bibliothèques propriétaires pour faire fonctionner des périphériques plus ou moins essentiels (puce graphique, appareil photo, modem, puces Wi‐Fi et Bluetooth, etc.).

Pour toutes ces raisons, il n’y a pas d’installateur universel, il y a autant d’images que de téléphones.

Android et la vie privée : qu’est‐ce qui pose problème ?

Voici quelques liens qui peuvent donner envie de mieux protéger sa vie privée :

Pourquoi installer LineageOS ?

Avantages :

  • protéger sa vie privée ;
  • avoir plus de contrôle sur son téléphone ;
  • avoir un téléphone mis à jour avec une version récente d’Android ;
  • gagner en vitesse d’exécution et en espace libre (pas de surcouche constructeur).

Inconvénients :

  • perte de la garantie (bien que cette clause soit abusive, je vous laisse en discuter dans les commentaires) ;
  • difficulté et risque de l’installation (possibilité de bloquer son téléphone en cas de mauvaise manipulation, cet article devrait vous aider à mieux comprendre ce que vous faites).

Android est‐il libre ?

Oui et non. AOSP (Android Open Source Project), la base du système Android, est libre, mais les téléphones sont livrés avec des applications et bibliothèques propriétaires. Voici généralement ce que l’on trouve dans un téléphone livré par un constructeur :
Rom Stock

Google Apps : Applications fournies par Google (Play Store, Gmail, Gmaps, etc.). Il est possible d’installer les Google Apps sur LineageOS.

Et voici ce que vous aurez après avoir installé LineageOS :
Rom LineageOS

  • les pilotes matériels restent non libres ;
  • l’installation d’applications non libres reste possible sur LineageOS (oui, vous pourrez continuer à utiliser Facebook sur LineageOS si vous le désirez !) ;
  • il est également possible d’installer les Google Apps sur LineageOS, mais vous vous exposerez alors à nouveau votre vie privée ; je reparlerai plus tard de l’alternative microG.

Qu’est‐ce qu’une ROM ?

On rencontre souvent le terme « ROM » (Read‐Only Memory) pour parler de LineageOS. C’est un peu un abus de langage ici, car on devrait plutôt parler de distribution. Une ROM est installée sur un téléphone en « flashant » une image, c’est‐à‐dire en copiant son contenu dans la partition système de la mémoire Flash du téléphone, qui est en lecture seule dans les conditions habituelles d’utilisation.
Par « ROM stock », on désigne le système qui est préinstallé sur le téléphone. Toutes les autres ROM sont qualifiées de « ROM custom ». On parle aussi de temps en temps de firmware (micrologiciel), bien que les distributions Android ne soient pas si micro : elles avoisinent le gigaoctet.

Alternatives

LineageOS est la ROM  alternative la plus répandue, pouvant s’installer sur le plus grand nombre de téléphones, mais il y en a d’autres :

  • le projet Replicant a pour but de construire une version d’Android entièrement libre (y compris les pilotes) ;
  • /e/ se base sur LineageOS pour proposer une autre interface et des services qui respectent la vie privée et intègre microG ;
  • ROM basées sur LineageOS, telles que AICP, Bliss et un tas d’autres ; si vous arrivez à installer LineageOS, vous ne devriez pas rencontrer de problèmes pour tester d’autres ROM basées dessus ;
  • AOSP elle‐même, pour les téléphones pris en charge par Google ;
  • des ROM basées sur AOSP (et pas sur LineageOS), comme AOSPExtended.

Est‐ce que je peux installer LineageOS sur mon téléphone ?

Tous les téléphones ne sont pas compatibles avec LineageOS, voici la liste des téléphones officiellement compatibles. Pour connaître le nom précis de votre appareil, allez sur ConfigurationNom de l’appareil.

Votre téléphone n’est pas dans la liste ? Tout n’est pas perdu, des passionnés développent des ROM non officielles de belle qualité. Vous pouvez rechercher s’il existe une ROM pour votre téléphone sur les forums XDA.

Exemple :

Cela peut paraître étrange de télécharger des fichiers d’installation à partir d’un forum, mais c’est comme cela dans le monde Android / LineageOS !

Les versions LineageOS et Android

  • CyanogenMod 12 (basé sur Android 5 — Lollipop) ;
  • CyanogenMod 13 (basé sur Android 6 — Marshmallow) ;
  • LineageOS 14 (basé sur Android 7 — Nougat) ;
  • LineageOS 15 (basé sur Android 8 — Oreo) ;
  • LineageOS 16 (basé sur Android 9 — Pixel) ;
  • LineageOS 17 (basé sur Android 10 — Q).

L’installation

Le but de cette partie est de comprendre ce que l’on fait lorsqu’on installe LineageOS, car bien souvent les tutoriels se limitent à une suite d’instructions à exécuter sans réelles explications. Je ne vais donc pas détailler ici l’installation de chaque ROM, les étapes diffèrent selon chaque téléphone. Donc, après la lecture de cet article, je vous renvoie au tutoriel d’installation de la ROM pour votre téléphone.

Le système de fichiers

Voici à quoi ressemble le système de fichiers sur un téléphone Android (il existe d’autres partitions, mais vous n’avez pas besoins de les connaître pour comprendre l’installation d’une ROM) :

filesystem

  • les parties bootloader et fastboot ne font pas vraiment partie du système de fichiers ;
  • les partitions /boot et /system sont en lecture seule lorsqu’Android est démarré, c’est pourquoi il est impossible de supprimer les surcouches et les Gapps d’un téléphone livré par les constructeurs ;
  • la partition /data contient les données et les applications, seule cette partition est accessible en écriture lorsque le téléphone est démarré ;
  • il est possible d’accéder à la partition /recovery pour avoir accès en écriture aux autres partitions.

Que sont les logiciels adb (Android Debug Bridge) et fastboot ?

Il est parfois nécessaire d’installer ces logiciels sur votre PC, ils permettent d’envoyer des commandes à votre téléphone et d’accéder à des partitions protégées en écriture.

filesystem

Pour l’installation sous GNU/Linux, il suffit généralement d’installer un paquet pour votre distribution.

Exemple pour Debian et Ubuntu :

apt-get install adb fastboot

Et pour Fedora, Red Hat, CentOS, openSUSE et Mageia (N. D. M. : sur Mageia, la commande fastboot étant déjà présente, elle a été rebaptisée fastboot-android) :

dnf install android-tools

Pour pouvoir lancer des commandes adb, il faut que votre téléphone les accepte et soit en mode développeur. Pour cela, vous devez aller dans :

  • ParamètresÀ propos du téléphone ;
  • puis vous devez taper sept fois sur la ligne « Numéro de build » (oui, oui, ce n’est pas une blague :)) ;
  • retournez dans Paramètres{} Options pour les développeurs ;
  • activez l’option Débogage Android (à partir d’Android 9 Pie, cette option est dans Paramètres → Système{} Options pour les développeurs).

Voici quelques exemples de ce que vous pouvez faire avec ces commandes :

  • adb devices : liste les téléphones reliés par USB à votre PC et prêts à recevoir des commandes;
  • adb reboot recovery : permet de redémarrer sur la partition /recovery ;
  • adb reboot bootloader : permet de redémarrer en mode fastboot ;
  • adb install -l nomapplication.apk : permet d’installer le paquet précisé en arguement ;
  • fastboot devices : permet de lister les téléphones reliés par USB à votre PC et prêts à recevoir des commandes fastboot.

Pourquoi déverrouiller le bootloader ?

Il faut déverrouiller le chargeur d’amorçage, appelé bootloader, pour pouvoir démarrer sur la partition /recovery. La manipulation dépendra entièrement du constructeur et du téléphone que vous possédez. Cela peut se faire très simplement ou alors passer par une procédure complexe (envoi de courriel, code, etc.).

filesystem

Qu’est‐ce que TWRP ?

TWRP est un programme qui s’installe dans la partition /recovery. Une fois installé, il vous permet, grâce à une interface graphique, de formater, de sauvegarder ou d’installer des images dans les partitions /boot et /system.

Bien souvent, depuis la page d’installation de la ROM LineageOS, des liens vers le logiciel TWRP à flasher spécifiques à votre téléphone sont disponibles.

Remarque : le projet TWRP propose des versions autonomes (live) permettant d’amorcer TWRP sans l’installer et d’y réaliser les opérations courantes (installation, injection d’une application système ou d’un correctif).

filesystem

Pour démarrer sur TWRP, il faut utiliser une combinaison de touches qui dépend de votre téléphone (souvent bouton de démarrage + volume haut).

TWRP

TWRP est un logiciel libre, il possède une application permettant sa propre mise à jour simplifiée et aussi de se tenir informé des dernières versions du système.

Installation de LineageOS

Et voilà, vous pouvez maintenant installer LineageOS : téléchargez la ROM, copiez‐la sur une carte SD, redémarrez sur /recovery en TWRP, sauvegardez votre ROM actuelle, formatez les partitions et, enfin, installez votre nouvelle ROM !

filesystem

Qu’est‐ce que le mode root ?

Après avoir démarré LineageOS, la partition /system n’est pas accessible en écriture. « Rooter » son téléphone permet de la rendre accessible en acquérant les droits d’accès du super‐utilisateur root.

filesystem

Avantages du root :

  • pouvoir sauvegarder l’ensemble de son appareil ;
  • faire fonctionner des logiciels qui ont besoin d’accéder à la partition /system (MicroG ou logiciels de sauvegarde par exemple).

Inconvénients du root :

  • certaines applications ne fonctionnent plus sur un appareil « rooté » ;
  • problèmes de sécurité ?

Installation de Magisk

Magisk est un logiciel qui permet de faire un pseudo‐root et de cacher à certaines applications que le téléphone est « rooté ». Une application appelée Magisk Manager permet de le configurer et d’installer les dernières versions.

Qu’est‐ce que MicroG ?

Si vous voulez dégoogliser votre téléphone, vous ne voudrez certainement pas installer les Google Apps (GApps). Cependant, certaines applications dépendent des services Google. On pourrait penser que les Open Gapps font l’affaire, mais ce n’est pas le cas : elles ne font que fournir des logiciels propriétaires de Google. On pourrait également penser que l’on peut tout simplement s’en passer. C’est effectivement la meilleure solution, mais, parfois, certaines applications dépendent des Google Apps et ne fonctionnent pas sans.

MicroG fournit une alternative libre à certaines API utilisées par ces applications et peut être installé à la place des GApps. Il faut malgré tout rester conscient que le bon fonctionnement de microG dépend du bon vouloir de Google et de l’évolution de ses API.

filesystem

Remarque : En plus des ces API, MicroG fournit un moyen de se géolocaliser à l’aide du Wi‐Fi et des antennes téléphoniques, ce qui n’est pas fourni de base avec LineageOS (mais qui est une fonctionnalité des GApps). Cette fonctionnalité rend MicroG intéressant même pour les gens qui souhaitent totalement éviter Google, car cette géolocalisation vient en complément et accélère parfois la localisation GPS. L’utilisateur devra choisir et activer des fournisseurs de géolocalisation dépendant ou non d’une connexion au réseau (Apple, Mozilla, bases de données locales) dans les paramètres de MicroG.

ROM LineageOS for microG

Tous les téléphones pris officiellement en charge par LineageOS le sont également par le projet LineageOS for microG. Ces images fournissent LineageOS + microG + F-Droid de base. Cette solution simplifie grandement l’installation et doit être privilégiée.

Étapes d’installation de microG

Si votre ROM n’est pas officiellement prise encharge, microG peut aussi être installé sur un système LineageOS existant, mais ce n’est pas simple.

Voici un résumé des étapes à réaliser pour l’installation de microG sans utiliser LineageOS for microG :

  • « rooter » l’appareil ;
  • ajouter un dépôt à F-Droid ;
  • installer les applications microG (GmsCore, UnifiedNlp, FakeStore, etc.).

Remarque : Une application permet de savoir quels services fonctionnent et de configurer microG.

Mettre à jour sa ROM

Si vous utilisez une ROM LineageOS (ou MicroG) officielle, vous devriez être notifié lorsqu’une mise à jour est disponible. L’installation OTA (Over The Air) se fait donc très simplement.

En revanche, si vous êtes sur une version non officielle, je n’ai pas trouvé de méthode recommandée pour cette tâche. Je vous soumets donc la méthode que j’utilise et qui a fonctionné pour moi jusqu’à aujourd’hui (n’hésitez pas à en soumettre d’autres ou à la critiquer) :

  • téléchargez la nouvelle ROM et placez là sur la carte SD ;
  • redémarrez en mode recovery sous TWRP ;
  • installez la nouvelle ROM ;
  • redémarrez l’appareil, le premier démarrage est en général long.

Après l’installation

LineageOS est vraiment un système agréable à utiliser et complet, mais voici quelques suggestions de ce que vous pourriez faire après avoir installé LineageOS pour l’enrichir et le personnaliser.

Les magasins d’applications (F-Droid et Aurora)

Que serait Android sans ses applications ? Et, pour installer des applications, il faut un magasin d’applications (Store). Si vous n’avez pas installé les Google Apps, vous n’avez plus Google Play, mais heureusement, des solutions alternatives existent.

F-Droid — Magasin d’applications libres

F-Droid est un magasin d’applications libres pour Android. Pour l’installer, vous devez utiliser un navigateur, télécharger l’APK et l’installer.
F-Droid

Aurora — Utiliser Google Play sans Google Play

Aurora (disponible sur F-Droid) permet d’installer des applications provenant de Google Play sans utiliser de compte Google. Vous pouvez donc installer des applications propriétaires de façon anonyme grâce à ce magasin :

  • cela ne fonctionne pas toujours du premier coup, il faut parfois patienter avant de pouvoir installer une application (renouvellement de jeton) ;
  • Aurora vous demande un compte Google au démarrage, mais vous pouvez ignorer cette étape pour rester anonyme.

Quelques suggestions d’applications libres

Navigation Web : Firefox et DuckDuckGo

LineageOS est livré avec le navigateur Android. Mais, depuis F-droid, vous pouvez facilement installer le navigateur DuckDuckGo, qui propose également un widget de recherche ou alors Firefox (baptisé ici Fennec F-Droid).
Les plus puristes seront peut‐être intéressés par Icecat Mobile, un dérivé des versions Firefox prises en charge à long terme fourni avec les extensions LibreJS (qui bloquent les scripts non libres) et Tor.

Cartographie et navigation : OsmAnd et Maps.Me

Il existe beaucoup d’alternatives de qualité basées sur OpenStreetMap pour remplacer Google Maps. La plus connue est OsmAnd, qui est un vrai couteau suisse de la navigation mobile et permet une navigation, des recherches et des calculs d’itinéraires (vélo, piéton, voiture, transports en commun) hors ligne.
OsmAnd
Une application plus rapide et plus légère (utilisant des cartes non vectorielles), Maps.me, pourra également intéresser certaines personnes.

Photographies : OpenCamera, FreeDCam et Camera Roll

LineageOS est livré avec une application pour prendre des photos. Mais celle‐ci fera peut‐être pâle figure par rapport à celle livrée par le constructeur et qu’il est maintenant impossible d’installer.

OpenCamera sera sans doute une alternative plus complète. Essayez également FreeDCam qui propose encore plus de fonctionnalités (pas sûr qu’elle fonctionne pour autant de téléphones qu’OpenCamera), mais qui est également plus complexe.
FreeDCam

Enfin, pour organiser vos photos, testez Camera Roll !

Gestion des fichiers : Amaze

Amaze est un gestionnaire de fichiers complet (accès à des serveurs SMB, FTP et SFTP).

Amaze

Gestion des courriels : K9mail

K9mail est une application de courriel éprouvée. Elle peut remplacer E-mail Android mais également Gmail.

Calendrier et contacts : DAVx⁵, Nextcloud, Etar et OpenTasks

Un tutoriel très complet a été rédigé par Ysabeau pour synchroniser calendrier et contact avec DAVx5 (anciennement DavDroid). Mais il y a également :

  • une application pour la gestion des contacts qui est livrée avec LineageOS ;
  • un calendrier, appelé Agenda, livré avec LineageOS ou Etar ;
  • OpenTasks — non disponible sur F-Droid — qui permet de gérer et synchroniser vos listes de tâches à effectuer (TODO Lists).

Sauvegardes : OandBackup, SMS Backup + et Nextcloud

L’application OandBackup permet une sauvegarde exhaustive, par application, du téléphone. Même si son interface est un peu austère, vous pouvez tout sauvegarder avec, à condition d’avoir un téléphone « rooté ».
Oandbackup

L’application SMS Backup + pourra être utilisée en complément d’OandBackup pour sauvegarder ses textos dans une boîte de courriel. Elle ne nécessite pas un téléphone « rooté ».

Côté photos et documents, Nextcloud ou OwnCloud, qui permettent d’accéder à un espace en ligne (cloud) et d’y téléverser les photos qui sont prises dès que le téléphone est connecté (c’est bien sûr optionnel).

Enfin, il est toujours possible de sauvegarder entièrement le téléphone, même s’il n’est pas « rooté », à l’aide de TWRP.

Et puis, en vrac :

  • VLC : regarder des vidéos et écouter de la musique ;
  • Red Moon ou Night light : filtre les lumières bleues pour le bien de vos yeux ;
  • KDE Connect : permet de recevoir et répondre à ses textos avec son ordinateur, de partager le presse‐papiers, transférer des fichiers, partager les notifications dans un sens comme dans l’autre, piloter son ordinateur à partir du téléphone (souris, clavier, lecteur de musique), ouvrir un lien sur le téléphone depuis l’ordinateur et plus encore : une application très pratique et assez complète qui fonctionne aussi sur d’autres environnement de bureau que Plasma (dont GNOME Shell, via une extension) ;
  • NewPipe : une belle alternative à l’application YouTube, qui permet de chercher et visionner les vidéos, les écouter en arrière‐plan, et les télécharger pour les regarder ou les écouter plus tard, tout ça sans les publicités (indisponible sur le Play Store) ;
  • AfWall+ : un pare‐feu permettant un contrôle fin par application et type de connexion (pratique notamment pour limiter l’utilisation des données mobiles sur un forfait restreint ! Nécessite un téléphone « rooté ») ;
  • ClipStack : un bon gestionnaire de presse-papiers ;
  • ForceDoze : pour forcer votre téléphone à dormir quand son écran est éteint ; à utiliser avec précautions ;
  • Drowser : pour tuer les applications voulues lorsque l’écran du téléphone s’éteint (idem !) ;
  • Barcode Scanner : pour scanner les codes‐barres et partager des données avec des codes QR ;
  • OpenFoodFacts et OpenBeautyFacts : pour scanner et évaluer des produits du commerce avec la base de données Open Food Facts ;
  • Sky Map : une application anciennement éditée par Google et maintenant gérée par la communauté pour observer le ciel ;
  • SatStat : pour consulter la boussole du téléphone, afficher les données GPS et de divers capteurs du téléphone (accélération, rotation, champ magnétique, orientation, lumière, proximité, température et pression) ;
  • Dessin : une application de dessin rudimentaire, pratique pour noter les scores pendant une partie de jeu de société ;
  • Audio Recorder : enregistrer du son avec le microphone du téléphone ;
  • Signal (non disponible sur F-Droid, le développeur principal s’y oppose et est hostile aux dérivés se connectant au serveur officiel, et l’application inclut une bibliothèque Google non libre) : permet d’échanger des messages et des médias chiffrés avec ses contacts ; voir aussi : Riot.im (Matrix), Rocket Chat, Mattermost, Delta Chat (messagerie instantanée par courriel) et Telegram.

Conclusion et projets

J’ai beaucoup appris en rédigeant cette dépêche. Merci également à toutes les personnes qui y ont participé. La liste des applications présentées dans cette dépêche est loin d’être complète, je compte sur vous pour partager vos trouvailles dans les commentaires.

J’ai pour projet de faire quelques diapos à partir de cette dépêche dans le but d’organiser des « Expositions » sur Android et la vie privée. Beaucoup de personnes y sont aujourd’hui sensibles (même si beaucoup ne le sont pas également ;)).

Pour finir, j’aimerais également étudier la possibilité d’importer des téléphones reconditionnés, de les installer avec LineageOS et de les vendre en France avec une garantie. Cela m’a été demandé par des proches, et j’ai créé le site Web www.montelephonelibre.fr (soyez indulgents, le site a été créé pour cette dépêche, il est tout neuf :)). N’hésitez pas à m’envoyer des messages et à vous inscrire à la newsletter pour avoir des nouvelles !

Commentaires : voir le flux atom ouvrir dans le navigateur

par Cyprien, raphj, Ysabeau, Davy Defaud, BAud, teoB, palm123, ZeroHeure, tankey, patrick_g

DLFP - Dépêches

LinuxFr.org

Tribune April : Techsoup et Solidatech, instruments d'influence

 -  27 mars - 

Après une première position sur Solidatech en 2020, l'April a passé à nouveau du temps pour étudier et comprendre la place des structures Solidatech (...)


TuxRun et le noyau Linux

 -  27 mars - 

Il y a quelques années, je vous avais présenté TuxMake, un utilitaire pour faciliter la (cross-)compilation du noyau Linux supportant une grande (...)


Retour d’expérience sur l’utilisation de GrapheneOS (ROM Android libre)

 -  18 mars - 

Suite à la dépêche Comparatif : GrapheneOS vs LineageOS, je souhaitais faire part d’un retour d’expérience sur l’utilisation de GrapheneOS sur un (...)


Ubix Linux, le datalab de poche

 -  16 mars - 

Ubix Linux est une distribution Linux libre et open-source dérivée de Debian.Le nom « Ubix » est la forme contractée de « Ubics », acronyme issu de (...)


Open Food Facts : récit d’un contributeur

 -  15 mars - 

Récit de mon aventure en tant que contributeur pour le projet Open Food Facts, la base de donnée alimentaire ouverte et collaborative, où je suis (...)