9 votos

Cómo se rootea un dispositivo con Magisk cuando no tiene recuperación personalizada

Esta es una pregunta autorespondida para abordar el tema del título.

Con una recuperación en su lugar, rootear con Magisk es sencillo, se vuelve un poco difícil cuando no tienes una recuperación. Esto se abordó vagamente en ¿Es necesario el archivo de imagen de stock para ejecutar Magisk?.

Entonces, pensé en hacer una pregunta autorespondida para

  • Ayudar a aquellos que no saben y
  • Agregar preguntas canónicas. Es importante para nuestro sitio tener este tipo de preguntas como referencia fácil (¡no tan sutil solicitud a otros de publicar más preguntas autorespondidas!).

Notas:

  1. He probado ambas versiones, Linux y Android, de la respuesta y funcionan bien (probado en Pixel 4a, Android 11). El proceso puede parecer intimidante, pero no lo es (no sé nada sobre Linux, aún así logré rootear sin problemas).

  2. Los moderadores pueden convertir esto en una wiki de la comunidad, si se publican más respuestas dependiendo de las variantes del dispositivo :)

2 votos

Para dispositivos Samsung simplemente utiliza samloader (hilo de soporte) y parchea todo el archivo AP*.tar.md5 con Magisk Manager (no se necesita TWRP)

11voto

beeshyams Puntos 82

Esta respuesta es no aplicable a los dispositivos Samsung / Huawei


  • En primer lugar, desbloquea tu bootloader. Esto, de nuevo, va desde procedimientos muy fáciles a complicados obteniendo códigos de desbloqueo, período de espera, etc, así que lee eso primero y tienes adb instalado (esto ayudaría, si no lo tiene ¿Existe una instalación mínima de ADB? ).

  • Segundo, y muy importante leer estos instrucciones de instalación de Magisk Developer antes de continuar. Hay muchas variantes de arquitecturas de dispositivos y problemas específicos de los OEM.

  • En tercer lugar, lea paso anterior a fondo y aceptar el resultado de sus acciones. Especialmente, los usuarios de Samsung /Huawei, ver las respectivas secciones vinculadas.

  • En cuarto lugar, esta respuesta es aplicable a los dispositivos que tienen

    • disco ram de arranque en cuyo caso se necesita una copia del boot.img (en cuyo caso también se puede utilizar la recuperación personalizada si está disponible, pero entonces estamos asumiendo que no está disponible)
    • Si su dispositivo NO tiene ramdisk de arranque, necesita una copia del recovery.img ( Para comprobarlo, instale Magisk Manager y compruebe SAR (como se explica en las instrucciones oficiales de Magisk, enlazadas en el segundo punto, o leer los foros en XDA para averiguarlo).
  • Sustituir recovery.img para boot.img si su dispositivo no tiene ramdisk. La respuesta habla de boot.img como ejemplo, pero son intercambiables en lo que respecta al proceso.

  • Este proceso funciona en todas las versiones de Android, incluida la 11. Lo hice en mi Pixel 4a con Android 11 (en versiones anteriores, mis dispositivos tenían recovery personalizado, así que no necesité esto).

Extracción de la imagen de arranque (o recuperación)

  • Obtenga el paquete de firmware oficial o archivos OTA de los paquetes oficiales de firmware, el zip de su ROM personalizada (si está usando una), o vaya a XDA-Developers y busca recursos, guías, debates o pide ayuda en el foro de tu dispositivo.

  • Recoger el firmware o OTA completa ( no incremental OTA) que corresponde a la actualización de seguridad de Android de su dispositivo , no necesariamente la más reciente (nunca se sabe si el boot.img se ha modificado).

  • Antes de la implementación del sistema de partición A/B, estos paquetes de actualización de firmware/ OTA venían con imágenes de partición, que podían ser fácilmente extraídas y utilizadas para el flasheo manual. Pero ahora, estos paquetes de actualización vienen con una sola Payload.bin que contiene las imágenes de las particiones individuales ( boot.img o recovery.img ).

  • Hay muchos blogs que te dicen cómo hacerlo. Yo encontré Cómo extraer el archivo OTA Payload.bin de Android utilizando la herramienta Payload Dumper en un PC o dispositivo Android ser muy completo y claro.

Esto muestra cómo se puede extraer la imagen de arranque utilizando una máquina Linux, Android o Windows.No tengo la intención de copiar y pegar el artículo con fotos en su totalidad, pero todos los pasos esenciales se enumeran.

Uso de la herramienta Payload Dumper para extraer Payload.bin

  • La herramienta Payload Dumper es básicamente un script/programa de Python creado por el desarrollador ius que permite a los usuarios extraer fácilmente Payload.bin

Instalación de la herramienta Payload Dumper

En el portátil (Windows/Linux)

  1. La herramienta requiere Python 3 o superior, que puede descargarse de la página página oficial .

  2. Cuando instales Python, asegúrate de que está añadido al PATH de tu PC. En el caso de un PC con Windows, esto puede hacerse fácilmente comprobando el Add Python to PATH dentro del instalador. En el caso de Linux/macOS, puede utilizar las instrucciones proporcionadas en esta página .

  3. Descargue la última versión de la herramienta Payload Dumper en su PC desde este enlace y extraer su contenido a una ubicación adecuada. Una vez extraído, debería tener una nueva carpeta llamada payload_dumper .

  4. Abra la ventana de la línea de comandos en su PC en el payload_dumper donde están la herramienta y los archivos payload.bin. Para ello:

  • En un PC con Windows: Mantenga la tecla SHIFT y haga clic con el botón derecho del ratón en un espacio vacío dentro de la carpeta, luego seleccione la opción Open PowerShell window here opción.

  • En un PC con macOS/Linux: Inicie el Terminal y cambie su directorio al payload_dumper utilizando la carpeta cd de mando. Por ejemplo: Si el payload_dumper se encuentra en la carpeta Documents directorio, entonces el comando debe ser como: cd Documents/payload_dumper

  1. Para poder utilizar la herramienta en tu PC, primero debes instalar 'Protobuf' (el formato de intercambio de datos de Google) que es básicamente una dependencia. Para instalarlo, introduzca el siguiente comando.

    • En Windows (en PowerShell): python -m pip install protobuf
    • En Linux/macOS (en Terminal): python3 -m pip install protobuf
  2. Ahora, para extraer finalmente el archivo payload.bin de Android OTA, introduzca el siguiente comando.

    • En Windows (en PowerShell): python payload_dumper.py payload.bin
    • En Linux/macOS (en Terminal): python3 payload_dumper.py payload.bin
  3. La herramienta comenzará a extraer las imágenes de las particiones individuales del archivo Payload.bin. Una vez terminado, encontrará los archivos extraídos dentro del mismo payload_dumper y puede recoger el boot.img o recovery.img

En Android . Esto es un poco más lento, pero también ahorra un paso, como se verá más adelante.

  1. Descargue la herramienta Payload Dumper desde aquí . Una vez descargado, extraiga el contenido del payload_dumper_tool_by_ius.zip a root del almacenamiento interno de su teléfono. Podrías extraerlo en cualquier lugar, sin embargo, el directorio Root es más conveniente. La carpeta extraída 'payload_dumper' contendrá los scripts Python de la herramienta

  2. Ahora, descargue el paquete completo de OTA / firmware del que desea extraer las imágenes del firmware. Una vez descargado, extraiga el paquete en su dispositivo para obtener el payload.bin archivo. A continuación, copie el archivo extraído payload.bin dentro de la carpeta 'payload_dumper' que has extraído en el paso 1.

  3. Descargue e instale el Termux (un emulador de terminal) en su dispositivo Android. Una vez instalada, inicie la aplicación desde el cajón de aplicaciones de su teléfono.

  4. Instala y configura Python en tu dispositivo Android. Para ello, introduzca los siguientes comandos en Termux uno tras otro :

    pkg install python -y

    pip install --upgrade pip

    pip install protobuf

    apt update && apt upgrade -y

  5. Ahora, utilice el siguiente comando para conceder permisos de almacenamiento a 'Termux': termux-setup-storage . En cuanto introduzcas el comando, verás un aviso para "Permitir que Termux acceda a las fotos, medios y archivos de tu dispositivo". Simplemente pulsa "Permitir" para conceder los permisos.

  6. Cambia el directorio de Termux a la carpeta "payload_dumper" utilizando el siguiente comando, siempre que tengas la carpeta colocada en el Root del almacenamiento interno de tu teléfono.

    cd storage/shared/payload_dumper

  7. Por último, introduzca el siguiente comando en Termux para extraer el archivo OTA Payload.bin de Android en su dispositivo Android: python payload_dumper.py payload.bin

Una vez terminado, las imágenes de firmware extraídas se colocarán dentro de la misma herramienta 'payload_dumper'.

Ya casi has terminado.

Último paso de Parcheando imágenes

(de las instrucciones oficiales de Magisk)

  • Copie la imagen de arranque/recuperación en su dispositivo ( este paso no es necesario si has utilizado el método Android )
  • Descargue la última apk estable de Magisk desde el fuente oficial e instalar en su dispositivo (conceder permiso para instalar desde otras fuentes)
  • Pulse el botón de instalación en la tarjeta Magisk
  • Si está Parcheando una imagen de recuperación, asegúrese de que el "Modo de recuperación" está marcado en las opciones. En la mayoría de los casos ya debería estar marcado automáticamente.
  • Seleccione "Select and Patch a File" en el método, y seleccione la imagen de arranque/recuperación de stock
  • Magisk Manager parchea la imagen para [Internal Storage]/Download/magisk_patched.img .
  • Copie la imagen parcheada a su PC con ADB: adb pull /sdcard/Download/magisk_patched.img
  • Flashea la imagen de arranque/recuperación parcheada en tu dispositivo.
  • Para la mayoría de los dispositivos, reiniciar en modo fastboot y flashear con el comando: fastboot flash boot /path/to/magisk_patched.img o fastboot flash recovery /path/to/magisk_patched.img si se trata de flashear una imagen de recuperación
  • Reinicia y ¡voilá!

(Texto en cursiva añadido)

Para cualquier problema con Magisk, encontrará esta guía por Didgeridoohan muy útil.

1 votos

Algunos dispositivos necesitan un paso adicional desactivar AVB desde fastboot. Magisk parchea vbmeta por defecto al instalarse desde TWRP, pero no todos los dispositivos tienen partición vbmeta

1 votos

Para el HTC U Play, no pude encontrar una manera de extraer boot.img (de las imágenes "stock" bastante difíciles de encontrar), ya que era un .zip con más .zips adentro, sin boot.img. Terminé arrancando en twrp con fastboot (después de desbloquear el gestor de arranque utilizando el sitio web htcdev.com), haciendo una copia de seguridad y pasando el boot.win a Magisk.

0 votos

Para usuarios en Android 12: La herramienta de volcado de carga útil está rota en Linux (al menos por hoy, al menos para las imágenes de Pixel 4a, no sé por qué). Recurrí al método de Android que funciona bien.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X