9 votes

Comment rooter un appareil avec Magisk lorsqu'il n'a pas de custom recovery

Ceci est une question auto-répondu pour aborder le sujet de titre.

Avec une récupération en place, le rootage avec Magisk est simple, cela devient un peu difficile lorsque vous n'avez pas de récupération. Cela a été vaguement abordé dans Stock image dump for running Magisk necessary?.

Alors, j'ai pensé poser une question auto-répondu pour

  • Aider ceux qui ne savent pas et
  • Ajouter aux questions canoniques. Il est important pour notre site d'avoir de telles questions comme référence facile (une demande pas si subtile à d'autres de poster plus de questions auto-répondu!).

Notes :

  1. J'ai essayé les versions Linux et Android de la réponse et elles fonctionnent bien (testé sur Pixel 4a, Android 11). Le processus peut sembler intimidant mais ce n'est pas le cas (je ne connais rien à Linux, et pourtant j'ai réussi à rooter sans problème).

  2. Les modérateurs sont libres de faire de ceci une wiki communautaire, si d'autres réponses sont postées en fonction des variantes de dispositif :)

2 votes

Pour les appareils samsung, utilisez simplement samloader (fil de support) et patchez le fichier AP*.tar.md5 avec Magisk Manager (pas besoin de TWRP)

11voto

beeshyams Points 37355

Cette réponse est no applicable aux appareils Samsung / Huawei


  • Tout d'abord, déverrouillez votre bootloader. Là encore, cela va de procédures très faciles à compliquées : obtention de codes de déverrouillage, période d'attente, etc. adb installé (cela vous aiderait si vous ne l'avez pas). Existe-t-il une installation minimale d'ADB ? ).

  • Deuxièmement, et très important lisez ces instructions de montage de Magisk Developer avant de continuer. Il existe de nombreuses variantes d'architectures de dispositifs et de problèmes spécifiques aux OEM.

  • Troisièmement, lisez l'étape ci-dessus minutieusement et acceptez le résultat de vos actions. En particulier, les utilisateurs de Samsung /Huawei, voir les sections respectives liées.

  • Quatrièmement, cette réponse est applicable aux appareils ayant

    • boot ramdisk, dans ce cas vous avez besoin d'une copie de la boot.img (dans ce cas, la récupération personnalisée, si elle est disponible, peut également être utilisée, mais nous supposons alors qu'elle n'est pas disponible).
    • Si votre appareil n'a PAS de disque RAM de démarrage, vous avez besoin d'une copie de l'application recovery.img ( Pour vérifier, installez Magisk Manager et contrôlez SAR (comme expliqué dans les instructions officielles de Magisk, liées au deuxième point, ou lisez les forums de XDA pour le savoir).
  • Substitut recovery.img para boot.img si votre appareil n'a pas de ramdisk. La réponse parle de boot.img à titre d'exemple, mais ils sont interchangeables en ce qui concerne le processus.

  • Ce processus fonctionne sur toutes les versions d'Android, y compris la 11. Je l'ai fait sur mon Pixel 4a fonctionnant sous Android 11 (sur les versions précédentes, mes appareils disposaient d'une récupération personnalisée, je n'avais donc pas besoin de cela).

Extraction de l'image de démarrage (ou de récupération)

  • Obtenez le le paquet de firmware officiel ou les fichiers OTA à partir des paquets de firmware officiels, du zip de votre ROM personnalisée (si vous en utilisez une), ou allez à XDA-Developers et recherchez des ressources, des guides, des discussions ou demandez de l'aide sur le forum de votre appareil.

  • Ramassez le micrologiciel ou OTA complet ( no incrémentielle (OTA) qui correspond à la mise à jour de sécurité Android de votre appareil, pas nécessairement la plus récente (on ne sait jamais si la mise à jour de sécurité est disponible). boot.img a été modifié).

  • Avant la mise en œuvre du système de partition A/B, ces progiciels de mise à jour/paquets OTA étaient accompagnés d'images de partition, qui pouvaient facilement être extraites et utilisées pour le flashage manuel. Mais maintenant, ces paquets de mise à jour sont livrés avec une seule image de partition. Payload.bin qui contient les images des partitions individuelles ( boot.img o recovery.img ).

  • Il existe de nombreux blogs qui vous expliquent comment faire. J'ai trouvé Comment extraire le fichier Payload.bin de l'OTA Android à l'aide de l'outil Payload Dumper sur un PC ou un appareil Android pour être très complet et clair.

Ceci montre comment vous pouvez extraire l'image de démarrage en utilisant une machine Linux, Android ou Windows.Je n'ai pas l'intention de copier-coller l'article avec des photos dans son intégralité, mais toutes les étapes essentielles sont listées.

Utilisation de l'outil Payload Dumper pour extraire Payload.bin

  • L'outil Payload Dumper est essentiellement un script/programme Python créé par un développeur. ius qui permet aux utilisateurs d'extraire facilement Payload.bin

Installation de l'outil Payload Dumper

Sur ordinateur portable (Windows/ Linux)

  1. L'outil nécessite Python 3 ou plus, qui peut être téléchargé à partir de l'adresse suivante page officielle .

  2. Lorsque vous installez Python, assurez-vous qu'il est ajouté au PATH de votre PC. Pour un PC Windows, cela peut être fait facilement en vérifiant le fichier Add Python to PATH dans le programme d'installation. Pour Linux/macOS, vous pouvez utiliser les instructions fournies sur cette page .

  3. Téléchargez la dernière version de l'outil Payload Dumper sur votre PC à partir de l'adresse suivante enlace et extraire son contenu à un endroit approprié. Après l'extraction, vous devriez avoir un nouveau dossier nommé payload_dumper .

  4. Ouvrez la fenêtre de la ligne de commande sur votre PC dans la section payload_dumper où se trouvent l'outil et le fichier payload.bin. Pour ce faire :

  • Sur un PC Windows : Maintenez la touche SHIFT et cliquez avec le bouton droit de la souris sur un espace vide à l'intérieur du dossier, puis sélectionnez l'option Open PowerShell window here option.

  • Sur un PC macOS/Linux : Lancez le Terminal et changez son répertoire en payload_dumper en utilisant le cd commande. Par exemple : Si le payload_dumper est situé dans le dossier Documents la commande devrait ressembler à ceci : cd Documents/payload_dumper

  1. Pour pouvoir utiliser l'outil sur votre PC, vous devez d'abord installer "Protobuf" (le format d'échange de données de Google), qui est essentiellement une dépendance. Pour l'installer, entrez la commande suivante.

    • Sous Windows (dans PowerShell) : python -m pip install protobuf
    • Sous Linux/macOS (dans le Terminal) : python3 -m pip install protobuf
  2. Maintenant, pour extraire le fichier Android OTA payload.bin, extrayez d'abord le fichier ZIP téléchargé sur votre PC. Le contenu extrait comprendra le fichier "Payload.bin", qui est ce que vous devez extraire. Copiez le fichier Payload.bin dans le dossier "payload_dumper". Ensuite, entrez la commande suivante.

    • Sous Windows (dans PowerShell) : python payload_dumper.py payload.bin
    • Sous Linux/macOS (dans le Terminal) : python3 payload_dumper.py payload.bin
  3. L'outil va maintenant commencer à extraire les images des partitions individuelles à partir du fichier Payload.bin. Une fois l'opération terminée, vous trouverez les fichiers extraits dans le même fichier payload_dumper et vous pouvez prendre le boot.img o recovery.img

Sur Android . Cette méthode est un peu plus lente, mais elle permet de gagner une étape, comme vous le verrez plus tard.

  1. Téléchargez l'outil Payload Dumper à partir de aquí . Une fois téléchargé, extrayez le contenu du fichier payload_dumper_tool_by_ius.zip à la racine du stockage interne de votre téléphone. Vous pouvez l'extraire n'importe où, mais le répertoire racine est plus pratique. Le dossier " payload_dumper " extrait contiendra les scripts Python de l'outil.

  2. Maintenant, téléchargez le paquet OTA / firmware complet à partir duquel vous voulez extraire les images du firmware. Une fois téléchargé, extrayez le paquet sur votre appareil pour obtenir les images du firmware. payload.bin fichier. Copiez ensuite le fichier extrait payload.bin dans le dossier 'payload_dumper' que vous avez extrait à l'étape 1 ci-dessus.

  3. Téléchargez et installez le Termux (un émulateur de terminal, évitez la version Play Store car elle n'est pas mise à jour) sur votre appareil Android. Une fois installée, lancez l'application depuis le tiroir d'applications de votre téléphone.

  4. Installez et configurez Python sur votre appareil Android. Pour ce faire, entrez les commandes suivantes dans Termux l'un après l'autre :

    pkg install python -y

    pip install --upgrade pip

    pip install protobuf

    apt update && apt upgrade -y

  5. Maintenant, utilisez la commande suivante pour accorder des permissions de stockage à 'Termux' : termux-setup-storage . Dès que vous entrez la commande, vous verrez une invite à "Autoriser Termux à accéder aux photos, médias et fichiers de votre appareil". Appuyez simplement sur "Allow" pour accorder les permissions.

  6. Changez le répertoire de Termux pour le dossier "payload_dumper" en utilisant la commande suivante, à condition que le dossier soit placé sur la racine du stockage interne de votre téléphone.

    cd storage/shared/payload_dumper

  7. Enfin, entrez la commande suivante dans Termux pour extraire le fichier Android OTA Payload.bin sur votre appareil Android : python payload_dumper.py payload.bin

Une fois l'opération terminée, les images extraites du micrologiciel seront placées dans le même outil "payload_dumper".

Vous avez presque terminé !

Dernière étape de Parcheando images

(extrait des instructions officielles de Magisk)

  • Copiez l'image de démarrage/récupération sur votre appareil ( cette étape n'est pas nécessaire si vous avez utilisé la méthode Android )
  • Téléchargez la dernière version stable de Magisk apk à partir de l'adresse suivante source officielle et l'installer sur votre appareil (accordez la permission pour l'installation à partir d'autres sources)
  • Appuyez sur le bouton Installer dans la carte Magisk
  • Si vous êtes Parcheando une image de récupération, assurez-vous que "Recovery Mode" est coché dans les options. Dans la plupart des cas, il devrait déjà être automatiquement coché.
  • Choisissez "Select and Patch a File" dans la méthode, et sélectionnez l'image de démarrage/récupération stock.
  • Magisk Manager corrigera l'image pour [Internal Storage]/Download/magisk_patched.img .
  • Copiez l'image corrigée sur votre PC avec ADB : adb pull /sdcard/Download/magisk_patched.img
  • Flashez l'image de démarrage/récupération corrigée sur votre appareil.
  • Pour la plupart des appareils, redémarrez en mode fastboot et flashez avec la commande : fastboot flash boot /path/to/magisk_patched.img o fastboot flash recovery /path/to/magisk_patched.img si vous flashez une image de récupération
  • Redémarrez et voilà !

(Texte en italique ajouté)

Pour tout problème avec Magisk, vous trouverez ce guide por Didgeridoohan très pratique.

1 votes

Certains appareils nécessitent une étape supplémentaire pour désactiver AVB depuis fastboot. Magisk patche vbmeta par défaut lorsqu'il est installé à partir de TWRP, mais tous les appareils n'ont pas de partition vbmeta.

1 votes

Pour le HTC U Play, je n'ai pas trouvé de moyen d'extraire boot.img (à partir des images "stock" plutôt difficiles à trouver), car c'était un .zip contenant d'autres .zips à l'intérieur, pas de boot.img. J'ai fini par démarrer en twrp avec fastboot (après avoir déverrouillé le chargeur de démarrage en utilisant le site web htcdev.com), en faisant une sauvegarde, et en passant le boot.win à Magisk.

0 votes

Pour les utilisateurs sous Android 12 : L'outil de déchargement des données est cassé sur Linux (à ce jour, du moins pour les images Pixel 4a, je ne sais pas pourquoi). J'ai dû utiliser la méthode Android qui fonctionne bien.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X