From a3479ab45d89273b4474ca54517554fc5346da32 Mon Sep 17 00:00:00 2001 From: Alexandre Belloni Date: Tue, 10 Feb 2015 00:46:44 +0100 Subject: wic: add GPT support Add GPT partition table support. Signed-off-by: Alexandre Belloni Signed-off-by: Ross Burton --- scripts/lib/wic/utils/partitionedfs.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/lib/wic/utils/partitionedfs.py b/scripts/lib/wic/utils/partitionedfs.py index 87d2929f6c..162f8e1b9c 100644 --- a/scripts/lib/wic/utils/partitionedfs.py +++ b/scripts/lib/wic/utils/partitionedfs.py @@ -29,6 +29,9 @@ from wic.utils.oe.misc import * # Overhead of the MBR partitioning scheme (just one sector) MBR_OVERHEAD = 1 +# Overhead of the GPT partitioning scheme +GPT_OVERHEAD = 34 + # Size of a sector in bytes SECTOR_SIZE = 512 @@ -122,7 +125,7 @@ class Image: msger.debug("Assigning %s partitions to disks" % ptable_format) - if ptable_format not in ('msdos'): + if ptable_format not in ('msdos', 'gpt'): raise ImageError("Unknown partition table format '%s', supported " \ "formats are: 'msdos'" % ptable_format) @@ -156,6 +159,8 @@ class Image: if d['numpart'] == 1: if ptable_format == "msdos": overhead = MBR_OVERHEAD + elif ptable_format == "gpt": + overhead = GPT_OVERHEAD # Skip one sector required for the partitioning scheme overhead d['offset'] += overhead @@ -214,6 +219,8 @@ class Image: # minumim disk sizes. for disk_name, d in self.disks.items(): d['min_size'] = d['offset'] + if d['ptable_format'] == "gpt": + d['min_size'] += GPT_OVERHEAD d['min_size'] *= self.sector_size -- cgit 1.2.3-korg