Tema: [ CONSULTA ] Tabla de Particiones completa
Ver Mensaje Individual
  #1  
Viejo 20/10/15, 23:35:43
Array

[xs_avatar]
LEPT LEPT no está en línea
Usuario muy activo
· Votos compra/venta: (1)
 
Fecha de registro: abr 2012
Localización: Ahí-donde-eso
Mensajes: 4,574
Modelo de smartphone: Xiaomi Mi A2
Tu operador: Movistar
Post Tabla de Particiones completa

Si alguno se ha preguntado a qué viene el comando DD y el por qué de sus argumentos, que se emplea para extraer la partición system del LG G4, para luego por ejemplo inyectarle el root, y luego es introducida de nuevo al LG G4... pues ahora voy a tratar de explicároslo.

Partimos de una visión clara de la estructura de particiones de la memoria interna (mmcblk0) del LG G4 - H815:
[PHP]Number Start End Size File system Name
1 16777216B 106954751B 90177536B fat16 modem
2 117440512B 117964799B 524288B pmic
3 117964800B 119013375B 1048576B sbl1
4 119013376B 120061951B 1048576B tz
5 120061952B 120586239B 524288B sdi
6 120586240B 121110527B 524288B hyp
7 121110528B 121634815B 524288B rpm
8 121634816B 123731967B 2097152B aboot
9 123731968B 124780543B 1048576B sbl1bak
10 124780544B 125304831B 524288B pmicbak
11 125304832B 126353407B 1048576B tzbak
12 126353408B 126877695B 524288B hypbak
13 126877696B 127401983B 524288B rpmbak
14 127401984B 129499135B 2097152B abootbak
15 129499136B 130023423B 524288B sdibak
16 130023424B 130547711B 524288B limits
17 130547712B 131071999B 524288B devinfo
18 131072000B 131596287B 524288B apdp
19 131596288B 132120575B 524288B msadp
20 132120576B 132644863B 524288B dpo
21 132644864B 134217727B 1572864B spare1
22 134217728B 150994943B 16777216B misc
23 150994944B 184549375B 33554432B ext4 persist
24 184549376B 186122239B 1572864B modemst1
25 186122240B 187695103B 1572864B modemst2
26 187695104B 189267967B 1572864B fsg
27 189267968B 189792255B 524288B fsc
28 189792256B 190316543B 524288B ssd
29 190316544B 190840831B 524288B keystore
30 190840832B 192937983B 2097152B DDR
31 192937984B 193462271B 524288B sec
32 193462272B 193986559B 524288B encrypt
33 193986560B 194510847B 524288B eksst
34 194510848B 195035135B 524288B rct
35 195035136B 197132287B 2097152B persistent
36 197132288B 201326591B 4194304B spare2
37 201326592B 251658239B 50331648B laf
38 251658240B 293601279B 41943040B boot
39 293601280B 335544319B 41943040B recovery
40 335544320B 343932927B 8388608B ext4 drm
41 343932928B 352321535B 8388608B ext4 sns
42 352321536B 385875967B 33554432B ext4 mpt
43 385875968B 434110463B 48234496B factory
44 434110464B 444596223B 10485760B fota
45 444596224B 448790527B 4194304B raw_resources
46 448790528B 452984831B 4194304B raw_resourcesbak
47 452984832B 4794089471B 4341104640B ext4 system
48 4794089472B 5062524927B 268435456B ext4 cust
49 5066719232B 6358564863B 1291845632B ext4 cache
50 6358564864B 31255953407B 24897388544B ext4 userdata
51 31255953408B 31268519423B 12566016B grow[/PHP]
En ese listado vemos los Bytes de inicio y fin (ambos inclusive) de cada partición en que se divide la memoria interna, así como la capacidad en Bytes de cada una, e incluso su nombre 'amigable'.

Tomando como ejemplo la partición del sistema (system), por aquello de que es en el LG G4 la que 'tocan' algunos para litear, rootear y demás cosillas sin tener que desbloquear el bootloader, pero las conclusiones son extrapolables a cualquier otra partición, como pudiera ser el recovery.

La partición system, corresponde con esta línea:
[PHP]Number Start End Size File system Name
47 452984832B 4794089471B 4341104640B ext4 system
[/PHP]
De ahí se puede obtener la siguiente información:
  • La partición system en el LG G4, es el bloque número 47 de la memoria interna (mmcblk0), o lo que es lo mismo, el bloque mmcblk0p47, cuyo nombre amigable es system.
  • Dicha partición, empieza en el Byte 452984832 y acaba en el Byte 4794089471 (ambos inclusive). Por lo que posee un tamaño de 4341104640 Bytes.
Ahora bien, si agrupamos esas cantidades en bloques de 8192 Bytes, obtendríamos:
  • La partición system empieza en el bloque: 452984832 / 8192 = 55296
  • Y continúa durante: 4341104640 / 8192 = 529920 bloques
Por lo tanto, y hablando en bloques de 8192 bytes (BS), vamos a buscar el inicio en el bloque 55296 (SKIP si lo hacemos en el archivo Origen; SEEK si lo hacemos en el archivo Destino) y su duración será de 529920 bloques (COUNT).

Ya con estos datos, tenemos todo lo que necesitamos para emplear el comando de UNIX/linux DD. Y lo vamos a emplear para 2 operaciones, una de extracción y otra de añadido.

## EXTRAER MI SYSTEM ##
Código:
dd if=/dev/block/mmcblk0 bs=8192 skip=55296 count=529920 of=/data/media/0/system.img
Con esto hemos extraído a un fichero llamado 'system.img' y alojado en la memoria SDCard interna del LG G4, todo el contenido de la partición system del LG G4.

Ahora con ese fichero IMG, lo podremos toquitear, por ejemplo para inyectarle el root.


## VOLVER A INTRODUCIR MI SYSTEM YA ROOTEADO ##
Código:
dd if=/data/media/0/system.rooted.img bs=8192 seek=55296 count=529920 of=/dev/block/mmcblk0
De este modo, y una vez que hemos copiado desde el PC al LG G4, el system.img al cual hemos inyectado el root, lo añadimos a la memoria interna del LG G4, justo en la posición en la que se encuentra la partición system, sobreescribiéndola.

  • Si por ejemplo todo esto lo hubieramos aplicado a la partición 'recovery', podríamos extraer el recovery.img STOCK del LG G4 para posteriormente volverlo a poner si quisieramos por ejemplo quitarnos un Custom recovery.

Ahora podréis comprender mejor el peligro que pudiera conllevar el no elegir correctamente los números en el BS, SEEK/SKIP, COUNT, ya que podríamos accidentalmente sobreescribir datos que no corresponden en una partición o pedazo de partición diferente a la que debiera. Ocasionando una corrupción de la información en las particiones de la memoria interna del LG G4.
__________________

« swyk.tk » - "Un rincón para compartir conocimientos" - LEPT

Última edición por LEPT Día 27/11/15 a las 13:21:57. Razón: Cambio todo pues ya tengo lo que quería, ahora explico para qué era
Responder Con Cita
Los siguientes 14 usuarios han agradecido a LEPT su comentario:
[ Mostrar/Ocultar listado de agradecimientos ]