다음을 통해 공유


IoT 디바이스 레이아웃

IoT Core BSP(보드 지원 패키지)를 수정할 때 DeviceLayout 파일을 수정하여 드라이브 파티션 및 레이아웃을 변경할 수 있습니다.

파티션 레이아웃

IoT Core는 UEFI(GPT) 및 레거시 BIOS(MBR) 파티션 레이아웃을 지원합니다. Raspberry Pi 2는 MBR 스타일 파티션을 사용하지만 대부분의 IoT Core 디바이스는 UEFI 및 GPT 스타일 파티션을 사용합니다. UEFI에 대해 자세히 알아보려면 부팅 및 UEFIWindows 및 GPT FAQ를 참조하세요.

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

이러한 파일은 세 가지 구성 요소 파일을 사용합니다.

  • DeviceLayout.<Name>.pkg.xml: 패키지 파일로, DeviceLayout 및 OEMDevicePlatform.xml의 패키지를 만듭니다.
  • DeviceLayout.xml: 디바이스 파티션 레이아웃을 지정합니다.
  • OEMDevicePlatform.xml: 디바이스에서 사용할 수 있는 여유 블록의 양과 압축할 파티션을 지정합니다.

파티션 레이아웃(DeviceLayout.xml)

IoT Core에는 3개의 필수 파티션(EFIESP, MainOS 및 Data)이 필요합니다. 필요에 따라 CrashDump 파티션과 같은 다른 파티션을 포함할 수 있습니다. 크기는 섹터 단위로 계산되고 기본 섹터는 512바이트입니다.

지원되는 속성:

EFI: 부팅 관리자, 부팅 구성 데이터베이스를 사용하는 고정 크기 파티션입니다. 이 파티션은 MBR/GPT 스타일의 디바이스 모두에 필요합니다.

  • 이름: EFIESP

  • Type: MBR의 경우 0x0C를 사용합니다. GPT의 경우 {c12a7328-f81f-11d2-ba4b-00a0c93ec93b}를 사용합니다.

  • FileSystem: FAT

  • TotalSectors: 65536 (= 32MB)

  • Bootable: true

  • RequiredToFlash: true

MainOS: OS 및 OEM에서 미리 로드한 앱. 이 파티션이 정상적으로 작동하려면 최소 개수의 여유 섹터(MinFreeSectors)가 필요합니다.

  • 이름: MainOS

  • Type: MBR의 경우 0x07를 사용합니다. GPT의 경우 {ebd0a0a2-b9e5-4433-87c0-68b6b72699c7}를 사용합니다.

  • FileSystem: NTFS

  • MinFreeSectors: 1048576 (= 512MB)

  • ByteAlignment: 0x800000

  • ClusterSize: 0x1000(파티션 크기를 관리할 수 있도록 이 크기를 사용하는 것이 좋습니다.)

Data: 사용자 데이터 파티션, 사용자 레지스트리 하이브, 앱, 앱 데이터. 이 파티션은 일반적으로 디바이스의 나머지 저장소 공간을 사용하도록 설정됩니다. (UseAllSpace: True)

  • 이름: Data

  • Type: MBR의 경우 0x07를 사용합니다. GPT의 경우 {ebd0a0a2-b9e5-4433-87c0-68b6b72699c7}를 사용합니다.

  • FileSystem: NTFS

  • UseAllSpace: true

  • ByteAlignment: 0x800000

  • ClusterSize: 0x4000(이 파티션은 더 큰 경향이 있으므로 0x4000이 권장됩니다. 0x1000도 괜찮습니다.)

크래시 덤프 파티션: 크래시 덤프에서 데이터를 수집하는 데 사용되는 선택적 파티션입니다. 사용할 경우 총 섹터에 크기가 지정됩니다.

  • 이름: CrashDump

  • Type: MBR의 경우 0x07를 사용합니다. GPT의 경우 {ebd0a0a2-b9e5-4433-87c0-68b6b72699c7}를 사용합니다.

  • FileSystem: FAT32

  • TotalSectors: 1228800 (= 600 MB)

Required fields

이러한 필드는 필수이며, IoTCore에는 다음 값이 지원됩니다.

  • Version: IoTUAP

  • SectorSize: 512

  • ChunkSize: 128

  • DefaultPartitionByteAlignment: 0x200000

스토리지 크기 추정치

다음 다이어그램에서는 두 가지 구성에 대한 개요를 제공합니다.

2GB 구성(2048MB, 일반적으로 스토리지용 1843MB 포함)

2GB 파티션 레이아웃: EFIESP, MainOS 및 Data. MainOS에는 Windows 및 여유 공간이 포함됩니다.

파티션 콘텐츠 MB 섹터 설명
EFIESP EFIESP 32 65536 EFIESP 크기
기본 OS 기본 OS 800 1638400 MainOS(추정치)
기본 OS 사용 가능한 공간 128 262144 MainOS 헤드룸
데이터 데이터 883 1808384 확장하여 여유 공간 채우기
합계 1843 3774464

4GB 구성:(4096MB, 일반적으로 스토리지에 3600MB 사용 가능)

4GB 파티션 레이아웃: EFIESP, MainOS, CrashDump 및 Data. MainOS에는 Windows 및 여유 공간이 포함됩니다.

파티션 콘텐츠 MB 섹터 설명
EFIESP EFIESP 32 65536 EFIESP 크기
기본 OS 기본 OS 800 1638400 MainOS(추정치)
기본 OS 사용 가능한 공간 512 1048576 MainOS 헤드룸
CrashDump 크래시 덤프 600 1228800 CrashDump 크기
데이터 데이터 1656 3391488 확장하여 여유 공간 채우기
합계 3600 7372800

디바이스 플랫폼 레이아웃(OEMDevicePlatform.xml)

OEMDevicePlatform.xml은 디바이스에서 사용할 수 있는 여유 블록의 양과 압축할 파티션을 지정합니다. 예제:

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