diff options
author | Ed Bartosh <ed.bartosh@linux.intel.com> | 2015-06-05 10:17:11 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-06-11 23:55:39 +0100 |
commit | 4a303007149ea1205bbd454e70810e7dfa343d4c (patch) | |
tree | 90b03fdfcbfcd53e8c64d09692ab8767a9aad2fe | |
parent | 2cae0473971ff3983c7e423c23215b342c7dad1d (diff) | |
download | openembedded-core-4a303007149ea1205bbd454e70810e7dfa343d4c.tar.gz openembedded-core-4a303007149ea1205bbd454e70810e7dfa343d4c.tar.bz2 openembedded-core-4a303007149ea1205bbd454e70810e7dfa343d4c.zip |
wic: Refactored getting root device name
Replaced DirectImageCreator._get_boot_config private method
with a 'rootdev' property.
Simplified the code and API.
Used 'uuid' property instead of incorrectly used 'part_type'.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
-rw-r--r-- | scripts/lib/wic/imager/direct.py | 28 | ||||
-rw-r--r-- | scripts/lib/wic/plugins/source/bootimg-efi.py | 6 | ||||
-rw-r--r-- | scripts/lib/wic/plugins/source/bootimg-pcbios.py | 3 | ||||
-rw-r--r-- | scripts/lib/wic/plugins/source/rootfs_pcbios_ext.py | 3 |
4 files changed, 16 insertions, 24 deletions
diff --git a/scripts/lib/wic/imager/direct.py b/scripts/lib/wic/imager/direct.py index 83f9688878..36150c9ad3 100644 --- a/scripts/lib/wic/imager/direct.py +++ b/scripts/lib/wic/imager/direct.py @@ -346,27 +346,23 @@ class DirectImageCreator(BaseImageCreator): msger.info(msg) - def _get_boot_config(self): + @property + def rootdev(self): """ - Return the rootdev/root_part_uuid (if specified by - --part-type) + Get root device name to use as a 'root' parameter + in kernel command line. Assume partition order same as in wks """ - rootdev = None - root_part_uuid = None parts = self._get_parts() - for num, p in enumerate(parts, 1): - if p.mountpoint == "/": - part = '' - if p.disk.startswith('mmcblk'): - part = 'p' - - pnum = self.__get_part_num(num, parts) - rootdev = "/dev/%s%s%-d" % (p.disk, part, pnum) - root_part_uuid = p.part_type - - return (rootdev, root_part_uuid) + for num, part in enumerate(parts, 1): + if part.mountpoint == "/": + if part.uuid: + return "PARTUUID=%s" % part.uuid + else: + suffix = 'p' if part.disk.startswith('mmcblk') else '' + pnum = self.__get_part_num(num, parts) + return "/dev/%s%s%-d" % (part.disk, suffix, pnum) def _cleanup(self): if not self.__image is None: diff --git a/scripts/lib/wic/plugins/source/bootimg-efi.py b/scripts/lib/wic/plugins/source/bootimg-efi.py index 400e3a2df8..39ce9f375e 100644 --- a/scripts/lib/wic/plugins/source/bootimg-efi.py +++ b/scripts/lib/wic/plugins/source/bootimg-efi.py @@ -47,7 +47,6 @@ class BootimgEFIPlugin(SourcePlugin): else: splashline = "" - (rootdev, root_part_uuid) = cr._get_boot_config() options = cr.ks.handler.bootloader.appendLine grubefi_conf = "" @@ -62,7 +61,7 @@ class BootimgEFIPlugin(SourcePlugin): kernel = "/bzImage" if cr.ptable_format in ('msdos', 'gpt'): - rootstr = rootdev + rootstr = cr.rootdev else: raise ImageError("Unsupported partition table format found") @@ -87,7 +86,6 @@ class BootimgEFIPlugin(SourcePlugin): install_cmd = "install -d %s/loader/entries" % hdddir exec_cmd(install_cmd) - (rootdev, root_part_uuid) = cr._get_boot_config() options = cr.ks.handler.bootloader.appendLine timeout = kickstart.get_timeout(cr.ks) @@ -107,7 +105,7 @@ class BootimgEFIPlugin(SourcePlugin): kernel = "/bzImage" if cr.ptable_format in ('msdos', 'gpt'): - rootstr = rootdev + rootstr = cr.rootdev else: raise ImageError("Unsupported partition table format found") diff --git a/scripts/lib/wic/plugins/source/bootimg-pcbios.py b/scripts/lib/wic/plugins/source/bootimg-pcbios.py index 1c3c6e605c..dd49480141 100644 --- a/scripts/lib/wic/plugins/source/bootimg-pcbios.py +++ b/scripts/lib/wic/plugins/source/bootimg-pcbios.py @@ -83,7 +83,6 @@ class BootimgPcbiosPlugin(SourcePlugin): else: splashline = "" - (rootdev, root_part_uuid) = cr._get_boot_config() options = cr.ks.handler.bootloader.appendLine syslinux_conf = "" @@ -105,7 +104,7 @@ class BootimgPcbiosPlugin(SourcePlugin): syslinux_conf += "KERNEL " + kernel + "\n" if cr.ptable_format in ('msdos', 'gpt'): - rootstr = rootdev + rootstr = cr.rootdev else: raise ImageError("Unsupported partition table format found") diff --git a/scripts/lib/wic/plugins/source/rootfs_pcbios_ext.py b/scripts/lib/wic/plugins/source/rootfs_pcbios_ext.py index 50b221382c..90dac05dca 100644 --- a/scripts/lib/wic/plugins/source/rootfs_pcbios_ext.py +++ b/scripts/lib/wic/plugins/source/rootfs_pcbios_ext.py @@ -82,7 +82,6 @@ class RootfsPlugin(SourcePlugin): Called before do_prepare_partition() """ - rootdev = image_creator._get_boot_config()[0] options = image_creator.ks.handler.bootloader.appendLine syslinux_conf = "" @@ -102,7 +101,7 @@ class RootfsPlugin(SourcePlugin): syslinux_conf += " KERNEL /boot/bzImage\n" if image_creator.ptable_format in ('msdos', 'gpt'): - rootstr = rootdev + rootstr = image_creator.rootdev else: raise ImageError("Unsupported partition table format found") |