Magisk ahora es compatible con Google Pixel 3 y Pixel 3a en Android Q

El desarrollador de Magisk ha logrado dos grandes avances: soporte para sistema como raíz y particiones lógicas para Google Pixel 3 y Pixel 3a en Android Q.

Google lanzó la primera versión beta de Android Q en marzo y el acceso root a través de Magisk rápidamente estuvo disponible para Google Pixel y Google Pixel 2. El Google Pixel 3, sin embargo, no se pudo rootear en Android Q porque el desarrollador de Magisk, XDA Recognized Developer topjohnwu, necesitaba descubrir cómo trabajar con el nuevo diseño de particiones lógicas. Con su nueva pasantía en Apple, topjohnwu ha tenido menos tiempo para trabajar en Magisk, pero eso no le ha impedido lograr dos grandes avances en el desarrollo. En la última versión de Canary, Magisk ahora admite el sistema como raíz, lo que dificulta que las aplicaciones detecten la raíz. acceso y también admite dispositivos con particiones lógicas como las series Pixel 3 y Pixel 3a XL en Android Q.

Foros de Google Pixel 3Foros de Google Pixel 3XL

Foros de Google Pixel 3aForos de Google Pixel 3a XL

Compatibilidad con particiones lógicas de Google Pixel 3 y Pixel 3a en Android Q

Para ayudar a los desarrolladores a probar versiones AOSP de Android en dispositivos existentes, Google lanza imágenes genéricas del sistema (GSI) que se pueden iniciar en dispositivos compatibles con Project Treble (cualquier dispositivo que lanzado con Android 9 Pie o posterior). La instalación de un GSI requiere desbloquear el gestor de arranque, lo que puede no ser posible en todos los dispositivos, y mostrar una imagen del sistema a través de fastboot después de borrar al usuario. datos. En Android Q, Google está introduciendo una nueva función llamada Actualizaciones dinámicas del sistema lo que permite a los desarrolladores iniciar un GSI sin desbloquear el gestor de arranque ni borrar datos. Para admitir actualizaciones dinámicas del sistema, un dispositivo debe tener particiones lógicas cuyo tamaño pueda cambiarse dinámicamente para dejar espacio para la instalación de GSI. Google Pixel 3, Google Pixel 3 XL, Google Pixel 3a y Google Pixel 3a XL tienen particiones lógicas en las versiones beta de Android Q, aunque solo Pixel 3 y Pixel 3 XL admiten DSU. Sin embargo, es debido a este cambio radical en la estructura de partición que Magisk no estaba funcionando.

Cuando topjohnwu está decidido, nada le impide conseguir acceso root. El otro día, anunció que había rooteado con éxito su Pixel 3 XL en Android Q beta 4. Su descripción de compromiso aquí explica los detalles técnicos de cómo logró el soporte de particiones lógicas, pero lo importante es que Magisk ahora se puede instalar en dispositivos con o sin particiones lógicas.

Soporte de sistema como raíz

Para dispositivos con Particiones duales A/B, la partición del sistema está montada como el directorio raíz (/), pero los dispositivos sin particiones duales A/B tienen la partición del sistema montada en /system. Esto hace que las OTA solo del sistema sean imposibles en dispositivos que no sean A/B porque los archivos del disco ram, que necesitan actualización, se encuentran en la partición de inicio. Es por eso que, para que las OTA solo del sistema sean posibles en Android Pie y superiores, Google exige que todos los dispositivos que se inician con Android Pie admitan el diseño de partición del sistema como raíz. En el diseño del sistema como raíz, la imagen del disco ram se fusiona con la imagen del sistema, que se monta como rootfs.

Desde que Google introdujo el sistema como raíz, el solución para rootear dispositivos era revertir el sistema como root al diseño de partición anterior "initramfs rootfs". Eso obras está bien para Android 7.1 a Android 9 Pie ya que Android tiene soporte heredado para este diseño antiguo, pero Android Q completamente elimina La compatibilidad con el sistema como root ahora es obligatoria para todos los dispositivos, incluso para aquellos que se actualizan a Android Q. Las versiones anteriores de Magisk todavía funcionaban gracias a algunos "trucos realmente desagradables", pero topjohnwu no estaba satisfecho con esa solución, por lo que para admitir adecuadamente el sistema como root, ha introducido "MagiskInit".

Un buen efecto secundario de admitir adecuadamente el diseño de partición del sistema como raíz es que una vía potencial de detección de raíces ha sido aplastado. Como me explicó amablemente topjohnwu, el antiguo método "volver a initramfs rootfs" era fácil de detectar para las aplicaciones porque Magisk montaba system a '/system_root' y vincular mount '/system_root/system' a '/system.' Todo lo que una aplicación necesitaría hacer para detectar la presencia de root es compruebe si '/system_root' existe o si '/' es 'rootfs'. Sin embargo, no está claro si alguna aplicación realmente aprovechó esto para detectar raíz. Aún así, es mejor prevenir que curar.

Cambios varios

Android Q introduce soporte para algo llamado "piscina de blástula" al ciclo de vida de la aplicación de Android. MagiskHide era incapaz para detectar aplicaciones para ocultar el acceso de root si la nueva función "grupo de procesos" estaba habilitada. La última versión de Canary ahora admite esta función. Según topjohnwu: "Para respaldar adecuadamente la nueva optimización del grupo de blástulas introducida en Q, reescribí una buena parte de la lógica de seguimiento para el monitoreo de procesos".


Si tiene un Pixel 3, Pixel 3 XL, Pixel 3a o Pixel 3a XL en la versión beta de Android Q, pruebe la última versión de Magisk Canary y avísenos si logra rootear su dispositivo.

Canal Canaria Magisk