Es wird viel über Android-Partitionen gesprochen, die bei Google zu finden sind. Manchmal finde ich Verweise auf GPT in der Dokumentation für mobile Prozessoren oder auf XDA-Entwicklern (wo ich erfahren habe, dass bestimmte Geräte GPT als Schema verwenden). Abgesehen davon gibt es nicht viele Diskussionen darüber, was Android-Geräte zum Speichern von Partitionsinformationen verwenden. Es gibt Ausnahmen: Ich weiß, dass einige Geräte die befehlszeilenbasierte Methode des MTD-Subsystems verwenden, wie einige frühere Geräte von HTC, und ich weiß, dass Qualcomm-Geräte anscheinend eine GUID-Partitionstabelle verwenden.
Wenn die Partitionen eines Geräts durch Geräteknoten dargestellt werden, die mit mtd
oder beginnen mtdblock
, erhält Linux die Partitionsinformationen von den Startargumenten. Wenn die Partitionen durch Geräteknoten dargestellt werden, die mit beginnen mmcblk
, ist das Partitionsschema nicht eindeutig. Es könnte eine GUID-Partitionstabelle verwendet werden, aber das Problem ist, dass die Tabelle im ersten Sektor beginnen muss, in dem sich meiner Erfahrung nach auch alle Bootloader der ersten Stufe befinden.
So wie Partitionsinformationen auf Geräten, mit deren Partitionsknoten beginnen , auf Geräten mtd
zu finden sind /proc/mtd
, mit denen die Geräteknoten beginnen mmcblk
, finden Sie dieselben Informationen (normalerweise) unter /proc/emmc
. Warum eMMC, eine Art Speichergerät, als Alternative zu MTD behandelt wird, einer Schnittstelle für den Zugriff auf Flash-Speicher, weiß ich nicht. Aber diese Seite auf GitHub scheint zu implizieren , dass die Partitionsinformationen für Geräte mit /proc/emmc
nicht einer Tabelle wie GPT gesammelt.
Dieselbe Seite scheint auch zu sagen, dass von U-Boot gebootete Kernel Partitionen auf eine andere Weise als MTD oder GPT verfügbar machen. Hier ist die 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.
Dieser Satz wird für mich durch das Stück über den sequentiellen Zugriff bedeutungslos. Vielleicht kann es jemand besser erklären.
Wie häufig ist das GPT auf Android-Geräten? Ich habe auf der Android-Entwickler-Website keinen Hinweis auf Partitionierung gesehen. Wenn Bootloader tatsächlich nach der Partitionstabelle gespeichert werden, bedeutet dies dann, dass die Chips GPT-fähig sind?
quelle
fdisk -l /dev/block/mmcblk0
. Übrigens kann dieser Thread hilfreich sein: El Grande Partition Table ReferenceAntworten:
Wenn ich mich nicht irre, ist GPT ziemlich häufig. Es ist ein ziemlich fortgeschrittenes Format als MBR. Auf meinem Kitkat haben sie 36 Partitionen. GPT verfügt über Funktionen wie Backup-Partitionstabelle und Benennung / Flag und unterstützt größere Festplatten als MBR. (Bearbeiten: Android 6.0 bietet die Möglichkeit , externe Speichermedien zu verwenden, die GPT als Standardpartitionsformat verwenden.)
Das Gerät kann GPT kennen oder kennen. In der Regel werden bei MBR die ersten 512 Bytes für die Partitionstabelle verwendet. Wenn wir GPT verwenden, werden keine Daten im 1. Sektor gespeichert. Markiert stattdessen als schützenden MBR. Wenn sich ein Gerät, das nach MBR sucht, beschwert, gibt es keine Partition.
Wenn Sie an einem ausführlichen Dokument interessiert sind:
quelle