Ce petit article décrit comment rooter un téléphone (en l’occurrence un Pixel 7a avec Android 14) avec magisk.
Dans les grandes lignes, magisk fonctionne de la manière suivante :
- on télécharge le firmware installé sur le téléphone,
- on installe magisk,
- magisk patche l’une des images de partition présente dans le firmware téléchargée,
- l’image de partition patchée est poussée sur le téléphone.
Préparation le téléphone
En premier lieu, il faut activer les options développeur (en cliquant plusieurs fois sur le numéro de build).
Ensuite, on peut :
- Activer le déverrouillage OEM (qui permet d’accéder au bootloader),
- Activer le débogage USB.
Déverrouillage du bootloader
Une fois le débogage USB activé, le bootloader peut être déverrouillé avec les commandes adb, reboot bootloader
et fastboot flashing unlock
:

Téléchargement du firmware
La procédure consiste pour rooter le téléphone consiste à patcher avec magisk le contenu d’une de ses partitions.
On commence donc par vérifier la version d’Android installée sur le téléphone :

Puis l’on télécharge la même version sur https://developers.google.com :

On vérifie le haché de l’image téléchargée :

Installation de magisk
L’outil magisk peut être récupéré sur github :

Un lien vers la dernière version est présent :

Un lien de téléchargement de l’apk est présent sur la page du projet :

Un message d’avertissement est affiché :

L’installation nécessite d’autoriser l’installation d’applications de source inconnue

Il faut ensuite confirmer l’installation de magisk :

Transfert de init_boot.img sur le téléphone
Le firmware téléchargé est un zip qu’on doit décompresser :

Le fichier init_boot.img est stocké dans une seconde archive, que l’on décompresse aussi :

Le fichier init_boot.img est ensuite copié sur le téléphone :

Patch de init_boot.img avec magisk
On lance magisk, et l’on clique sur « Installer » :

On clique « Sélectionnez le fichier cible du correctif » :

On choisit le fichier à patcher :

Et l’on lance l’opération :

Une version patchée du fichier init_boot.img a été créée, à coté de la version initiale.
Réecriture partition init_boot_{a,b} avec l’init_boot.img patché
On récupère la version patchée de init_boot.img, et l’on patche les partitions init_boot_a et init_boot_b du téléphone avec fastboot :

Utilisation de l’accès root
Si l’on se connecte avec adb shell
et qu’on lance la commande su
, une demande d’accès root apparaît :

Après avoir confirmé, on dispose bien d’un shell root :
