Si parla molto di partizioni Android che si possono trovare con Google. A volte posso trovare riferimenti a GPT nella documentazione per processori mobili o su sviluppatori XDA (dove ho appreso che alcuni dispositivi usano GPT come schema). A parte questo, non si discute molto su ciò che i dispositivi Android utilizzano per archiviare le informazioni sulla partizione. Ci sono eccezioni: so che alcuni dispositivi utilizzano il metodo basato sulla riga di comando del sottosistema MTD, come alcuni dei precedenti dispositivi HTC, e so che i dispositivi Qualcomm sembrano utilizzare una tabella delle partizioni GUID.
Se le partizioni di un dispositivo sono rappresentate da nodi dispositivo che iniziano con mtd
o mtdblock
, allora Linux riceve le informazioni sulla partizione dagli argomenti di avvio. Se le partizioni sono rappresentate da nodi dispositivo che iniziano con mmcblk
, lo schema di partizione è ambiguo. Potrebbe utilizzare una tabella delle partizioni GUID, ma il problema è che la tabella dovrebbe iniziare dal primo settore, che è anche il luogo in cui risiedono tutti i bootloader di primo livello nella mia esperienza.
Proprio come mtd
si trovano le informazioni sulla partizione sui dispositivi i cui nodi iniziano con le partizioni /proc/mtd
, sui dispositivi su cui iniziano i nodi dei dispositivi mmcblk
, le stesse informazioni possono (solitamente) essere trovate su /proc/emmc
. Perché eMMC, un tipo di dispositivo di archiviazione, è trattato come un'alternativa a MTD, che è un'interfaccia per accedere all'archiviazione flash, non lo so. Ma questa pagina su GitHub sembra implicare che le informazioni sulla partizione per i dispositivi con /proc/emmc
non siano raccolte in una tabella come GPT.
Quella stessa pagina sembra anche dire che i kernel avviati da U-Boot espongono le partizioni in modo diverso rispetto a MTD o GPT. Ecco il passaggio:
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.
Quella frase è resa insignificante dal bit sull'accesso sequenziale. Forse qualcuno può spiegarlo meglio.
Quindi, quanto è comune il GPT sui dispositivi Android? Non ho visto alcun riferimento al partizionamento sul sito Web degli sviluppatori Android. Se i bootloader sono effettivamente archiviati dopo la tabella delle partizioni, significa che i chip sono compatibili con GPT?
fdisk -l /dev/block/mmcblk0
. A proposito, questa discussione può essere utile: El Grande Partition Table Reference