Aller au contenu
Mreve

Root, bootloader, recovery, custom ROM [Libérez votre smartphone #1]

Messages recommandés

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... Tous découlant de partenariats douteux avec des entreprises tierces #coucouPagesJaunes)

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 qui les alimente. Notamment dû au fait que des 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êtables" facilement (essayez de tuer les Services Google Play sur votre appareil, il sera complètement instable et vous finirez juste par le redémarrer... Triste vie...).

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 ?

Lorsqu'une partition est bootable cela signifie qu'elle peut être chargée avant le système d'exploitation. C'est effectivement le cas de la partition recovery qui est 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 <====

Modifié par Mreve
Correction d'une faute d'orthographe
  • J'adore 6
  • Plusser (+1) 3

Partager ce message


Lien à poster

Super tuto, bravo @Mreve:chuck-norris:

Tu expliques bien ce qu'est réellement Android, le système d'exploitation installé sur nos smartphones, et comment il est personnalisé par le fabricant puis par l'opérateur de téléphonie mobile avec des applications préinstallées aussi inutiles que gourmandes. Un beau bordel ! C'est le même monde que celui ces PC Windows finalement.

Ce qui serait top ce serait un schéma pour nous aider à comprendre toute l'architecture autour d'Android, avec le bootloader, le recovery, le root, l'OS... Le visuel c'est cool :c_wink: Je sais pas si ça peut se trouver !

Je ne connaissais pas le terme BATX (Baidu, Alibaba, Tencent et Xiaomi). Tu fais bien de ne pas oublier le "M" de GAFAM, la plupart des médias l'omettent !

Il y a 23 heures, Mreve a dit :

la boutique d'un truand opérateur

:c_lol2:

--

Vivement la partie 2 :c_sunglasses:

  • J'aime 1
  • Plusser (+1) 1

Partager ce message


Lien à poster

Merci @Le Crabe  ! :c_happy:

Le 07/11/2019 à 15:27, Le Crabe a dit :

Ce qui serait top ce serait un schéma pour nous aider à comprendre toute l'architecture autour d'Android, avec le bootloader, le recovery, le root, l'OS... Le visuel c'est cool :c_wink: Je sais pas si ça peut se trouver !

Tu as tout à fait raison. Je vais voir ce que je peux faire !

(Je termine ma Partie 2 avant :wink:)
 

Le 07/11/2019 à 15:27, Le Crabe a dit :
Le 06/11/2019 à 15:42, Mreve a dit :

la boutique d'un truand opérateur

:c_lol2:

Mes doigts ont ripé sur le clavier. :rolleyes:

Partager ce message


Lien à poster

Il y a longtemps que je suis les conseils de @Mreve

 et toujours ravi, à propos je viens de passer mon Redmi note 4 sous Lineage OS 16.

  • J'aime 2
  • J'adore 1

Partager ce message


Lien à poster

Su-per-be tuto !

J'apprécie beaucoup ce ton convivial, ces illustrations drôles, et la jolie mise en forme.
Pareil pour le tuto n°2.

Et en plus, sur un sujet que j'affectionne…

@Mreve voulez-vous m'épousseter ? <3 <3 <3

Partager ce message


Lien à poster

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Restaurer la mise en forme

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.


×
×
  • Créer...