IoT デバイスのレイアウト
IoT Core ボード サポート パッケージ (BSP) に変更を加える場合は、DeviceLayout ファイルを変更することで、ドライブのパーティションとレイアウトを変更できます。
パーティションのレイアウト
IoT Core では、UEFI (GPT) とレガシ BIOS (MBR) のパーティション レイアウトがサポートされています。 ほとんどの IoT Core デバイスでは UEFI と GPT スタイルのパーティションが使用されますが、Raspberry Pi 2 では MBR スタイルのパーティションが使用されます。 UEFI について詳しくは、「ブートおよび UEFI」および「Windows と GPT のよくあるご質問」をご覧ください。
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
これらのファイルでは、次の 3 つのコンポーネント ファイルが使用されます。
- 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 の事前読み込み済みアプリです。 このパーティションには、通常の操作用に最小限の数の空きセクター (MinFreeSector) が必要です。
名前:
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)
必須フィールド
次のフィールドは必須です。IoTCore では次の値がサポートされています。
バージョン:
IoTUAP
SectorSize:
512
ChunkSize:
128
DefaultPartitionByteAlignment:
0x200000
ストレージ サイズの見積もり
次の図は、2 つの構成の概要を示したものです。
2GB 構成 (2048MB。通常は 1843MB のストレージになります)
Partition | 内容 | MB | セクター数 | 注釈 |
---|---|---|---|---|
EFIESP | EFIESP | 32 | 65536 | EFIESP のサイズ |
メイン OS | メイン OS | 800 | 1638400 | MainOS (見積もり) |
メイン OS | 空き領域 | 128 | 262144 | MainOS ヘッドルーム |
データ | データ | 883 | 1808384 | 空き領域を埋めるために拡張されます |
合計 | 1843 | 3774464 |
4GB 構成: (4096MB。通常は 3600MB をストレージに利用できます)
Partition | 内容 | MB | セクター数 | 注釈 |
---|---|---|---|---|
EFIESP | EFIESP | 32 | 65536 | EFIESP のサイズ |
メイン OS | メイン OS | 800 | 1638400 | MainOS (見積もり) |
メイン OS | 空き領域 | 512 | 1048576 | MainOS ヘッドルーム |
CrashDump | クラッシュ ダンプ | 600 | 1228800 | クラッシュ ダンプのサイズ |
データ | データ | 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>