La maggior parte dei dispositivi Android utilizza GPT come schema di partizionamento?


9

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 mtdo 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 mtdsi 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/emmcnon 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?


Per quanto ne so, la maggior parte dei dispositivi Android utilizza GPT. Puoi verificarlo facilmente tramite fdisk -l /dev/block/mmcblk0. A proposito, questa discussione può essere utile: El Grande Partition Table Reference
Gokul NC

@GokulNC Ho visto quella discussione. È uno di quelli di cui stavo parlando. I dispositivi che utilizzano il sottosistema MTD, che sembrerebbe un numero decente di smartphone Android precedenti, tuttavia, non usano una tabella delle partizioni. In questi casi, potrebbe esserci un MBR archiviato nel primo settore / blocco di memoria interna se la ROM di avvio del SoC è progettata tenendo presente questo aspetto (il bootloader del primo stadio nei dispositivi basati su OMAP avvia 512 byte, ad esempio ).
Melab,

le tabelle delle partizioni devono essere nel primo settore? forse un SoC può avviarsi anche dall'ultimo settore, come la lettura del settore inverso?
jiggunjer,

Anche per quanto riguarda MTD vs eMMC: l'MTD è per l'archiviazione di tipo NAND non elaborata, quindi utilizza driver diversi rispetto alla NAND gestita come eMMC.
jiggunjer,

Risposte:


3

Se non sbaglio, GPT è piuttosto comune. È un formato piuttosto avanzato rispetto a MBR. Sul mio Kitkat hanno 36 partizioni. GPT ha funzionalità come la tabella delle partizioni di backup e il nome / flag, supporta dischi più grandi di MBR. (modifica: Android 6.0 introduce la possibilità di adottare supporti di archiviazione esterni che utilizzano GPT come formato di partizione predefinito.)

Il dispositivo potrebbe o potrebbe essere a conoscenza di GPT. In genere con MBR vengono utilizzati i primi 512 byte per la tabella delle partizioni. Quando utilizziamo GPT, non memorizza alcun dato sul 1 ° settore. Contrassegna invece come MBR protettivo. In modo che se il dispositivo in cerca di MBR si lamenta non c'è partizione.

Se sei interessato a un documento approfondito:


Caro Downvoter: ragione?
lakshmipathi,

Il secondo paragrafo contiene diversi errori.
iBug

Puoi indicare l'errore esatto?
lakshmipathi,

Sembra che mi sia sbagliato (1 anno fa). Mi sembra ragionevole ora.
iBug
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.