Ver Mensaje Individual
  #1  
Viejo 26/02/14, 17:34:32
Array

[xs_avatar]
TuxLin TuxLin no está en línea
Desarrollador Reconocido
 
Fecha de registro: jul 2012
Localización: En los confines de mi mente
Mensajes: 2,069
Modelo de smartphone: Xiaomi Mi 10T Lite - Galaxy Tab 10
Tu operador: O2
Cambiar el tamaño de las particiones.

Escribí este tutorial en junio pasado y estaba colgado en el foro de las tablets de 7 pulgadas.
Ignoro si tuvo eco aquí, pero dado que recientemente lo he subido a XDA, creo conveniente publicarlo también en este foro.

__________________________________________________ __________________________________________________ __

En este breve tutorial intento, mediante un ejemplo, explicar como es posible cambiar el tamaño de las particiones de nuestras tablets.

  • Aunque los datos presentes se refieren a una de 16 GB, en este caso una p5110, son fácilmente extrapolables a una de 8 GB, así como a cualquier otro modelo, haciendo una sencillas correcciones.
  • Aunque puede haber disponibles otros mecanismos, éste tiene la ventaja de que solo depende de que no escribamos datos erróneos, cosa difícil si prestamos un poco de atención mientras trabajamos.
  • Solo es necesario seguir estrictamente esta guía.
  • En caso de fallo total, tendríamos que recuperar la tablet mediante un flash de una versión Stock usando el fichero pit.
  • TODOS los datos que no estén salvados a la tarjeta MicroSD externa SE PERDERAN, dado que vamos a eliminar las particiones /system, /data y /cache.

*************
Requisitos
*************
  • Un ordenador.
  • Programa adb operativo.
  • Recovery CM oficial instalado.
  • Tarjeta externa microSD instalada y con espacio
  • Cable.
  • Batería llena.
  • En el caso de modelos
  • 3G (Gsm) el fichero "modem.bin" original obtenido de una Rom stock.
  • Si no es cómodo obtenerlo, modem-bin se consigue fácilmente desde la propia tablet:
dd count=40960 bs=512 if=/dev/block/mmcblk0p8 of=/external_sd/modem.bin
  • Todo el proceso se hace desde el ordenador, excepto una mínima intervención al final realizada desde la tablet.
  • Este tutorial está planteado para una rom tipo Aosp, como CyanogenMod.
  • En el caso de una stock, obviaamente, los tamaños de partición que vamos a dejar no serían suficientes
***************
Paso Previo
***************
  • Comprobamos que hay espacio suficiente en la microSD y hacemos una copia de seguridad con el recovery, indicando como destino la TrajetaSD EXTERNA. Si se hace en la interna, se va a perder.
  • Este paso es muy importante para recuperar la ROM sin reinstalarla de cero.
  • Insisto una vez más. CUALQUIER DATO DE USUARIO que no esté COPIADO a la microSD externa SE VA A PERDER.
  • Después de hacer los pasos siguientes, SOLO quedará intacta la microSD externa.
  • Comprobamos, una vez más, que tenemos todo salvado y copiamos a la microSD (si nuestro modelo es 3G) el fichero "modem.bin" que luego nos hará falta.

*********************
Ya estamos en el lio
*********************
  • Arrancamos la tablet en modo recovery y conectamos el cable
> adb shell
(entramos a la tablet)

> alias ls='ls -an'
(para tener un ls más documentado)

> parted /dev/block/mmcblk0
(para acceder a la tabla de particiones)
Nos saldrá algo como esto:
GNU Parted 1.8.8.1.179-aef3
Using /dev/block/mmcblk0
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
La línea de comando de parted es (parted), por lo tanto siempre que una lína comience así lo que sigue es un comando.

> Pedimos información sobre las particiones actuales

(parted) p
Model: MMC MAG2GA (sd/mmc)
Disk /dev/block/mmcblk0: 15.8GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number... Start... ....End......... Size...........File system...... Name.... Flags
1............4194kB.... 25.2MB.... 21.0MB...... ext4................ EFS
2........... 25.2MB.... 27.3MB....2097kB............................... SBL1
3........... 27.3MB.....29.4MB....2097kB............................... SBL2
4........... 29.4MB.... 37.7MB....8389kB............................... PARAM
5........... 37.7MB.... 46.1MB... 8389kB............................... KERNEL
6........... 46.1MB.... 54.5MB... 8389kB............................... RECOVERY
7............54.5MB...789.0MB.. 734.0MB....... ext4................CACHE
8......... 789.0MB.. 810.0MB.... 21.0MB.............................. MODEM
9......... 810.0MB.., 2278MB... 1468MB....... ext4............... FACTORYFS
10........ 2278MB.... 15.2GB.... 12.9GB.......ext4............... DATAFS
11......... 15.2GB..... 15.8GB.... 537MB....... ext4............... HIDDEN
*************
Comentarios
*************
Viendo las particiones actuales. observamos que esta tablet es de 16 GB:
/cache (CACHE) tiene asignados 734 MB
/system (FACTORYFS) tiene asignados 1468 MB
/data (DATAFS) tiene asignados 12,9GB
También encontramos una curiosa partición de 537 MB llamada HIDDEN, en donde se guardan el vídeo,
el tema musical y las fotos de demo de Samsung.
Creo recordar que las extraje en su momento y ocupan unos 14 MB. En nuestro caso, esto lo vamos a desintegrar.
En esta guía, nosotros asignaremos:
/cache (CACHE) 400 MB
/system (FACTORYFS) 400 MB
/data (DATAFS) lo que resulte de su espacio actual + 394 de CACHE + 1068 MB de FACTORYFS + 536 de HIDDEN.
Vamos a aunmentar en 1.998 MB el tamaño de /DATAFS, lo que nos dejará más de 14 GB de espacio libre.

Yo en este ejemplo utilizo 400 MB por que fue así como lo hice en mi tablet.
En la práctica 240 MB de /cache y 300 MB de /system son más que suficientes.

Como veremos posteriormente, estas son todas cifras aproximadas y seguro que en este momento estás pensando: "No me salen las cuentas". Pues a mi tampoco.
Vamos a verlo despacio:

21+2+2+8+8+8+21+1 que corresponden a las particiones "ocultas" son 71 MB.
Si sumamos 71 + 400 +400 nos salen 871 MB.
Si tenemos 16 GB y ocupamos menos de 1, nos deben quedar más de 15 GB.

Para empezar un GB son 1.048 MB. Por lo tanto 16 GB deberían ser 16.768 MB y solo tenemos 15.709 MB.
La explicación es sencilla: los fabricantes de discos "inventaron" que un GB son 1.000 MB.
Por lo tanto, de entrada en 16 GB ya nos faltan 768 MB.
Por otro lado, tenemos 34 sectores iniciales para sostener la tabla de particiones, sectores alternativos para recuperación de errores, "redondeos" de la asignación de sectores a particiones, etc.

Tenemos 11 particiones ahora mismo:
01 00021 MB
02 00002 MB
03 00002 MB
04 00008 MB
05 00008 MB
06 00008 MB
07 00734 MB
08 00021 MB
09 01468 MB
10 12900 MB
11 00537 MB
.....15709 MB

Y se deberían quedar así:
01 00021 MB
02 00002 MB
03 00002 MB
04 00008 MB
05 00008 MB
06 00008 MB
07 00400 MB *
08 00021 MB
09 00400 MB *
10 14838 MB *
11 00001 MB
.....15709 MB

Pero en la realidad, se quedarán así:
01 00021 MB
02 00002 MB
03 00002 MB
04 00008 MB
05 00008 MB
06 00008 MB
07 00419 MB *
08 00021 MB
09 00419 MB *
10 14800 MB *
11 00001 MB
.....15709 MB

La diferencia parece poca, sobre el particionado original, sin embargo nos permite tener todas nuestras apps habituales instaladas y aún así, partir de un espacio libre superior
al que teníamos inicialmente antes de comenzar a instalar nada. Es decir, más que antes con solo una CM pelada y recién instalada, incluso sin configurar.
Obviamente, si esto lo trasladamos a un modelo de 8 GB, la ganancia porcentual es mucho mayor.
Por otro lado pensemos que una ROM Aosp, como CM, no ocupa más de 260 MB en /system y que el cache solo ha de contener 60 MB para dalvik y lo que podamos descargar,
en un momento dado, desde Google-play. Con 170 MB va sobrado salvo que queramos descargar una aplicación que pese más de 100 MB. Las más grandes que he visto son de unos 40-45 MB.


En este momento, es cuando debemos decidir si seguimos adelante.
Hasta aquí, nos hemos divertido un poco pero no hemos "roto" nada.


NOTA: Si continuas leyendo el post siguiente y haces lo que en él se comenta, será única y exclusivamente bajo tu responsabilidad.
__________________

Hay personas que luchan un día y son buenas. Otras luchan un año y son mejores. Algunas luchan muchos años y son muy buenas. Pero las que luchan toda la vida son las imprescindibles.

Última edición por TuxLin Día 27/02/14 a las 17:22:36.
Responder Con Cita