Layout del dispositivo IoT
Quando si modifica un pacchetto di supporto della scheda IoT Core, è possibile modificare le partizioni e il layout delle unità modificando i file DeviceLayout.
Layout della partizione
IoT Core supporta layout di partizione UEFI (GPT) e BIOS (MBR) legacy. La maggior parte dei dispositivi IoT Core usa partizioni di tipo UEFI e GPT, anche se Raspberry Pi 2 usa partizioni in stile MBR. Per altre informazioni su UEFI, vedere Avvio e UEFI e domande frequenti su Windows e GPT.
Layout di partizione di esempio inclusi nei componenti aggiuntivi ADK:
- \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
Questi file usano tre file componente:
- DeviceLayout.<Name>.pkg.xml: file del pacchetto, crea pacchetti per DeviceLayout e OEMDevicePlatform.xml.
- DeviceLayout.xml: specifica il layout della partizione del dispositivo
- OEMDevicePlatform.xml: specifica la quantità di blocchi gratuiti disponibili nel dispositivo e quali partizioni vengono compresse.
Layout di partizione (DeviceLayout.xml)
IoT Core richiede 3 partizioni obbligatorie (EFIESP, MainOS e Dati). Facoltativamente, è possibile includere altre partizioni, ad esempio una partizione CrashDump. Le dimensioni vengono calcolate nei settori, il settore predefinito è 512 byte.
Proprietà supportate:
EFI: partizione a dimensione fissa con il gestore di avvio, il database di configurazione di avvio. Questa partizione è necessaria per entrambi i dispositivi in stile MBR/GPT.
Nome:
EFIESP
Tipo: per MBR, usare
0x0C
. Per GPT, usare{c12a7328-f81f-11d2-ba4b-00a0c93ec93b}
Filesystem:
FAT
TotalSectors:
65536
(= 32 MB)Avviabile:
true
RequiredToFlash:
true
MainOS: app precaricata dal sistema operativo e dall'OEM. Questa partizione richiede un numero minimo di settori liberi (MinFreeSectors) per le normali operazioni.
Nome:
MainOS
Tipo: per MBR, usare
0x07
. Per GPT, usare{ebd0a0a2-b9e5-4433-87c0-68b6b72699c7}
Filesystem:
NTFS
MinFreeSectors:
1048576
(= 512 MB)ByteAlignment:
0x800000
ClusterSize:
0x1000
questa dimensione è consigliata per mantenere gestibili le dimensioni della partizione.
Dati: partizione dei dati utente, hive del Registro di sistema utente, app, dati delle app. Questa partizione è in genere impostata per usare il resto dello spazio di archiviazione nel dispositivo. (UseAllSpace: True)
Nome:
Data
Tipo: per MBR, usare
0x07
. Per GPT, usare{ebd0a0a2-b9e5-4433-87c0-68b6b72699c7}
Filesystem:
NTFS
UseAllSpace:
true
ByteAlignment:
0x800000
ClusterSize:
0x4000
questa partizione tende a essere più grande, pertanto è consigliabile 0x4000. 0x1000 è anche OK.
Partizione dump di arresto anomalo del sistema: partizione facoltativa, usata per raccogliere i dati dai dump di arresto anomalo del sistema. Se utilizzata, le dimensioni vengono specificate nei settori totali.
Nome:
CrashDump
Tipo: per MBR, usare
0x07
. Per GPT, usare{ebd0a0a2-b9e5-4433-87c0-68b6b72699c7}
Filesystem:
FAT32
TotalSectors:
1228800
(= 600 MB)
Required fields
Questi campi sono obbligatori, i valori seguenti sono supportati per IoTCore:
Versione:
IoTUAP
SectorSize:
512
ChunkSize:
128
DefaultPartitionByteAlignment:
0x200000
Stime delle dimensioni di archiviazione
I diagrammi seguenti offrono una panoramica di due configurazioni.
Configurazione da 2 GB (2048 MB, in genere ha 1843 MB per l'archiviazione)
Partition | Contenuto | MB | Settori | Commenti |
---|---|---|---|---|
EFIESP | EFIESP | 32 | 65536 | Dimensioni EFIESP |
Sistema operativo principale | Sistema operativo principale | 800 | 1638400 | MainOS (stima) |
Sistema operativo principale | Spazio libero | 128 | 262144 | MainOS Headroom |
Dati | Dati | 883 | 1808384 | Espande per riempire lo spazio disponibile |
TOTALE | 1843 | 3774464 |
Configurazione da 4 GB: (4096 MB, in genere ha 3600 MB disponibili per l'archiviazione)
Partition | Contenuto | MB | Settori | Commenti |
---|---|---|---|---|
EFIESP | EFIESP | 32 | 65536 | Dimensioni EFIESP |
Sistema operativo principale | Sistema operativo principale | 800 | 1638400 | MainOS (stima) |
Sistema operativo principale | Spazio libero | 512 | 1048576 | MainOS Headroom |
CrashDump | Dump di arresto anomalo | 600 | 1228800 | Dimensioni crashDump |
Dati | Dati | 1656 | 3391488 | Espande per riempire lo spazio libero |
TOTALE | 3600 | 7372800 |
Layout della piattaforma del dispositivo (OEMDevicePlatform.xml)
OEMDevicePlatform.xml specifica la quantità di blocchi gratuiti disponibili nel dispositivo e quali partizioni vengono compresse. Esempio:
<?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>