1 votos

¿Cómo reparticionar Google Nexus 4 (también conocido como LG E960)?

Hace más de un mes, LineageOS lanzó la actualización de Oreo (creo) para el Nexus 4 (mako), pero hay un problema - ahora el sistema ocupa tanto espacio que ni siquiera la versión nano del paquete open-gapps se puede instalar sin quitar manualmente aplicaciones entre las instalaciones. Pensé que en lugar de eliminar aplicaciones de LineageOS por defecto, preferiría aumentar el tamaño de la partición system en otros 200 MiB.

No he intentado hacer nada aún, ya que la información sobre cómo lograr esto en un dispositivo Snapdragon parece ser muy escasa - ¿es siquiera posible? He hecho reparticionamiento en un dispositivo Mediatek, donde hacerlo involucraba la edición manual de una tabla de particiones similar a MBR y subirla al dispositivo usando SP-flashtool. ¿Hay alguna herramienta similar, o tal vez más fácil de usar, para dispositivos Snapdragon?

PD - He leído las respuestas/sugerencias a la pregunta 65781, y ninguna de ellas es útil para mi pregunta.

0 votos

Bueno, resulta que las travesuras de la herramienta flash son específicas de Mediatek, y la partición en otros teléfonos se realiza con GPT simple en el dispositivo mmcblk0. Por lo tanto, debería poder cambiar el tamaño de las particiones con herramientas genéricas como parted, o sgdisk (ninguno de los cuales está disponible en TWRP, pero no debería ser difícil obtenerlos). Escribiré una respuesta completa una vez que lo haya hecho en realidad.

0voto

Dänu Puntos 1804

Como se mencionó anteriormente, el Nexus 4 utiliza GPT en su almacenamiento para dividirlo en particiones. Cualquier herramienta capaz de modificar GPT debería funcionar. Hasta ahora, el mayor problema para mí fue obtener una herramienta adecuada: el fdisk incluido en TWRP solo puede enumerar las particiones en un disco GPT, sin realizar cambios. Prefiero no usar parted (disponible en Termux), debido a su incapacidad para mostrar/modificar los GUID de las particiones (puede haber cambiado desde la última vez que lo verifiqué).

En retrospectiva, puede ser posible copiar todo el almacenamiento a una computadora, hacer cambios allí y devolver todo, pero específicamente quería evitar escribir sobre particiones críticas (cargadores, kernel, etc.), así que me propuse obtener gdisk para android.

Finalmente encontré este hilo, donde el autor preparó un archivo con gdisk y algunas otras herramientas.

Requisitos:

Resumen

Las particiones relevantes (system y userdata) son la 21ª y la 23ª en el almacenamiento. La 22ª partición es solo cache, por lo que no hay problema en eliminarla y crear una nueva después de que los datos de las otras 2 estén en su lugar.

La versión TL;DR del procedimiento es la siguiente:

  • copiar la partición de datos a la computadora

    [PC] adb pull /dev/block/mmcblk0p23 userdata.img
  • poner gdisk en el teléfono y usarlo para modificar la tabla de particiones: aumentar el tamaño de system manteniendo su sector de inicio, reducir userdata en la misma cantidad y volver a crear cache entre ellos

    [PC] adb push gdisk /tmp/
    [adb-shell] /tmp/gdisk /dev/block/mmcblk0
    ...
  • usar resize2fs en el teléfono con la partición system para aumentar su tamaño

  • usar resize2fs en la computadora con la imagen de la partición userdata para reducirlo al tamaño apropiado

  • enviar la imagen de datos modificada al teléfono

    [PC] adb push userdata.img /dev/block/mmcblk0p23
  • formatear la partición de cache, reiniciar en el sistema

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