Fala-se muito de partições Android que podem ser encontradas no Google. Às vezes, posso encontrar referências à GPT na documentação de processadores móveis ou em XDA Developers (onde aprendi que determinados dispositivos usam a GPT como seu esquema). Além disso, não há muita discussão sobre o que os dispositivos Android usam para armazenar informações da partição. Existem exceções: sei que alguns dispositivos usam o método baseado em linha de comando do subsistema MTD, como alguns dos dispositivos anteriores da HTC, e sei que os dispositivos da Qualcomm parecem usar uma tabela de partição GUID.
Se as partições de um dispositivo são representadas por nós de dispositivo iniciados com mtdou mtdblock, o Linux recebe as informações da partição dos argumentos de inicialização. Se as partições forem representadas por nós de dispositivo começando com mmcblk, o esquema de partição será ambíguo. Poderia estar usando uma tabela de partição GUID, mas o problema é que a tabela teria que começar no primeiro setor, que também é onde todos os gerenciadores de inicialização de primeiro estágio residem na minha experiência.
Assim como as informações da partição nos dispositivos cujos nós das partições começam mtdpodem ser encontradas nos /proc/mtddispositivos onde os nós dos dispositivos começam mmcblk, as mesmas informações (geralmente) podem ser encontradas em /proc/emmc. Por que o eMMC, um tipo de dispositivo de armazenamento, é tratado como uma alternativa ao MTD, que é uma interface para acessar o armazenamento flash, não sei. Mas esta página no GitHub parece sugerir que as informações da partição para dispositivos com /proc/emmcnão estão reunidas em uma tabela como GPT.
Essa mesma página também parece dizer que os kernels inicializados pelo U-Boot expõem as partições de uma maneira diferente da MTD ou GPT. Aqui está a passagem:
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.
Essa frase é tornada sem sentido para mim pelo pouco sobre acesso seqüencial. Talvez alguém possa explicar melhor.
Então, quão comum é a GPT em dispositivos Android? Não vi nenhuma referência ao particionamento no site do desenvolvedor do Android. Se os gerenciadores de inicialização forem realmente armazenados após a tabela de partição, isso significa que os chips são compatíveis com GPT?
fdisk -l /dev/block/mmcblk0. BTW, esta discussão pode ser útil: El Grande Partition Table Referência