Compartir a través de


Diseño de dispositivos IoT

Al modificar un paquete de compatibilidad de placa de IoT Core (BSP), puede cambiar las particiones de unidad y el diseño modificando los archivos DeviceLayout.

Diseño de partición

IoT Core admite los diseños de partición UEFI (GPT) y BIOS (MBR) heredados. La mayoría de los dispositivos IoT Core usan particiones de estilo UEFI y GPT, aunque Raspberry Pi 2 usa particiones de estilo MBR. Para más información sobre UEFI, lea Arranque y UEFI y las Preguntas más frecuentes sobre Windows y GPT.

Diseños de partición de ejemplo incluidos en los complementos de 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

Estos archivos usan tres archivos de componentes:

  • DeviceLayout.<Name>.pkg.xml: archivo de paquete, crea paquetes para DeviceLayout y OEMDevicePlatform.xml.
  • DeviceLayout.xml: especifica el diseño de la partición del dispositivo.
  • OEMDevicePlatform.xml: especifica la cantidad de bloques libres disponibles en el dispositivo y qué particiones se comprimen.

Diseño de partición (DeviceLayout.xml)

IoT Core requiere 3 particiones obligatorias (EFIESP, MainOS y Datos). Opcionalmente, puede incluir otras particiones, por ejemplo, una CrashDump. Los tamaños se calculan en sectores, el sector predeterminado es de 512 bytes.

Propiedades admitidas:

EFI: partición de tamaño fijo con el administrador de arranque, base de datos de configuración de arranque. Esta partición es necesaria para ambos dispositivos de estilo MBR/GPT.

  • Nombre: EFIESP

  • Tipo: para MBR, use 0x0C. Para GPT, use {c12a7328-f81f-11d2-ba4b-00a0c93ec93b}.

  • FileSystem: FAT

  • TotalSectors: 65536 (= 32 MB)

  • Bootable: true

  • RequiredToFlash: true

MainOS: aplicaciones precargadas del sistema operativo y OEM. Esta partición requiere un número mínimo de sectores libres (MinFreeSectors) para las operaciones normales.

  • Nombre: MainOS

  • Tipo: para MBR, use 0x07. Para GPT, use {ebd0a0a2-b9e5-4433-87c0-68b6b72699c7}.

  • FileSystem: NTFS

  • MinFreeSectors: 1048576 (= 512 MB)

  • ByteAlignment: 0x800000

  • ClusterSize: 0x1000 (se recomienda este tamaño para mantener el tamaño de partición administrable).

Data: partición de datos de usuario, subárboles del registro de usuario, aplicaciones, datos de aplicaciones. Esta partición se establece normalmente para usar el resto del espacio de almacenamiento en el dispositivo. (UseAllSpace: True)

  • Nombre: Data

  • Tipo: para MBR, use 0x07. Para GPT, use {ebd0a0a2-b9e5-4433-87c0-68b6b72699c7}.

  • FileSystem: NTFS

  • UseAllSpace: true

  • ByteAlignment: 0x800000

  • ClusterSize: 0x4000 (esta partición tiende a ser mayor, por lo que se recomienda 0x4000. 0x1000 también es correcto).

Partición de volcado de memoria: partición opcional, que se usa para recopilar datos de volcado de memoria. Cuando se usa, el tamaño se asigna en el total de sectores.

  • Nombre: CrashDump

  • Tipo: para MBR, use 0x07. Para GPT, use {ebd0a0a2-b9e5-4433-87c0-68b6b72699c7}.

  • FileSystem: FAT32

  • TotalSectors: 1228800 (= 600 MB)

Campos obligatorios

Estos campos son obligatorios, se admiten los siguientes valores para IoTCore:

  • Versión: IoTUAP

  • SectorSize: 512

  • ChunkSize: 128

  • DefaultPartitionByteAlignment: 0x200000

Estimaciones de tamaño de almacenamiento

En los diagramas siguientes se proporciona información general sobre dos configuraciones.

Configuración de 2 GB (2048 MB, normalmente tiene 1843 MB para almacenamiento)

Diseño de partición de 2 GB: EFIESP, MainOS y Data. MainOS incluye Windows y espacio libre

Partition Contenido MB Sectores Comentarios
EFIESP EFIESP 32 65536 Tamaño de EFIESP
Sistema operativo principal Sistema operativo principal 800 1638400 MainOS (calculado)
Sistema operativo principal Espacio libre 128 262 144 MainOS Headroom
Datos Datos 883 1808384 Se expande para rellenar el espacio libre
TOTAL 1843 3774464

Configuración de 4 GB: (4096 MB, normalmente tiene 3600 MB disponibles para almacenamiento)

Diseño de partición de 4 GB: EFIESP, MainOS, CrashDump y Data. MainOS incluye Windows y espacio libre

Partition Contenido MB Sectores Comentarios
EFIESP EFIESP 32 65536 Tamaño de EFIESP
Sistema operativo principal Sistema operativo principal 800 1638400 MainOS (calculado)
Sistema operativo principal Espacio libre 512 1 048 576 MainOS Headroom
CrashDump Volcado de memoria 600 1228800 Tamaño de CrashDump
Datos Datos 1656 3391488 Se expande para rellenar el espacio libre
TOTAL 3600 7372800

Diseño de la plataforma de dispositivo (OEMDevicePlatform.xml)

OEMDevicePlatform.xml especifica la cantidad de bloques libres disponibles en el dispositivo y qué particiones se comprimen. Ejemplo:

   <?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>