|
||
|
|
|
|||||||
| ROM y desarrollo Motorola Moto G (2013) ROM y desarrollo Motorola Moto G (2013) |
![]() |
|
|
Herramientas |
|
#1
|
||||
|
||||
|
Sacar partido a las Particiones del dispositivo
[descargo de responsabilidades: No me hago responsable de los problemas que se os puedan ocasionar directa o indirectamente, como consecuencia de seguir este tutorial, correcta o incorrectamente. No obstante, todo lo que describo lo he experimentado previamente sin experimentar ningún problema en mi smartphone. Se requiere un cierto nivel de conocimientos para entender y realizar lo que se describe en este Tutorial.
Si queréis experimentar hacerlo, pero con lo que vosotros extraigáis, no copiando y 'pintando de rosa' lo de otros] =>Echar un ojo a las particiones de nuestro dispositivo: ![]() Hay varias maneras y cada una de ellas aporta una información similar pero diferente (o bien son comandos linux o aplicaciones linux, dado que android es en esencia linux). De entre toda la información que conseguiremos, cabe resaltar los puntos de montaje y el tamaño de cada partición. Comando list: [PHP]ls -al /dev/block/platform/msm_sdcc.1/by-name[/PHP] Con GDISK, podremos ver los sectores de inicio y fin de cada partición con nombre: [PHP]gdisk -l /dev/block/mmcblk0[/PHP] Con PARTX, podremos ver además de los sectores de inicio y fin, la diferencia de ambos, el tamaño de la partición y sus nombres. Muy completito. [PHP]partx -s /dev/block/mmcblk0[/PHP] Y otras muchas… Así que para no saturarnos con tantas posibilidades, me quedaré con la info de PARTX. Para ejecutar PARTX, primero hay que meterlo al dispositivo. PARTX, yo lo pongo en /system/xbin/ y le doy los permisos 755 [rwxr-xr-x] (El propietario lectura, escritura y ejecución; el grupo y otros pueden leer y ejecutar el archivo). Luego tenemos 2 posibilidades para realizar la consulta. O lo hacemos desde una ventana de comandos en el PC, o lo hacemos desde un Emulador de terminal en el dispositivo. El resultado es idéntico y el proceso sólo se diferencia en que desde el PC debes ejecutar "adb shell" lo primero. # desde el PC # [PHP]adb shell shell@falcon_umts:/ $ su su root@falcon_umts:/ # partx -s /dev/block/mmcblk0 partx -s /dev/block/mmcblk0 NR START END SECTORS SIZE NAME UUID 1 256 131327 131072 64M modem 93abd67b-35df-ef9d-4aea-e8c4d36ecfa1 2 131328 132351 1024 512K sbl1 d465b87c-e36f-e519-d054-f9532bb4d638 3 132352 132415 64 32K DDR 8d4772ec-08a2-efc0-ca26-f10c5f59c286 4 132608 133631 1024 512K aboot 996b2d94-f771-de3d-dbaa-ed5cc38cf397 5 135608 136007 400 200K rpm 46ddb5bc-0f63-2b43-dec6-5795413e2b34 6 136608 137407 800 400K tz ebc23c87-eeb4-a0ff-407b-1d88c76aaf44 7 137608 137671 64 32K sdi 02437d2c-8d1a-47b2-e2d8-f19f41f21ff6 8 137672 138695 1024 512K utags 3f70fb2e-fb55-dd76-b075-ac9e60a65f06 9 138696 142791 4096 2M logs 770c0bf7-71ea-2337-7c9b-8fbbf46fc3f6 10 142792 147455 4664 2.3M padA 9afe5e68-f7ca-35f9-a2f7-67e4ab9a7f93 11 147456 148479 1024 512K abootBackup 4548bcef-89df-b3fe-9486-9d19a7d264db 12 150456 150855 400 200K rpmBackup 9a937f01-1ec1-398e-d447-d54482b6cb00 13 151456 152255 800 400K tzBackup e3ab910d-f62f-ba81-9e62-7a5e3742b6c1 14 152456 152519 64 32K sdiBackup 18397fdc-6051-5bfd-a00e-6fa5b2cc52bb 15 152520 153543 1024 512K utagsBackup cb24579f-7288-2fa8-acda-b28b0e3d1739 16 153544 155647 2104 1M padB ed16d7d5-d39d-5237-bc0f-9032525e8adc 17 155648 158719 3072 1.5M modemst1 6f848dd5-ff3f-f2d0-1129-6eae2653fd11 18 158720 161791 3072 1.5M modemst2 861c3ef5-07ac-9e5e-51e3-e1109110ec0a 19 161792 162815 1024 512K hob b52b8b8e-401f-6ef5-b43f-843d38fc61c2 20 162816 162831 16 8K dhob 076af99d-f35f-b6cd-1c10-503feebd1ff4 21 163072 166143 3072 1.5M fsg 6f074dae-5a0d-6fd7-d3a7-a3f9010c3d36 22 166144 166145 2 1K fsc cab1c411-1d7e-e2b0-9fc6-f57258394dba 23 166146 166161 16 8K ssd e2d00c4f-9a4f-010a-446f-6ebdbe9d9165 24 166162 168209 2048 1M sp d2e66266-3a8c-2110-f7d2-3ee662d47a3d 25 168210 168465 256 128K cid 78b32171-7fe3-8e1e-c419-b4f1eefb262a 26 168466 174609 6144 3M pds c2921c42-8208-fcde-b626-593746f93258 27 174610 182801 8192 4M logo f26c6502-54f4-c8e2-1c17-7ac46fd18ae8 28 182802 190993 8192 4M clogo 51910c78-4bfe-27f3-65e2-5f122c7f0a4d 29 191232 207615 16384 8M persist 643f0757-3708-3e46-2041-bcc9e5895f65 30 207616 208639 1024 512K misc 2ae26de1-9cb4-98a7-d75e-dccf3b9d65a7 31 208640 229119 20480 10M boot 03c86cc0-2464-16d3-32eb-2ed230200d81 32 229120 249599 20480 10M recovery 0015b9bc-fbd9-e492-5146-c51d076e86a4 33 249600 1605631 1356032 662.1M cache d548bb07-16a0-7fed-14e1-477b7c58aca1 34 1605632 3604479 1998848 976M system 75aa95d0-90e6-f00e-7f99-ebca5e2bae26 35 3604480 3620863 16384 8M kpan 4495236a-3f5a-7a16-ae26-41ff45738e96 36 3620864 15204095 11583232 5.5G userdata f6aeae4d-5c78-ffd7-b2bf-7a4b16866a9f [/PHP] # desde el dispositivo # ![]() En esa tabla, para relacionar en cada partición su nombre 'dev-block' con el 'amigable', basta con fijarse en la primera columna, y poner ese número en lugar de la 'x' al final 'mmcblk0px' (por ejemplo, la partición con el nombre amigable Recovery tiene de nombre dev-block mmcblk0p32). => Averiguar el Tamaño de Bloque de la emmc: ![]() [PHP]adb shell su dd if=/dev/block/mmcblk0 count=1 of=/dev/null[/PHP] ![]() Observo que el tamaño del bloque en mi emmc es de 512 bytes. => Que podemos hacer con todo esto: ![]() * Podemos extraer una partición del dispositivo. Por ejemplo vamos a extraer el Recovery de nuestro dispositivo. Para ello, en los datos obtenidos antes con PARTX vemos que la partición recovery es el número 32, o lo que es lo mismo, mmcblk0p32. Ahora desde el una ventana de comandos en el PC (en nuestra carpeta 'de trabajo'), y con el dispositivo conectado por USB, ejecutamos. [PHP]adb shell su dd if=/dev/block/mmcblk0p23 of=/sdcard/recovery.img[/PHP] Y así nos extrae toda la partición mmcblk0p32 que es nuestro Recovery, y ocupa 10 Mbytes tal y como nos indica en los datos de antes que ocupaba esa partición. Si lo que quisieramos es extraer esta misma partición, pero del BACKUP TOTAL que hemos hecho de nuestro dispositivo, tendríamos que especificar que la extracción de datos la empiece a realizar a partir del punto de montaje de esa partición. Y para eso vamos a realizar unos cálculos previos. En este caso, tenemos estos datos: Código:
NR START END SECTORS SIZE NAME mmcblk0p32 229120 249599 20480 10M recovery Vamos a pasar el punto START del recovery a bytes. Si tenemos que la partición recovery empieza en el Bloque 229120, y que el tamaño de cada bloque es: 512 bytes/bloque. Código:
229120 bloques * 512 bytes/bloque = 117309440 bytes Y además sabemos que ocupa exactamente 10Mbytes Entonces ya podremos ejecutar lo siguiente: [PHP]dd if=backup.dd bs=1 skip=117309440 count=10M of=recovery.img[/PHP] Para cualquier otra partición, los procesos serían similares. => Particiones 'interesantes': ![]() * Tabla de particiones del dispositivo (gpt.bin). El tema es que dicho fichero no existe como tal en un dispositivo, si no que son los 32 primeros KBytes del mmcblk0. Por lo tanto escribiremos. [PHP]adb shell su dd if=/dev/block/mmcblk0 bs=1 count=32K of=/sdcard/gpt.bin[/PHP] y con nuestro backup.dd sería [PHP]dd if=backup.dd bs=1 count=32K of=gpt.bin[/PHP] Si quereis echar un ojo para ver si realmente son iguales entre si, e iguales al gpt.bin que viene en las ROM, ya que este fichero es pequeño abrirlo con un editor hexadecimal, o probar a poner: [PHP]adb shell su dd if=/dev/block/mmcblk0 bs=1 count=32K | hexdump -C [/PHP] y [PHP]dd if=backup.dd bs=1 count=32K | hexdump -C[/PHP] continuará... Agradecimientos: Bueno, supongo que lo suyo sería poner los diferentes WebSites y libros de donde voy sacando la información para asimilarla y luego exponerla, pero todo es imposible. Lo que sí, mencionaré a tux_mind (XDA), E:V:A (XDA) y majdinj (XDA) cuyos Post me han ayudado mucho a entender todo esto. |
| Los siguientes 8 usuarios han agradecido a LEPT su comentario: | ||
|
|
|
#2
|
||||
|
||||
|
Fa loco, que buen trabajo el tuyo, yo entiendo poquito y nada de todo esto, pero
|
|
#6
|
||||
|
||||
|
yo pondría la ruta mas definida msm por el chip del moto y la ruta dev/block/platform/msm_sdcc.1/ [PHP]dev/block/platform/msm_sdcc.1/ [/PHP]
que es la ruta mas especifica para el moto por el chip o no? motorola creo que va algo distinto a lo genérico que es el sistema nexus?
Última edición por franq36 Día 17/12/14 a las 09:52:27. |
|
#7
|
||||
|
||||
|
yo pondría la ruta mas definida msm por el chip del moto y la ruta dev/block/platform/msm_sdcc.1/ [PHP]dev/block/platform/msm_sdcc.1/ [/PHP]
que es la ruta mas especifica para el moto por el chip o no? motorola creo que va algo distinto a lo genérico que es el sistema nexus? ![]() ![]() Quiero decir, que en /dev/block ya están todas las particiones y más (ram y loop), y luego en /dev/block/plattfom/msm_sdcc.1 vuelven a estar los mismos enlaces a las particiones de atrás, aunque aquí únicamente están las particiones de la memoria del dispositivo, e incluso con la posibilidad de verlas por numero o por nombre (amigable que digo yo). De ese modo se podría hacer de manera equivalente estas cosas: => Extraer una copia de la partición en la que está el IMEI: ![]() [PHP]adb shell su dd if=/dev/block/platform/msm_sdcc.1/by-name/pds of=/sdcard/pds.img ó dd if=/dev/block/mmcblk0p26 of=/sdcard/pds.img[/PHP] => Restaurar una copia de la partición que contiene el IMEI: ![]() [PHP]adb shell su dd if=/sdcard/pds.img of=/dev/block/platform/msm_sdcc.1/by-name/pds ó dd if=/sdcard/pds.img of=/dev/block/mmcblk0p26[/PHP] Última edición por LEPT Día 17/12/14 a las 11:04:31. |
| Gracias de parte de: | ||
|
#8
|
||||
|
||||
|
LEPT, ¿crees que es posible extraer el MBM-CI de un motorola Moto G que haya actualizado al 5.0? Lo digo mas que nada por los usuarios que han brickeado el móvil, aunque no se si es posible.
Para el tema de restaurar a través de DD, es interesante (y acabo de comprobarlo) hacerlo desde el Recovery. No estoy del todo seguro si para con todos (que me imagino que sí), pero cuando entras al Recovery, lo carga en RAM, por lo que virtualmente podrías "machacar" estando ahí, todo la memoria del dispositivo "incluido" el Recovery.
![]() El recovery se salta la seguridad que tiene el bootloader, vamos que te deja "machacar" como bien dices. Última edición por Borrego92 Día 17/12/14 a las 11:25:45. |
|
#9
|
||||
|
||||
|
Para el tema de restaurar a través de DD, es interesante (y acabo de comprobarlo) hacerlo desde el Recovery. No estoy del todo seguro si para con todos (que me imagino que sí), pero cuando entras al Recovery, lo carga en RAM, por lo que virtualmente podrías "machacar" estando ahí, todo la memoria del dispositivo "incluido" el Recovery.
=> Restaurar un Recovery: ![]() Me he flasheado el TWRP. He entrado en él. He conectado el smartphone al PC, y me lo ha reconocido. Desde una ventana de comandos en el PC, le he subido el Recovery STOCK... [PHP]adb push recovery.img /sdcard/[/PHP] Luego lo he machacado en su sitio en la memoria de mi smartphone... [PHP]adb shell dd if=/sdcard/recovery.img of=/dev/block/mmcblk0p32[/PHP] El móvil seguía estando tranquilamente en TWRP. Y lo reinicio en modo bootloader/fastboot... [PHP]adb reboot-bootloader[/PHP] Desde ahí me he ido nuevamente al Recovery... y el que carga es el STOCK ![]() Con lo cual, de una manera "similar" (salvando las distancias que en el XT1032 no tenemos SDCard Ext), podríamos a través de DD, restaurar el backup completo realizado en el otro Hilo. Pero he de pulir el método para los que no podríamos hacerlo desde una SDCard Ext Última edición por LEPT Día 18/12/14 a las 15:40:34. |
|
#10
|
||||
|
||||
|
|
| Gracias de parte de: | ||
|
#11
|
||||
|
||||
|
Una pregunta, a raíz de toda esta información ¿existe la posibilidad de re-particionar el Moto G para conseguir más espacio de almacenamiento en el de 8GB? He leído alguna cosa por ahí, pero no parece estar nada claro...
Gracias!
__________________
Un saludo
Iphone 14 Pro Max / Poco X3 Pro 8GB |
| Gracias de parte de: | ||
|
#12
|
||||
|
||||
|
Lo que hay "por ahí", es reubicar la caché-Dalvik en la partición 'cache' (que como veis en el primer post, tiene un tamaño de 662.1 Mbytes), y bajo 'unas determinadas circunstancias' y con algún que otro cambio, al parecer funciona. Pero vaya, que ganas poquito. La prueba de qué pasaría si cambiamos algún tamaño de las particiones, lo tenemos en las diferencias entre la ROM STOCK y GPe. Pero como digo... es arriesgado hacer cosas de esas, 'así por que sí'. |
| Los siguientes 2 usuarios han agradecido a LEPT su comentario: | ||
|
#13
|
||||
|
||||
|
Para el tema de restaurar a través de DD, es interesante (y acabo de comprobarlo) hacerlo desde el Recovery. No estoy del todo seguro si para con todos (que me imagino que sí), pero cuando entras al Recovery, lo carga en RAM, por lo que virtualmente podrías "machacar" estando ahí, todo la memoria del dispositivo "incluido" el Recovery.
Me he flasheado el TWRP. He entrado en él. He conectado el smartphone al PC, y me lo ha reconocido. Desde una ventana de comandos en el PC, le he subido el Recovery STOCK... [PHP]adb push recovery.img /sdcard/[/PHP] Luego lo he machacado en su sitio en la memoria de mi smartphone... [PHP]adb shell dd if=/sdcard/recovery.img of=/dev/block/mmcblk0p32[/PHP] El móvil seguía estando tranquilamente en TWRP. Y lo reinicio en modo bootloader/fastboot... [PHP]adb reboot-bootloader[/PHP] Desde ahí me he ido nuevamente al Recovery... y el que carga es el STOCK ![]() Con lo cual, de una manera "similar" (salvando las distancias que en el XT1032 no tenemos SDCard Ext), podríamos a través de DD, restaurar el backup completo realizado en el otro Hilo. Pero he de pulir el método para los que no podríamos hacerlo desde una SDCard Ext ![]() y esta es la manera para volver al recovery stock(o por fastboot) antes de meter la OTA para tener recovery stock para la instalación de lollipop si usas uno modificado |
| Gracias de parte de: | ||
|
#15
|
||||
|
||||
|
Por favor tengo un Samsung galaxy Express como liberarlo no se aun usar esto por lo que no se si es el sitio adecuado donde preguntarlo gracias
|
|
#16
|
||||
|
||||
|
Esto no es para liberar ni nada por el estilo, son editaje de las particiones y su contenido del MOTOROLA Moto G. Tu subforo es este: http://www.htcmania.com/forumdisplay.php?f=1164 Ademas si quieres liberar el terminal, tanto HTC MANIA como aqui http://liberar24.com/es te lo permiten a un modico precio.
__________________
Recomiendo usar el BUSCADOR y LEER. También recomiendo mirar en los POST EN CHINCHETA. Si se hace eso, posiblemente se encuentre la solución SIN NECESIDAD DE PREGUNTAR NI ABRIR NUEVOS POST. En caso de que no encuentres lo que buscas, si te he ayudado, con un simple CLICK en GRACIAS es suficiente.
|
|
#17
|
||||
|
||||
|
Muchas gracias
|
|
#18
|
||||
|
||||
|
Una pregunta, supuestamente estas serían todas las particiones no
![]() Se me olvidaba, es un LG G3s
__________________
![]() Última edición por JoseDroid Día 03/05/15 a las 12:30:19. |
|
#19
|
||||
|
||||
|
El listado de particiones del dispositivo estará en la ruta: Código:
/dev/block/platform/un-nombre-dependiendo-dispositivo en mi Moto G es: [PHP]/dev/block/platform/msm_sdcc.1/by-name[/PHP] y en mi Nexus 9 es (es que no tengo más a mano para hacer pruebas ^^ ): [PHP]/dev/block/platform/sdhci-tegra.3/by-name[/PHP] Y para poder listarlas, pues como ponía en el Primer Post, varias opciones, aunque la que más me gusta es usando 'partx' que puse allí también enlace al binario linux, para poder usarlo tanto en linux como en el móvil (bueno, en ambos tocará ponerle permisos para ejecutarlo, pero en eso tu no tienes problemas). El comando sería: [PHP]partx -s /dev/block/mmcblk0[/PHP] Quizás todo esto es lo que mostraban las otras 2 imágenes... pero yo no las veo |
|
|
|
#20
|
||||
|
||||
|
Bueno no se que ha pasado con las imagenes... resumiendo
Estas sería todas las particiones del dispositivo no ![]() Entonces el bootloader se compondría de diferentes archivos en diferentes particiones? Se me escapa a mi lógica la verdad, supongo que habra una partición de inicio cuando encendemos el dispositivo que es la primera que se lee
__________________
![]() |
![]() |
Estás aquí
|
||||||
|
||||||