Compartilhar via


Layout do dispositivo IoT

Ao modificar um pacote de suporte de quadro (BSP) do IoT Core, você pode alterar as partições e o layout da unidade modificando os arquivos DeviceLayout.

Layout de partição

O IoT Core dá suporte a layouts de partição UEFI (GPT) e BIOS herdado (MBR). A maioria dos dispositivos do IoT Core usa partições no estilo UEFI e GPT, embora o Raspberry Pi 2 use partições no estilo MBR. Para saber mais sobre UEFI, leia Inicialização e UEFI e as Perguntas frequentes sobre Windows e GPT.

Layouts de partição de exemplo incluídos nos Complementos do 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

Esses arquivos usam três arquivos de componente:

  • DeviceLayout.<Name>.pkg.xml: arquivo de pacote, cria pacotes para DeviceLayout e OEMDevicePlatform.xml.
  • DeviceLayout.xml: especifica o layout de partição do dispositivo
  • OEMDevicePlatform.xml: especifica a quantidade de blocos livres disponíveis no dispositivo e quais partições são compactadas.

Layout de partição (DeviceLayout.xml)

O IoT Core requer três partições obrigatórias (EFIESP, MainOS e Dados). Opcionalmente, você pode incluir outras partições, como, por exemplo, uma partição CrashDump. Os tamanhos são calculados em setores, o setor padrão é de 512 bytes.

Propriedades com suporte:

EFI: partição de tamanho fixo com o gerenciador de inicialização, banco de dados de configuração de inicialização. Essa partição é necessária para ambos os dispositivos no estilo MBR/GPT.

  • Nome: EFIESP

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

  • FileSystem: FAT

  • TotalSectors: 65536 (= 32 MB)

  • Inicializável: true

  • RequiredToFlash: true

MainOS: aplicativos pré-carregados do sistema operacional e OEM. Essa partição requer um número mínimo de setores livres (MinFreeSectors) para operações normais.

  • Nome: MainOS

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

  • FileSystem: NTFS

  • MinFreeSectors: 1048576 (= 512MB)

  • ByteAlignment: 0x800000

  • ClusterSize: 0x1000 (Este tamanho é recomendado para manter o tamanho da partição gerenciável.)

Dados: partição de dados do usuário, hives do registro de usuário, aplicativos, dados de aplicativos. Normalmente, essa partição é definida para usar o restante do espaço de armazenamento no dispositivo. (UseAllSpace: True)

  • Nome: Data

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

  • FileSystem: NTFS

  • UseAllSpace: true

  • ByteAlignment: 0x800000

  • ClusterSize: 0x4000 (Esta partição tende a ser maior e, portanto, é recomendável 0x4000. 0x1000 também está OK.)

Partição de despejo de memória: partição opcional usada para coletar dados de despejos de memória. Quando usado, o tamanho é dado no total de setores.

  • Nome: CrashDump

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

  • FileSystem: FAT32

  • TotalSectors: 1228800 (= 600 MB)

Campos obrigatórios

Esses campos são necessários, os seguintes valores têm suporte para IoTCore:

  • Versão: IoTUAP

  • SectorSize: 512

  • ChunkSize: 128

  • DefaultPartitionByteAlignment: 0x200000

Estimativas de tamanho de armazenamento

Os diagramas a seguir fornecem uma visão geral de duas configurações.

Configuração de 2 GB (2048 MB, normalmente tem 1843 MB para armazenamento)

layout de partição de 2 GB: EFIESP, MainOS e Dados. O MainOS inclui o Windows e o espaço livre

Partição Sumário MB Setores Comentários
EFIESP EFIESP 32 65536 Tamanho do EFIESP
Main OS Main OS 800 1638400 MainOS (estimativa)
Main OS Espaço livre 128 262144 MainOS Headroom
Dados Dados 883 1808384 Expande para preencher o espaço livre
TOTAL 1843 3774464

Configuração de 4 GB: (4096 MB, normalmente tem 3600 MB disponíveis para armazenamento)

layout de partição de 4 GB: EFIESP, MainOS, CrashDump e Dados. O MainOS inclui o Windows e o espaço livre

Partição Sumário MB Setores Comentários
EFIESP EFIESP 32 65536 Tamanho do EFIESP
Main OS Main OS 800 1638400 MainOS (estimativa)
Main OS Espaço livre 512 1048576 MainOS Headroom
CrashDump Despejo de memória 600 1228800 Tamanho do CrashDump
Dados Dados 1656 3391488 Expande para preencher o espaço livre
TOTAL 3600 7372800

Layout da plataforma do dispositivo (OEMDevicePlatform.xml)

OEMDevicePlatform.xml: especifica a quantidade de blocos livres disponíveis no dispositivo e quais partições são compactadas. Exemplo:

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