From 179fb20603b31708226649c860d60dc6fa427b11 Mon Sep 17 00:00:00 2001 From: Ed Bartosh Date: Tue, 2 Jun 2015 17:02:02 +0300 Subject: wic: Use gptmbr.bin MBR for gpt partitions Used proper syslinux MBR gptmbr.bin for GPT partitons. Added check for unsupported partition formats. (From OE-Core rev: 6174983e20bd24422e5cee57e78dce9c92cb3c15) Signed-off-by: Ed Bartosh Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- scripts/lib/wic/plugins/source/bootimg-pcbios.py | 4 ++++ scripts/lib/wic/plugins/source/rootfs_pcbios_ext.py | 10 +++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'scripts/lib') diff --git a/scripts/lib/wic/plugins/source/bootimg-pcbios.py b/scripts/lib/wic/plugins/source/bootimg-pcbios.py index c28b9af036..ab62b7a9e9 100644 --- a/scripts/lib/wic/plugins/source/bootimg-pcbios.py +++ b/scripts/lib/wic/plugins/source/bootimg-pcbios.py @@ -46,6 +46,10 @@ class BootimgPcbiosPlugin(SourcePlugin): mbrfile = "%s/syslinux/" % bootimg_dir if cr._ptable_format == 'msdos': mbrfile += "mbr.bin" + elif cr._ptable_format == 'gpt': + mbrfile += "gptmbr.bin" + else: + msger.error("Unsupported partition table: %s" % cr._ptable_format) if not os.path.exists(mbrfile): msger.error("Couldn't find %s. If using the -e option, do you have the right MACHINE set in local.conf? If not, is the bootimg_dir path correct?" % mbrfile) diff --git a/scripts/lib/wic/plugins/source/rootfs_pcbios_ext.py b/scripts/lib/wic/plugins/source/rootfs_pcbios_ext.py index 29c873dc7b..cdd7c84c12 100644 --- a/scripts/lib/wic/plugins/source/rootfs_pcbios_ext.py +++ b/scripts/lib/wic/plugins/source/rootfs_pcbios_ext.py @@ -169,7 +169,15 @@ class RootfsPlugin(SourcePlugin): Called after all partitions have been prepared and assembled into a disk image. In this case, we install the MBR. """ - mbrfile = os.path.join(native_sysroot, "usr/share/syslinux/mbr.bin") + mbrfile = os.path.join(native_sysroot, "usr/share/syslinux/") + if image_creator._ptable_format == 'msdos': + mbrfile += "mbr.bin" + elif image_creator._ptable_format == 'gpt': + mbrfile += "gptmbr.bin" + else: + msger.error("Unsupported partition table: %s" % \ + image_creator._ptable_format) + if not os.path.exists(mbrfile): msger.error("Couldn't find %s. Has syslinux-native been baked?" % mbrfile) -- cgit v1.2.3-54-g00ecf