Se habla mucho de las particiones de Android que se pueden encontrar con Google. A veces puedo encontrar referencias a GPT en la documentación para procesadores móviles o en Desarrolladores XDA (donde he aprendido que ciertos dispositivos usan GPT como su esquema). Aparte de eso, no hay mucha discusión sobre qué dispositivos Android usan para almacenar información de partición. Hay excepciones: sé que algunos dispositivos usan el método basado en la línea de comandos del subsistema MTD, como algunos de los dispositivos anteriores de HTC, y sé que los dispositivos Qualcomm parecen usar una tabla de particiones GUID.
Si las particiones de un dispositivo están representadas por nodos de dispositivo que comienzan con mtd
o mtdblock
, entonces Linux recibe la información de partición de los argumentos de arranque. Si las particiones están representadas por nodos de dispositivo que comienzan mmcblk
, entonces el esquema de partición es ambiguo. Podría estar usando una tabla de particiones GUID, pero el problema es que la tabla tendría que comenzar en el primer sector, que también es donde residen todos los cargadores de arranque de la primera etapa en mi experiencia.
Del mismo modo que mtd
se puede encontrar información de partición en dispositivos cuyos nodos de partición comienzan /proc/mtd
, en dispositivos donde comienzan los nodos de dispositivo, se puede encontrar mmcblk
la misma información (generalmente) /proc/emmc
. Por qué eMMC, un tipo de dispositivo de almacenamiento, se trata como una alternativa al MTD, que es una interfaz para acceder al almacenamiento flash, no lo sé. Pero esta página en GitHub parece implicar que la información de partición para dispositivos con /proc/emmc
no se recopila en una tabla como GPT.
Esa misma página también parece estar diciendo que los núcleos arrancados por U-Boot exponen particiones de manera diferente a MTD o GPT. Aquí está el pasaje:
Since MTK devices use the uboot mechanism, partitions including boot and recovery, are not revealed as separate partitions, but rather accessed sequencially by size and start parameters.
Esa frase no tiene sentido para mí por parte del acceso secuencial. Quizás alguien pueda explicarlo mejor.
Entonces, ¿qué tan común es el GPT en dispositivos Android? No he visto ninguna referencia a la partición en el sitio web para desarrolladores de Android. Si los cargadores de arranque se almacenan realmente después de la tabla de particiones, ¿significa eso que los chips son compatibles con GPT?
fuente
fdisk -l /dev/block/mmcblk0
. Por cierto, este hilo puede ser útil: Referencia de la tabla de partición de El GrandeRespuestas:
Si no me equivoco, GPT es bastante común. Su formato bastante avanzado que MBR. En mi Kitkat tienen 36 particiones. GPT tiene características como la tabla de partición de respaldo y la denominación / marca, admite discos más grandes que MBR. (Editar: Android 6.0 introduce la capacidad de adoptar medios de almacenamiento externos que usan GPT como formato de partición predeterminado).
El dispositivo puede o puede estar al tanto de GPT. Típicamente con MBR, los primeros 512 bytes se usan para la tabla de particiones. Cuando usamos GPT, no almacena ningún dato en el primer sector. En cambio, marca como MBR protector. De modo que si el dispositivo que busca MBR se queja, no hay partición.
Si está interesado en un documento en profundidad:
fuente