La plupart des appareils Android utilisent-ils GPT comme schéma de partitionnement?


9

On parle beaucoup de partitions Android qui peuvent être trouvées avec Google. Parfois, je peux trouver des références à GPT dans la documentation pour les processeurs mobiles ou sur les développeurs XDA (où j'ai appris que certains appareils utilisent GPT comme schéma). En dehors de cela, il n'y a pas beaucoup de discussions sur ce que les appareils Android utilisent pour stocker les informations de partition. Il existe des exceptions: je sais que certains appareils utilisent la méthode basée sur la ligne de commande du sous-système MTD, comme certains des appareils antérieurs de HTC, et je sais que les appareils Qualcomm semblent utiliser une table de partition GUID.

Si les partitions d'un périphérique sont représentées par des nœuds de périphérique commençant par mtdou mtdblock, Linux reçoit les informations de partition des arguments de démarrage. Si les partitions sont représentées par des nœuds de périphérique commençant par mmcblk, le schéma de partition est ambigu. Il pourrait utiliser une table de partition GUID, mais le problème est que la table devrait commencer au premier secteur qui est également où tous les chargeurs de démarrage de premier étage résident dans mon expérience.

Tout comme les informations de partition sur les périphériques dont les nœuds de partition commencent par mtdse trouvent dans /proc/mtd, sur les périphériques sur lesquels les nœuds de périphérique commencent mmcblk, les mêmes informations peuvent (généralement) être trouvées sur /proc/emmc. Pourquoi eMMC, un type de périphérique de stockage, est traité comme une alternative à MTD, qui est une interface pour accéder au stockage flash, je ne sais pas. Mais cette page sur GitHub semble impliquer que les informations de partition pour les appareils avec /proc/emmcne sont pas rassemblées dans un tableau comme GPT.

Cette même page semble également dire que les noyaux démarrés par U-Boot exposent les partitions d'une manière différente de MTD ou GPT. Voici le passage:

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.

Cette phrase est dénuée de sens pour moi par le peu d'accès séquentiel. Peut-être que quelqu'un peut mieux l'expliquer.

Alors, quelle est la fréquence du GPT sur les appareils Android? Je n'ai vu aucune référence au partitionnement sur le site Web des développeurs Android. Si les chargeurs de démarrage sont réellement stockés après la table de partition, cela signifie-t-il que les puces sont compatibles GPT?


Pour autant que je sache, la plupart des appareils Android utilisent GPT. Vous pouvez le vérifier facilement par fdisk -l /dev/block/mmcblk0. BTW, ce fil peut être utile: El Grande Partition Table Reference
Gokul NC

@GokulNC J'ai vu ce fil. C'est l'un de ceux dont je parlais. Les appareils qui utilisent le sous-système MTD, qui semblent être un nombre décent de premiers smartphones Android, cependant, n'utilisent pas de table de partition. Dans ces cas, il peut y avoir un MBR stocké dans le premier secteur / bloc de mémoire interne si la ROM de démarrage du SoC est conçue dans cet esprit (le chargeur de démarrage de premier étage dans les appareils basés sur OMAP démarre par exemple 512 octets) ).
Melab

les tables de partition doivent-elles être sur le premier secteur? peut-être qu'un SoC peut également démarrer à partir du dernier secteur, comme la lecture de secteur inversée?
jiggunjer

En ce qui concerne également MTD vs eMMC: le MTD est destiné au stockage de type NAND brut, utilise donc des pilotes différents de ceux gérés NAND comme eMMC.
jiggunjer

Réponses:


3

Si je ne me trompe pas, le GPT est assez courant. Son format assez avancé que MBR. Sur mon Kitkat, ils ont 36 partitions. GPT possède des fonctionnalités telles que la table de partition de sauvegarde et la dénomination / indicateur, prend en charge un disque plus grand que MBR. (modifier: Android 6.0 introduit la possibilité d' adopter un support de stockage externe qui utilise GPT comme format de partition par défaut.)

Le périphérique peut ou peut être au courant de GPT. Généralement, avec le MBR, les 512 premiers octets sont utilisés pour la table de partition. Lorsque nous utilisons GPT, il ne stocke aucune donnée sur le 1er secteur. Au lieu de cela marque comme MBR protecteur. De sorte que si l'appareil recherchant le MBR se plaint, il n'y a pas de partition.

Si vous êtes intéressé par un document détaillé:


Cher Downvoter: raison?
lakshmipathi

Le deuxième paragraphe contient plusieurs erreurs.
iBug

Pouvez-vous signaler l'erreur exacte?
lakshmipathi

On dirait que j'avais tort (il y a 1 an). Cela me semble raisonnable maintenant.
iBug
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.