Libérez votre cellulaire et reprenez le contrôle avec LineageOS (par Jean Leblond et Raymond Ouellette)

Durée de la présentation : 1 h 20 min

LineageOS, un système libre pour votre cellulaire (appareil mobile).

  • Avantages à l'installer
  • Comment l'installer
  • Applications disponibles
  • Recommandations
  • Atelier d'installation pour les intéressés (voir préalables) (par Benoît Vézina et membres présents).

Ce projet s’adresse aux utilisateurs d’un appareil mobile avec le système Android, ainsi qu’aux personnes qui magasinent un cellulaire et hésitent entre un Android, iPhone ou autre.

Ce projet vous présente les avantages et les inconvénients à “rooter” (déverrouiller) votre appareil Android afin d'y installer et d'utiliser le système libre LineageOS sur votre cellulaire. Android est basé sur Linux, le plus puissant et le plus polyvalent des systèmes.

Il existe deux versions de LineageOS : une version moins libre qui s'appuie sur les applications de Google et une autre plus libre LineageOS for microG dans laquelle les OpenGApps sont remplacées par une ré-implémentation qui exclut totalement Google. Lisez la foire aux questions (FAQ) pour décider si la version pour microG est pour vous https://lineage.microg.org/#FAQ. Et aussi la section Pourquoi microG ?

Afin d'éviter de perdre du temps et éviter de dépasser notre limite mensuelle de téléchargements, nous demandons aux membres qui souhaitent faire une installation d'apporter les logiciels. Pour les téléphones :

  • Connaître la marque et le modèle de votre cellulaire
  • Avoir téléchargé l'archive du système correspondant à votre modèle
  • Apporter un ordinateur contenant cette archive
  • Votre téléphone (bien entendu)
  • Votre câble d'alimentation de téléphone et adaptateur pour branchement sur votre ordinateur (USB)

Important: Assurez-vous d'avoir une copie de tous les documents (images, photos, musique, etc.) ailleurs que sur votre mobile, car nous devrons effacer intégralement son contenu avant l'installation de Android LineageOS.
Nous fournirons une copie des outils adb-fastboot, OpenGApps et de addonsu à partir d'une clef USB.

Il est possible de libérer son cellulaire sous Android en lui substituant une version « plus propre et libre » d'Android : LineageOS.

Faire cette opération vous redonne le contrôle de votre appareil : vous choisissez les applications utilisées par votre cellulaire, vous vous débarrassez des applications inutiles ou imposées [par le manufacturier/fournisseur]. De plus vous obtiendrez une version bien plus récente d'Android (mise à jour à tous les vendredis).

Votre cellulaire libéré

  • utilisera votre fournisseur de téléphonie comme avant;
  • vous permettra de choisir quelles applications Google seront installées (ou même n'en installer aucune avec la version microG);
  • pourra continuer à utiliser le Google Play Store (sauf si vous choisissez LineageOS for microG);
  • pourra utiliser n'importe quelle carte SIM (pratique si vous voyagez)
  • sera sécuritaire et sous VOTRE contrôle.

Libérer son cellulaire se fait en suivant une recette comportant quelques étapes. Il vous faudra un ordinateur (portable ou non), le câble de branchement USB de votre cellulaire et une connexion Internet.

La recette vous fera, dans l'ordre :

  1. préparatifs (téléchargements et installation d'applications adb et fastboot)
  2. déverrouiller le secteur d'amorce (par la voie officielle de votre fabriquant de cellulaire);
  3. installer recovery par TWRP (qui remplace le logiciel de restauration par défaut en une version libre bien plus puissante et performante);
  4. installer le système LineageOS ou la version LineageOS for microG
  5. ajouter OpenGApps (optionnel) – seulement pour LineageOS – ; cela doit être fait tout de suite après l'installation de LineageOS et AVANT de redémarrer le cellulaire parce que les OpenGApps s'intègrent à LineageOS;
  6. ajouter addonsu pour activer/désactiver root au besoin
  7. redémarrer votre cellulaire…

Vous devez savoir que votre cellulaire a, s'il a été acheté avant le 1er décembre 2017, un double verrouillage.

1. Verrouillage du fournisseur de téléphonie
Ce verrouillage est interdit au Canada depuis le 1er décembre dernier. Il vous imposait un fournisseur d'accès et vous ne pouviez pas utiliser d'autre carte SIM que celle d'origine. Vous étiez verrouillé à un seul fournisseur. C'était le fameux 50 $ à payer pour un déverrouillage pour changer de fournisseur. Quelques rares modèles de cellulaire non verrouillés étaient disponibles avant cette date.

2. Verrouillage du secteur d'amorce (bootloader)
Le secteur d'amorce de tous les cellulaires, sans exception, est verrouillé. Ce verrou vous empêche de modifier le système d'exploitation, ce que nous devons faire si nous voulons installer LineageOS pour le substituer à votre version actuelle d'Android. Supprimer ce verrou N'EST PAS illégal, mais votre fournisseur actuel n'honorera sans doute plus la garantie de l'appareil s'il est défectueux avant son échéance.

Seul le second verrouillage nous importe puisqu'en libérant le secteur d'amorce et en remplaçant l'Android d'origine par LineageOS le cellulaire ne sera plus lié obligatoirement à un seul fournisseur de téléphonie.

1. Installez adb et fastboot sur votre ordi pour communiquer avec votre cellulaire Installer adb et fastboot puis activer le mode développeur de votre cellulaire comme suit :

  • Menu paramètres du cellulaire (roue dentelée) → À propos du téléphone → Taper 7 fois sur le numéro de la bande de base (build id).
  • Lorsque le mode développeur sera activé il apparaîtra comme option dans les paramètres, nous en aurons besoin plus loin.

2. Téléchargez sur votre ordi la version de LineageOS pour votre cellulaire LineageOS, les OpenGApps

  • Cliquez le lien Variant (package comparison) pour faire votre choix de version, et addonsu pour activer/désactiver root au besoin.
  • Copiez ensuite ces fichiers à la racine de votre cellulaire.

3. Faire une copie de sécurité depuis votre ordi avec adb

 adb devices -> pour voir si votre cellulaire est visible
 adb backup -apk -shared -all -f /chemin/et/nom/de/l'image.ab -> pour faire la copie de sécurité -- compter de 5 à 10 minutes environ
 adb restore /chemin/et/nom/de/l'image.ab permet de restaurer au besoin l'image originale du cellulaire
 voir [https://scottlinux.com/2014/11/09/how-to-backup-and-restore-your-android-device-with-adb/]

4. Télécharger TWRP pour votre appareil : ce logiciel libre, TeamWin Recovery Project, sera installé ensuite pour manipuler/installer des images comme LineageOS. TWRP remplace le logiciel « stock recovery » de votre fournisseur qui ne vous permet pas de remplacer votre Android par une autre version comme LineageOS.

À partir d'ici il suffit de suivre la recette spécifique à VOTRE modèle de cellulaire dans le site de LineageOS; la procédure est très bien expliquée (en anglais). Notez que LineageOS sera dans la langue de votre choix (qui vous sera demandée) lors de son premier lancement.

“Rooter” un appareil Android signifie obtenir les privilèges d'accès “root” des ressources de votre téléphone.

Provenant des termes Unix, l'accès “root” est un accès administrateur sur une machine (Linux, Windows, etc.).

L'utilisateur “root” peut faire n'importe quel changement qu'il souhaite sur l'appareil exécutant le système opérationnel et peut également contrôler ce que les utilisateurs moins privilégiés peuvent faire.

“Rooter” un Android a commencé comme une pratique semi-acceptée dans le monde des développeurs où ils avaient besoin des privilèges pour effectuer différentes tâches.

Contrairement au “jailbreak” d'un iPhone, “rooter” votre appareil Android ne le rend pas illégal et n'est en aucun cas désapprouvé car c'est une une étape naturelle du développement d'applications sur Android et aussi un moyen pour les utilisateurs d'améliorer leur expérience.

“Rooter” un appareil comporte cependant certains inconvénients même si cela vous donne la liberté intégrale que vous devriez avoir en achetant un téléphone.

Ainsi, certains fabricants vont jusqu'à soutenir cette pratique officiellement en libérant des outils qui vous aident à compléter le processus.

L'étape difficile dans ce processus est de savoir comment atteindre le code de bas niveau des modules qui incluent le chargeur de démarrage “bootloader”, la première chose qui se passe une fois que vous appuyez sur le bouton d'alimentation, et la récupération “recovery”, un programme sur une partition de mémoire complètement séparée qui peut être exécutée par le chargeur de démarrage.

Une fois que vous avez le contrôle complet de votre appareil, de ses ressources et ses capacités, il y a beaucoup à faire!

Commençons par les avantages:

  • Exécuter des applications personnalisées autres que du Google Play Store
    • L'exécution d'applications de bas niveau nécessite que vous ayez les droits “root” pour votre appareil. Ces applications peuvent généralement accomplir beaucoup plus que vous ne pouviez effectuer auparavant, comme vous aider avec tout ce qui est énuméré ci-dessous.
  • Contrôle total des ressources de votre appareil
    • Il n'y a généralement aucun moyen de modifier la façon dont les applications peuvent utiliser les ressources de votre appareil et dans quelle proportion ils l'utilisent. Mais sur un téléphone “rooté”, vous pouvez (avec l'aide d'une application “root”) gérer cela.
  • Exécuter des ROM pour Android personnalisées
    • Les “ROM” (Read Only Memory) sont comme différentes distributions d'Android qui viennent avec une interface utilisateur différente et parfois ajoutent ou améliorent ses fonctionnalités. Vous pouvez jeter l'horrible “unique” interface utilisateur qui vient avec certains téléphones et l'échanger pour un de votre choix (et il y en a beaucoup). Le plus populaire et le plus répandu est LineageOS (anciennement CyanogenMod). Il est stable et assez fonctionnel pour devenir la ROM livrée par défaut avec la version initiale des téléphones “One Plus” de plus en plus populaires.
  • La possibilité de déterminer les accès aux applications gérant vos données
    • Les violations de confidentialité par les applications sont un énorme problème de nos jours et même si vous leur accordez des autorisations limitées, il n'y a aucune garantie qu'elles n'en abuseront pas. Avec un framework personnalisable, appelé Xposed, vous pouvez choisir précisément les informations auxquelles chacune de vos applications accèdent. Vous pouvez donc refuser des accès à une application (soyez prudent cependant à ne pas l'empêcher de fonctionner correctement).
  • Désinstallez les bloatware
    • Beaucoup de téléphones sont livrés avec des applications complètement inutiles et apparemment impossibles à supprimer. Ces applications dites “obésitiels” sont une nuisance à votre expérience et une menace pour l'interface utilisateur. Avec votre appareil “rooté” et la bonne application, vous pouvez désinstaller ce que vous voulez, de l'agrégateur de résultats sportifs stupide jusqu'au système Android lui-même.

Maintenant, les inconvénients:

  • Annulation de la garantie
    • En raison du fait que vous avez maintenant le contrôle total de votre téléphone, le fabricant, le fournisseur ou l'entreprise de qui vous avez acheté votre appareil pourrait vous refuser explicitement les droits de garantie parce que vous avez maintenant plus de moyens de modifier votre téléphone (ces modifications pouvant être difficiles à détecter).
  • Risque de “briquer” votre appareil
    • “Bricking”, ou l'acte de réduire rapidement les fonctionnalités de votre appareil à celle d'une brique, est dangereux seulement dans une certaine ampleur. Si vous faites le processus de “rooter” incorrectement ou avec une erreur, vous pouvez faire un “soft-brick” de votre appareil, qui est un type de brique qui est complètement récupérable. Les briques dures (hard bricks) irréparables sont très rares de nos jours.
  • Risques liés à la sécurité
    • Les privilèges “root” peuvent être utilisés par n'importe quelle application, même une qui n'est pas de bas niveau, afin d'étendre ses fonctionnalités. Ceci peut conduire à une exploitation (usurpation), un vol ou une vente de vos données à des tiers pour le profit. Mais ceci est facilement évitable avec un peu de bon sens.

Il existe de nombreux systèmes d'exploitation pour les appareils mobiles.
Vous n'avez qu'à faire une recherche de “android roms” pour le constater.
Par exemple, cette page qui en énumère cinq : 5 best Android ROMs

J'ai choisi le ROM “LineageOS” pour ce projet pour sa popularité et sa stabilité.

Il y a aussi :

Allez sur le Site de LineageOS et sélectionnez le lien “list of supported devices”.

Sélectionnez la marque et le modèle de votre appareil (colonne “Type” = Phone) (notez qu'on peut aussi l'installer sur certains modèles de tablettes).

Si votre appareil (ou celui que vous souhaitiez acheter) n'y est pas présent, consultez la page “requesting a device” (comprendre que ce sont des bénévoles qui développent les différentes versions).

Librem 5 Modèle à surveiller lors du remplacement de votre appareil (en campagne de financement, disponible en commande). Un téléphone orienté sur la vie privée, la sécurité et la liberté pour tous!

J'ai choisi le Samsung Nexus 5 (nom de code hammerhead) pour ce projet.

J'énumérerai les principales étapes de l'installation de LineageOS sur ce modèle spécifique (Samsung est une des marques reconnues pour fabriquer des modèles de cellulaires pouvant être “rootés”, d'où mon choix d'achat à l'époque).

Les étapes d'installation sur d'autres modèles compatibles sont similaires.


(cliquer sur l'image pour afficher l'originale)


- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

(cliquer sur les images pour afficher les originales)

Document Système de fichiers Android et aperçu schématique de l'installation (format PDF)
Document Système de fichiers Android et aperçu schématique de l'installation (format ODG - LibreOffice Draw)

Allez à la page Info about hammerhead.

Chacun des pages du site de LineageOS contient:

  • Lien de téléchargement des sources spécifiques à votre modèle (Get the builds here)
  • Étapes d'installation (How to install LineageOS on the votre_modele) incluant:
    • Débloquer le “bootloader
    • Installer un “recovery” avec fastboot
    • Installer Lineage à partir du recovery
    • Obtenir de l'aide (Get assistance)

Donc:

  • Téléchargez l'archive (fichier .zip) des sources du système d'exploitation LineageOS correspondant au modèle de votre cellulaire. Ex: “lineage-14.1-20180308-nightly-hammerhead-signed.zip”
  • Notez qu'une nouvelle version de ce système est rendu disponible à chaque vendredi. Au moment de rédiger cet article, LineageOS 14.1 installera la version 7.1.2 d'Android; Lineage 15.1 (Android 8.1) est disponible dans des images NON officielles, voir https://www.lineageosroms.org/official-lineageos-15-1-download-supported-devices-list-oreo-8-1/
  • Sélectionnez, à la section “Installation”, le lien “How to install LineageOS on the Google Nexus 5” (votre appareil).
  • Tel que recommandé, lisez le contenu de la page au complet pour avoir une idée des étapes à venir.
  • “Using adb and fastboot”:
    • On vous demandera de télécharger et d'installer adb - Android Debug Bridge afin de faciliter la communication entre votre appareil Android et votre ordinateur via un câble USB (ou le Wi-Fi si disponible).
    • Aller à la section “On Linux” et suivez les étapes (vous ne devriez pas avoir besoin d'installer les “udev rules”).
  • “Setting up adb” : vous devrez devenir développeur sur votre téléphone et vous verrez le code de votre appareil (device attached “unauthorized”)
  • “Setting up fastboot” : permettra à votre téléphone de démarrer en mode “fastboot” (vous verrez le code de votre appareil sans mention “unauthorized”) (j'ai dû saisir sudo devant la commande fastboot devices) (“<font inherit/inherit;;#2ecc71;;inherit>SECURE BOOT - enabled</font>”)
  • “Installing a custom recovery using fastboot” : vous devrez télécharger la version la plus récente de TWRP (<font inherit/inherit;;inherit;;inherit>Team Win Recovery Project)</font> pour votre modèle (après le redémarrage de votre téléphone: “<font inherit/inherit;;#2ecc71;;inherit>SECURE BOOT - enabled</font>” & “<font inherit/inherit;;#e74c3c;;inherit>LOCK STATE – unlocked</font>” s'afficheront)
  • “Installing LineageOS from recovery” : vous utiliserez les sources de LineageOS téléchargées précédemment
  • Je vous suggère de télécharger et d'installer temporairement aussi les Google Apps (OpenGApps)
    • Téléchargez la même version que la version de Lineage utilisée!
    • Vous pourrez faire la transition entre les Apps connues et de nouvelles plus “libres” graduellement plus tard pour éviter une coupure de vos services.
    • Vous pourrez même redémarrer et supprimer “wipe” l'archive OpenGApps et redémarrer afin de ne conserver aucune trace de ces Apps.
    • Cliquez sur le lien “Variant” pour choisir le paquet désiré (choix de paquets plus ou moins complets selon vos besoins, “nano” dans mon cas).
    • Nous verrons plus tard ce que sont les applications de F-Droid et comment les installer.
    • Une alternative ; vous pouvez plutôt installer F-Droid Yalp Store pour télécharger à la pièce des Apps de Google Play en fichiers APK (voir section F-Droid).

Donc:

  • Donc on pousse (push) LineageOS, OpenGApps (si désiré) et addonsu (si désiré, je vous le recommande)
  • Vous effacerez (wipe) Android de votre téléphone
  • Vous installerez successivement LineageOS, OpenGApps et addonsu
  • Vous redémarrerez votre téléphone (REBOOT / POWER OFF, puis REBOOT)
  • Vous devrez configurer LineageOS selon vos besoins…

Voici les étapes de configuration et des recommandations pour respecter votre vie privée (vos choix vous appartiennent):

  • Choisissez la langue et le pays,
  • Connectez-vous à votre réseau Wi-Fi,
  • Connecter votre compte de messagerie à “Email”
  • Vous pouvez ne pas activer la localisation (de même que son amélioration)
  • Vous pouvez désactiver l'Assistant Google (barre de recherche en haut du bureau “Trébuchet”) : appuyer sur le bureau, Paramètres, section “Paramètres de l'écran d'accueil”, désactiver “Barre de recherche”
  • Protégez vos appareil par un mot de passe (sauvegardez-le dans votre base de sonnées de mots de passe, comme KeePass)

F-Droid est un catalogue installable d’applications de logiciels libres et Open Source pour la plate-forme Android.

Le client F-Droid facilite la navigation, l’installation et le suivi des mises à jour de logiciels libres sur votre appareil. On peut installer le client F-Droid sur TOUS les téléphones Android. Habituellement les applications de leur catalogue ne nécessitent AUCUNE autorisation obligatoire (contrairement à celles de Google Play Store).

Les applications sont sécuritaire puisqu'elles ont été compilées par F-Droid, donc sans risque de logiciels malicieux ou de virus.

Je vous recommande son installation afin de découvrir les Apps équivalentes à celles de Google, puis vous pourrez progressivement désinstaller ces dernières et n'utiliser que celles de F-Droid (ex: “K9-Mail” de F-Droid en remplacement de “Gmail” de Google):

  • Installez le navigateur libre Firefox (au besoin),
  • Ouvrez ce navigateur et saisir fdroid.org
  • Ouvrez l'App “Fichiers”, dans Téléchargements, sélectionnez le fichier “F-Droid.apk” pour l'installer

Site de F-Droid

Vous pouvez maintenant installer les Apps de F-Droid.

Voici des recommandations d'applications de F-Droid suggérées en remplacement de celles du Google Play Store. Elles respectent votre vie privée (pas de privilèges exigés au démarrage, sont en logiciel libre) et sont gratuites:

  • Navigateur Firefox : Paramètres / Autoriser les applications autres, aller sur uptodown et chercher “firefox”, télécharger le fichier .APK, aller dans “Fichiers” et cliquer sur le fichier pour l'installer.
  • Messagerie courriel: Gmail → F-Droid K9-Mail
    • Ajouter OpenKeychain pour l'encryption de vos fichiers et de vos communications, basé sur le standard OpenPGP. Assure que vos messages ne peuvent être lus que par vos destinataires, que seul vos pouvez lire les messages de ceux qui vous les envoient, et que ces messages peuvent avoir une signature digitale. Site web de OpenKeychain
  • Messagerie texte: Google Messages → F-Droid Conversations client XMPP conçu dans l'esprit de la facilité d'utilisation et de la sécurité. Site web de Conversations
  • Google Keep (notes) -­> ?
  • VLC for Android (lecteur vidéo et de musique open source, rapide et facile) → n/a (déjà un logiciel libre)
  • YouTube → NewPipe
    • Yalp Store (téléchargement unitaire des Apps de Google Play en fichiers APK), Red Moon (filtres d'écran pour utilisation nocturne), AdAway (blocage publicitaire)
  • Explorateur de fichiers MiXplorer (contient toutes les fonctions de base comme double panneau, éditeur de texte, d'image et lecteur multimédia, Zip unZip fichiers, accèss root, FTP etc.) (téléchargez la version la plus récente)
  • Ring (plate-forme sécurisée et distribuée de communication, développée par savoir-faire Linux avec l’aide d’une communauté globale d’utilisateurs et de contributeurs) Site web de Ring

D'abord parce que c'est libre !

Ensuite pour se libérer des services Play de Google qui sont très intensifs en ressources en plus d'occuper beaucoup d'espace. Lineage for microG utilise beaucoup moins de ressources et la suite complète (GmsCore, GsfProxy, FakeStore, MozillaNlpBackend and NominatimNlpBackend) pèse ~ 4 Mo contre 125 Mo pour la plus petite variante des OpenGApps (Pico) sous ARM 7.1.

Android n'est-il pas libre ?
Ne pourrais-je pas plutôt installer LineageOS sans les OpenGApps ni microG ?

Android est basé sur AOSP (Android Open Source Project) qui est effectivement libre. Mais la plupart des fonctions communes sont traitées par les GApps propriétaires, surtout les services Google Play. Vous pouvez utiliser LineageOS sans GApps/microG mais vous perdrez :

  • les services de localisation de réseau; seul le GPS servira à vous positionner;
  • Google Cloud Messaging : les applications qui l'utilisent ne fonctionneront pas;
  • les API Maps : toutes les applications qui utilisent Google Maps à partir des API vont probablement « crasher ».

Avec microG, ces services (et bien d'autres) sont ré-implémentés. Voir https://github.com/microg/android_packages_apps_GmsCore/wiki/Implementation-Status

UnifiedNlp

Le service de localisation de réseau de microG se nomme UnifiedNlp. Il fournit la position du téléphone sans utiliser le GPS. Google n'utilise que ses propres serveurs pour le positionnement. UnifiedNlp obtient le positionnement avec deux extensions (plugins) :

  • MozillaNlpBackend qui utilise les services de localisation de Mozille (en ligne)
  • NominatimNlpBackend qui utilise le service Nominatim de Mapquest (lui-même basé sur OpenStreetMap) pour le géocodage (en ligne)

LocalGsmNlpBackend est une autre extension qui utilise une base de données locale hors ligne pour le positionnement à partir des tours GSM (Global System for Mobile Communications, à l'origine Groupe Spécial Mobile), on peut la télécharger dans F-Droid.

Google Cloud Messaging

Ce service est implémenté dans microG mais désactivé par défaut. Si vous voulez l'utiliser, il suffit d'activer « Google Device registration » et « Google Cloud Messaging » dans les paramètres de microG.

F-Droid

Ajoutez le dépot microG à F-Droid pour les mises à jours simplifiées. Il y a beaucoup moins d'applications dans F-Droid que dans Google Play Store, mais elles sont toutes libres !

Vous comprenez maintenant que Android est un écosystème de Google et qu'il est difficile, mais pas impossible, de s'en passer.

Voir aussi LineageOS for microG (PDF)

Lire aussi Unofficial LineageOS Fork with Built-in microG Lets You Avoid Google Services


Vous voulez étudier le code d'applications développées sous licences libres, les modifier et redistribuer vos contributions à l'équipe qui la maintient? Voici le logiciel à installer sur votre ordinateur! Voir le lien vers le site officiel ci-dessous.

  1. Termux : un émulateur de terminal avancé pour Android (terminal et outil en CLI pour accéder à distance à vos ordis à partir du téléphone, par exemple)
  2. uptodown Plate-forme de téléchargement d'Apps *.apk en évitant le Google Play Store
  3. Librem 5 Modèle à surveiller lors du remplacement de votre appareil (en campagne de financement, disponible en commande). Un téléphone orienté sur la vie privée, la sécurité et la liberté pour tous!
  • vie-privee/lineageos.txt
  • Dernière modification: 2019/03/03 13:15
  • par jean_leblond