From 30df3a1e7b08108692166f88b3de2d99fecf9a7d Mon Sep 17 00:00:00 2001 From: Darren Hart Date: Tue, 15 Oct 2013 14:46:23 -0700 Subject: 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. (From OE-Core master rev: 30442d432e203e655b7d40b93f7307f475de1614) (From OE-Core rev: e437cd5ccaa44798107a6aa5177b1b867c94dfc3) Signed-off-by: Darren Hart Cc: Tom Zanussi Signed-off-by: Richard Purdie Signed-off-by: Robert Yang Signed-off-by: Richard Purdie --- scripts/lib/mic/utils/partitionedfs.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'scripts') diff --git a/scripts/lib/mic/utils/partitionedfs.py b/scripts/lib/mic/utils/partitionedfs.py index e8cded26e0..59263ba1a5 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. -- cgit v1.2.3-54-g00ecf