IoT Gerätelayout
Wenn Sie ein IoT Core-Unterstützungspaket (BSP) ändern, können Sie die Laufwerkpartitionen und das Layout ändern, indem Sie die DeviceLayout-Dateien ändern.
Partitionslayout
IoT Core unterstützt UEFI (GPT) und legacy BIOS (MBR) Partitionslayouts. Die meisten IoT Core-Geräte verwenden UEFI- und GPT-Stil-Partitionen, obwohl Raspberry Pi 2 MBR-Formatpartitionen verwendet. Weitere Informationen zu UEFI finden Sie unter "Start" und "UEFI" und " Häufig gestellte Fragen zu Windows und GPT".
Beispielpartitionslayouts, die in den ADK-Add-Ons enthalten sind:
- \iot-adk-addonkit\Common\Packages\DeviceLayout.GPT4GB\devicelayout.xml
- \iot-adk-addonkit\Common\Packages\DeviceLayout.GPT4GB-R\devicelayout.xml
- \iot-adk-addonkit\Common\Packages\DeviceLayout.MBR4GB\devicelayout.xml
- \iot-adk-addonkit\Common\Packages\DeviceLayout.MBR4GB-R\devicelayout.xml
Diese Dateien verwenden drei Komponentendateien:
- DeviceLayout.< Name>.pkg.xml: Paketdatei, erstellt Pakete für DeviceLayout und OEMDevicePlatform.xml.
- DeviceLayout.xml: Gibt das Gerätepartitionslayout an
- OEMDevicePlatform.xml: Gibt die Menge an freien Blöcken an, die im Gerät verfügbar sind und welche Partitionen komprimiert werden.
Partitionslayout (DeviceLayout.xml)
IoT Core erfordert 3 obligatorische Partitionen (EFIESP, MainOS und Data). Sie können optional andere Partitionen einschließen, z. B. eine CrashDump-Partition. Größen werden in Sektoren berechnet, der Standardsektor beträgt 512 Bytes.
Unterstützte Eigenschaften:
EFI: Feste Partition mit dem Start-Manager, Startkonfigurationsdatenbank. Diese Partition ist für beide MBR/GPT-Stilgeräte erforderlich.
Name:
EFIESP
Typ: Für MBR verwenden Sie
0x0C
. Verwenden Sie für GPT{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}
FileSystem:
FAT
TotalSectors:
65536
(= 32MB)Bootable:
true
RequiredToFlash:
true
MainOS: Betriebssystem- und OEM-vorinstallierte Apps. Diese Partition erfordert eine Mindestanzahl von freien Sektoren (MinFreeSectors) für normale Vorgänge.
Name:
MainOS
Typ: Für MBR verwenden Sie
0x07
. Verwenden Sie für GPT{ebd0a0a2-b9e5-4433-87c0-68b6b72699c7}
FileSystem:
NTFS
MinFreeSectors:
1048576
(= 512MB)ByteAlignment:
0x800000
ClusterSize:
0x1000
(Diese Größe wird empfohlen, die Partitionsgröße zu verwalten.)
Daten: Benutzerdatenpartition, Benutzerregistrierungsstruktur, Apps, Apps, Apps-Daten. Diese Partition wird in der Regel so festgelegt, dass der Rest des Speicherplatzes auf dem Gerät verwendet wird. (UseAllSpace: True)
Name:
Data
Typ: Für MBR verwenden Sie
0x07
. Verwenden Sie für GPT{ebd0a0a2-b9e5-4433-87c0-68b6b72699c7}
FileSystem:
NTFS
UseAllSpace:
true
ByteAlignment:
0x800000
ClusterSize:
0x4000
(Diese Partition ist tendenziell größer, daher wird 0x4000 empfohlen. 0x1000 ist auch OK.)
Absturzabbildpartition: Optionale Partition, die zum Sammeln von Daten aus Absturzabbilds verwendet wird. Bei Verwendung wird die Größe in Gesamtsektoren angegeben.
Name:
CrashDump
Typ: Für MBR verwenden Sie
0x07
. Verwenden Sie für GPT{ebd0a0a2-b9e5-4433-87c0-68b6b72699c7}
FileSystem:
FAT32
TotalSectors:
1228800
(= 600 MB)
Pflichtfelder
Diese Felder sind erforderlich, die folgenden Werte werden für IoTCore unterstützt:
Version:
IoTUAP
SectorSize:
512
ChunkSize:
128
DefaultPartitionByteAlignment:
0x200000
Größenschätzungen für Speichergrößen
Die folgenden Diagramme bieten einen Überblick über zwei Konfigurationen.
2GB-Konfiguration (2048MB, in der Regel verfügt über 1843 MB für den Speicher)
Partition | Inhalte | MB | Sektoren | Bemerkungen |
---|---|---|---|---|
EFIESP | EFIESP | 32 | 65536 | EFIESP-Größe |
Hauptbetriebssystem | Hauptbetriebssystem | 800 | 1638400 | MainOS (Schätzung) |
Hauptbetriebssystem | Freier Speicherplatz | 128 | 262144 | MainOS Headroom |
Daten | Daten | 883 | 1808384 | Erweitert, um freien Speicherplatz zu füllen |
GESAMT | 1843 | 3774464 |
4GB-Konfiguration: (4096 MB, in der Regel 3600 MB verfügbar für den Speicher)
Partition | Inhalte | MB | Sektoren | Bemerkungen |
---|---|---|---|---|
EFIESP | EFIESP | 32 | 65536 | EFIESP-Größe |
Hauptbetriebssystem | Hauptbetriebssystem | 800 | 1638400 | MainOS (Schätzung) |
Hauptbetriebssystem | Freier Speicherplatz | 512 | 1048576 | MainOS Headroom |
CrashDump | Crash Dump | 600 | 1228800 | CrashDump-Größe |
Daten | Daten | 1656 | 3391488 | Erweitert, um freien Speicherplatz zu füllen |
GESAMT | 3600 | 7372800 |
Geräteplattformlayout (OEMDevicePlatform.xml)
OEMDevicePlatform.xml gibt die Menge an freien Blöcken an, die im Gerät verfügbar sind und welche Partitionen komprimiert werden. Beispiel:
<?xml version="1.0" encoding="utf-8"?>
<OEMDevicePlatform xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.microsoft.com/embedded/2004/10/ImageUpdate">
<MinSectorCount>7372800</MinSectorCount>
<DevicePlatformIDs>
<ID>*</ID>
</DevicePlatformIDs>
<CompressedPartitions>
<Name>MainOS</Name>
</CompressedPartitions>
</OEMDevicePlatform>