On parle beaucoup des partitions Android que l'on peut trouver chez Google. Parfois, je peux trouver des références à GPT dans la documentation des processeurs mobiles ou sur XDA Developers (où j'ai appris que certains appareils utilisent effectivement 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 y a 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 premiers appareils 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 mtd
o mtdblock
Linux reçoit alors les informations de partition à partir des arguments de démarrage. Si les partitions sont représentées par des nœuds de périphériques commençant par mmcblk
alors 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 l'endroit où se trouvent tous les chargeurs de démarrage de première étape, selon mon expérience.
Tout comme les informations de partition sur les périphériques dont les nœuds de partitions commencent par mtd
peuvent être trouvés dans /proc/mtd
sur les dispositifs dont les nœuds commencent par mmcblk
les mêmes informations peuvent (généralement) être trouvées à l'adresse suivante /proc/emmc
. Je ne sais pas pourquoi l'eMMC, un type de périphérique de stockage, est traité comme une alternative à la MTD, qui est une interface d'accès au stockage flash. Mais este sur GitHub semble impliquer que les informations de partition pour les dispositifs avec /proc/emmc
n'est pas réuni une table 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 vidée de son sens pour moi par la partie concernant l'accès séquentiel. Peut-être que quelqu'un peut mieux l'expliquer.
Le GPT est-il courant sur les appareils Android ? Je n'ai vu aucune référence au partitionnement sur le site des développeurs Android. Si les chargeurs de démarrage sont effectivement stockés après la table de partition, cela signifie-t-il que les puces tiennent compte de GPT ?