A maioria dos dispositivos Android usa GPT como esquema de particionamento?

9

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?

Melab
fonte
Até onde eu sei, a maioria dos dispositivos Android usa GPT. Você pode verificá-lo facilmente por fdisk -l /dev/block/mmcblk0. BTW, esta discussão pode ser útil: El Grande Partition Table Referência
Gokul NC
@GokulNC Eu já vi esse tópico. É um dos que eu estava falando. Porém, os dispositivos que usam o subsistema MTD, que parece ser um número decente de smartphones com Android, não usam uma tabela de partição. Nesses casos, pode haver um MBR armazenado no primeiro setor / bloco de memória interna se a ROM de inicialização do SoC for projetada com isso em mente (o carregador de inicialização de primeiro estágio em dispositivos baseados em OMAP inicia 512 bytes, por exemplo )
MELAB
as tabelas de partição precisam estar no primeiro setor? talvez um SoC também possa inicializar do último setor, como a leitura reversa do setor?
Jiggunjer #
Também em relação ao MTD vs eMMC: o MTD é para armazenamento do tipo NAND bruto, portanto, usa drivers diferentes do NAND gerenciado, como o eMMC.
Jiggunjer #

Respostas:

3

Se não estou errado, o GPT é bastante comum. Seu formato bastante avançado que o MBR. No meu Kitkat, eles têm 36 partições. O GPT possui recursos como tabela de partição de backup e nomeação / sinalizador, suporta disco maior que o MBR. (editar: o Android 6.0 introduz a capacidade de adotar mídia de armazenamento externo que usa GPT como formato de partição padrão.)

O dispositivo pode ou pode estar ciente da GPT. Normalmente, com o MBR, os primeiros 512 bytes são usados ​​para a tabela de partição. Quando usamos o GPT, ele não armazena dados no 1º setor. Em vez disso, marca como MBR protetor. Portanto, se o dispositivo que procura MBR reclamar, não haverá partição.

Se você está interessado em um documento detalhado:

lakshmipathi
fonte
Caro Downvoter: razão?
Lakshmipathi
O segundo parágrafo contém vários erros.
iBug
Você pode apontar o erro exato?
Lakshmipathi
Parece que eu estava errado (1 ano atrás). Parece-me razoável agora.
iBug 04/10