[oe-commits] Alexandre Belloni : wic: add GPT support

git at git.openembedded.org git at git.openembedded.org
Sat Feb 14 08:41:56 UTC 2015


Module: openembedded-core.git
Branch: master
Commit: a3479ab45d89273b4474ca54517554fc5346da32
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=a3479ab45d89273b4474ca54517554fc5346da32

Author: Alexandre Belloni <alexandre.belloni at free-electrons.com>
Date:   Tue Feb 10 00:46:44 2015 +0100

wic: add GPT support

Add GPT partition table support.

Signed-off-by: Alexandre Belloni <alexandre.belloni at free-electrons.com>
Signed-off-by: Ross Burton <ross.burton at intel.com>

---

 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 87d2929..162f8e1 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
 



More information about the Openembedded-commits mailing list