[oe-commits] Darren Hart : wic: Force lba off for FAT16 partitions

git at git.openembedded.org git at git.openembedded.org
Wed Oct 16 12:18:43 UTC 2013


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

Author: Darren Hart <dvhart at linux.intel.com>
Date:   Tue Oct 15 14:46:23 2013 -0700

wic: Force lba off for FAT16 partitions

If fat16 is specified to the mkpart parted command, parted will
default to setting the lba flag which causes certain EFI firmware
to fail to detect the filesystem. lba shouldn't be necessary for
FAT16 filesystems anyway, explicitly disable it.

Signed-off-by: Darren Hart <dvhart at linux.intel.com>
Cc: Tom Zanussi <tom.zanussi at intel.com>
Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>

---

 scripts/lib/mic/utils/partitionedfs.py |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/scripts/lib/mic/utils/partitionedfs.py b/scripts/lib/mic/utils/partitionedfs.py
index e8cded2..59263ba 100644
--- a/scripts/lib/mic/utils/partitionedfs.py
+++ b/scripts/lib/mic/utils/partitionedfs.py
@@ -352,6 +352,16 @@ class PartitionedMount(Mount):
                 self.__run_parted(["-s", d['disk'].device, "set",
                                    "%d" % p['num'], flag_name, "on"])
 
+            # Parted defaults to enabling the lba flag for fat16 partitions,
+            # which causes compatibility issues with some firmware (and really
+            # isn't necessary).
+            if parted_fs_type == "fat16":
+                if d['ptable_format'] == 'msdos':
+                    msger.debug("Disable 'lba' flag for partition '%s' on disk '%s'" % \
+                                (p['num'], d['disk'].device))
+                    self.__run_parted(["-s", d['disk'].device, "set",
+                                       "%d" % p['num'], "lba", "off"])
+
         # If the partition table format is "gpt", find out PARTUUIDs for all
         # the partitions. And if users specified custom parition type UUIDs,
         # set them.



More information about the Openembedded-commits mailing list