Jump to content
Site Communauté

Libérez votre smartphone #1


Mreve

5391 views

Cette première partie sert de base théorique avant le passage en pratique en Partie 2.

Les chouettes personnages illustrés ont été dessinés par Simon "Gee" Giraudo. Le texte dans les bulles est de moi (sauf dans le premier dessin). Les illustrations sont sous licence Creative Commons By Sa.

robot.png

Si vous avez l'habitude de fréquenter le forum, vous connaissez sans doute ma position très tranchée vis à vis de la collecte des données personnelles. Je suis en effet convaincu qu'il ne peut y avoir de démocratie et de liberté sans un réel respect de la vie privée. Il s'agit d'ailleurs plus d'une réalité que d'une conviction mais ce tutoriel n'est pas là pour vous convaincre de l'importance de la vie privée. Si vous êtes ici, c'est que vous êtes déjà sensibilisé et que vous voulez agir.

grisbouille_1.png.e8ff461fdfcc208fdf0ed553e113168f.png

Objectif de ce tutoriel :
* Limiter au maximum la quantité de données que vous donnez aux géants du numérique (GAFAM et BATX pour ne citer qu'eux)
* Remplacer un maximum d'applications propriétaires par des applications FOSS (libres et open-source)
* Être capable d'installer un système d'exploitation alternatif sur son smartphone
* Comprendre le jargon technique couramment utilisé et une introduction à l'architecture d'Android
* Améliorer l'autonomie du téléphone en ne gardant que le nécessaire

Surcouche et rootage

Vous l'avez sûrement déjà constaté, lorsque vous achetez un téléphone, le constructeur vous empêche de faire certaines choses. Il vous est par exemple impossible de modifier ou supprimer des applications systèmes. C'est d'autant plus irritant que la plupart des fabricants préinstallent, en échange d'une jolie somme d'argent, des applications directement dans leurs produits.

canvas.thumb.png.91b49bc3492087a4e88d4e0319fee8d2.png

Difficile de d'obtenir les montants en jeu mais on sait par exemple que Google paie plusieurs milliards de dollars par an pour imposer ses applications sur les smartphones Android.
Source

Cette surcouche constructeur ajoute en plus un tas de fonctionnalités dont vous n'aurez sûrement jamais besoin mais qui elles ne manqueront pas d'avoir besoin de votre batterie !

Si vous avez acheté votre smartphone avec un forfait ou bien directement dans la boutique d'un truand opérateur, vous pouvez être sûr qu'il vous a aussi laissé des surprises (applications, jeux, services...) découlant de partenariats douteux avec des entreprises tierces.

La surcouche Google est la plus difficile à supprimer. Android a beau être un projet open-source (AOSP pour être exact), la version d'Android que vous avez sur votre téléphone contient énormément de composant de Google qui ne sont pas open-source eux. Bien qu'Android reste le noyau de votre système, les Services Google Play n'en sont pas moins devenus une brique bien trop importante...

Bien qu'ils embarquent une multitude de fonctionnalités très pratiques pour les développeurs d'applications mobiles, les Services Google Play sont aussi un drain constant pour la batterie de votre téléphone. Notamment à cause de ses sous-services, comme la géolocalisation (Eh oui ! Comment pensez-vous que Google Maps puisse connaître en temps réel le trafic de la planète entière ?), soient très gourmands et non arrêtable facilement. Essayez de tuer les Services Google Play sur votre appareil pour voir ! :rolleyes:

Bref, ces restrictions d'utilisation en plus d'empêcher la suppression des surcouches, empêchent d'installer un autre système d'exploitation (OS).

Quand je dis autre système d'exploitation, comprenez une distribution alternative d'Android. Vous ne pouvez pas installer Windows, MacOS ou GNU/Linux.

Lever ces restrictions consiste à rooter son téléphone. En devenant root (aka administrateur sous Windows) l'utilisateur a tous les droits sur le système. Devenir root est nécessaire mais le rester constamment est dangereux car un contenu malveillant aura lui aussi les pleins pouvoirs. C'est entre autre pour cette raison qu'il est indispensable d'installer une gestionnaire de root.

La référence en la matière est Magisk. Il est open-source (le code est disponible ici) et activement maintenu. Magisk Manager dispose de plein de fonctionnalités extrêmement utiles qui permettent de sécuriser votre téléphone rooté et d'étendre ses capacités (en installant des modules).

Un téléphone rooté fait sauter la garantie de votre appareil ! Heureusement, le rootage est réversible. :c_happy:

Certains applications (bancaires bien souvent) refusent de se lancer si le téléphone est rooté. Heureusement pour nous, Magisk est capable de cacher à n'importe quelle application que le téléphone est rooté ! Obama not bad!

root.png.391a209790c227370366d7732ca27cb7.png

Le bootloader
 
Par sécurité mais aussi pour imposer leur système Android (on parle de stock ROM pour le système d'exploitation préinstallé par le fabricant), les constructeurs verrouillent le bootloader des téléphones. Pour faire simple il s'agit de la première chose qui se lance au démarrage d'un téléphone. C'est lui qui explique au téléphone où trouver le noyau du système (aka le kernel Linux, une partie fondamentale de l'OS). Étant le premier bout de code à être exécuté il est particulièrement lié au hardware (matériel électronique). C'est pour cette raison que chaque constructeur implémente différemment son bootloader. Il n'y a donc malheureusement pas de méthode universelle pour le déverrouiller.

Vous l'aurez compris, le rôle du bootloader est vital et c'est pour cette raison qu'il est autant protégé par les constructeurs. Le déverrouillage du bootloader est une étape nécessaire d'une part pour installer une custom ROM (version d'Android modifiée) et rooter son téléphone.
Un bootloader déverrouillé permet également d'utiliser une custom recovery.
recovery.png.153a277945f2a6289faf9e6db690c4ab.png
La recovery
Une recovery est une partition bootable contenue dans la mémoire interne du téléphone. La recovery fournie par les constructeurs (stock recovery) sert principalement à faire une restauration système. En cas de problème au démarrage du téléphone, le bootloader charge le contenu de la recovery.

Vous avez dit bootable ?

Une partition bootable est étiqueté par un flag boot indiquant au bootloader qu'elle peut être exécuté. La partition recovery est par exemple chargée par le bootloader en cas de problème de boot.

Les partitions dans un téléphone Android

Elles sont généralement au nombre de 10. Je ne vais détailler que les plus importantes (nous concernant) :

/boot
C'est la partition qui contient tout le nécessaire pour faire démarrer Android. Elle contient uniquement le noyau (kernel) et un ramdisk (plus particulièrement le initrd)

/system
Cette partition contient le système d'exploitation Android.

/data
Aussi appelée userdata, elle contient les données utilisateur. C'est dans cette partition que se trouvent vos contacts, photos messages, applications que vous avez installés etc...
Formater cette partition revient à peu de chose près à une restauration d'usine (factory reset).

/recovery
On en parlait justement. Cette partition peut donc être considérée comme la partition bootable de secours du téléphone. Les stock recovery permettent de faire des actions de maintenance basiques. Installer une custom recovery remplace le contenu de cette partition.

/cache
C'est ici qu'Android et les applications conservent (temporairement) les données fréquemment utilisées afin d'être plus faciles et rapide d'accès. On dit que ces données sont en cache. Vider cette partition n'est pas dangereux et n'affecte pas les données personnelles.

/sdcard
C'est un espace de stockage libre que vous pouvez utiliser pour stocker vos fichiers (en complément d'userdata). Les applications viennent très souvent stocker par défaut des données et des paramètres dans /sdcard.

Sur les appareils ayant une carte SD interne et externe, la partition /sdcard est toujours utilisée comme référence à la mémoire interne. Par exemple sur les Samsung Galaxy S, la carte SD est représenté par /external_sd.

/misc
Comme son nom l'indique, elle contient des paramètres divers lié au matériel. Elle est utilisé durant le boot. Cette partition est crucial au bon fonctionnement de l'appareil.

----------------
Pour aller plus loin :
https://source.android.com/devices/bootloader/partitions-images
http://newandroidbook.com/Book/2-Excerpt-Data.pdf

Pour y a-t-il un / au début de chaque partition ?

Les utilisateurs de Linux auront reconnu le système de fichier racine (root). En effet, ce / correspond à la racine des répertoires. Toutes les entrées, y compris les partitions montées, sont placées de façon hiérarchique, comme les branches d'un arbre, par rapport à la partition racine. La notation /XXX permet d'indiquer que XXX est directement accessible depuis la racine
partitions1.png.8ee10457973634594bcdc3f7965c3457.png

Remplacer la stock recovery par une recovery modifiée étend drastiquement les capacités du mode recovery de base.

La référence en la matière s'appelle TWRP et est bien évidemment open-source. Elle donne notamment la possibilité de :
  • Créer/restaurer une sauvegarde complète du téléphone (Image système / Nandroid Backup)
  • Gérer les partitions
  • Flasher ("installer") des ROM, applications, kernels…
twrp.png.f8ebe9dff4a986d81f5c97c7c8388097.png

Avec TWRP d'installée, je vous assure que vous n'avez quasiment plus aucun risque de bricker votre téléphone (mais vous n’êtes pas à l’abri de grosses frayeurs en cas de mauvaise manip de votre part ! :tongue:)

undervolt.png.beb4c4a728cda04acf964ceb7b05dbc1.png

Je vous rassure, c'est fini. C'était le dernier prérequis avant de pouvoir commencer à s'amuser (oui c'est amusant ! :biggrin:). Toutes les manipulations pour arriver à ce stade seront détaillées dans la Partie 2 du tutoriel.

 

===>Libérez votre smartphone — Partie 2 <===

  • J'aime 1
  • J'adore 2

0 Comments


Recommended Comments

There are no comments to display.

Guest
This blog entry is now closed to further comments.
×
×
  • Create New...