masterimage.py: enable dynamical determination of rootfs type

YB: #6375

Adding support for get_image_fstype() in the MasterImageHardwareTarget and GummibootTarget classes.

(From OE-Core rev: 06ed50a2b8c311e56ac9f1c6f2145bc020d5d500)

Signed-off-by: Corneliu Stoicescu <corneliux.stoicescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Corneliu Stoicescu 2014-06-06 22:14:33 +03:00 committed by Richard Purdie
parent af38422017
commit 41d300067b
1 changed files with 6 additions and 3 deletions

View File

@ -28,6 +28,8 @@ class MasterImageHardwareTarget(oeqa.targetcontrol.BaseTarget):
__metaclass__ = ABCMeta __metaclass__ = ABCMeta
supported_image_fstypes = ['tar.gz', 'tar.bz2']
def __init__(self, d): def __init__(self, d):
super(MasterImageHardwareTarget, self).__init__(d) super(MasterImageHardwareTarget, self).__init__(d)
@ -48,7 +50,8 @@ class MasterImageHardwareTarget(oeqa.targetcontrol.BaseTarget):
bb.note("Server IP: %s" % self.server_ip) bb.note("Server IP: %s" % self.server_ip)
# test rootfs + kernel # test rootfs + kernel
self.rootfs = os.path.join(d.getVar("DEPLOY_DIR_IMAGE", True), d.getVar("IMAGE_LINK_NAME", True) + '.tar.gz') self.image_fstype = self.get_image_fstype(d)
self.rootfs = os.path.join(d.getVar("DEPLOY_DIR_IMAGE", True), d.getVar("IMAGE_LINK_NAME", True) + '.' + self.image_fstype)
self.kernel = os.path.join(d.getVar("DEPLOY_DIR_IMAGE", True), d.getVar("KERNEL_IMAGETYPE")) self.kernel = os.path.join(d.getVar("DEPLOY_DIR_IMAGE", True), d.getVar("KERNEL_IMAGETYPE"))
if not os.path.isfile(self.rootfs): if not os.path.isfile(self.rootfs):
# we could've checked that IMAGE_FSTYPES contains tar.gz but the config for running testimage might not be # we could've checked that IMAGE_FSTYPES contains tar.gz but the config for running testimage might not be
@ -177,7 +180,7 @@ class GummibootTarget(MasterImageHardwareTarget):
'mount -t efivarfs efivarfs /sys/firmware/efi/efivars', 'mount -t efivarfs efivarfs /sys/firmware/efi/efivars',
'cp ~/test-kernel /boot', 'cp ~/test-kernel /boot',
'rm -rf /mnt/testrootfs/*', 'rm -rf /mnt/testrootfs/*',
'tar xzvf ~/test-rootfs.tar.gz -C /mnt/testrootfs', 'tar xvf ~/test-rootfs.%s -C /mnt/testrootfs' % self.image_fstype,
'printf "%s" > /sys/firmware/efi/efivars/LoaderEntryOneShot-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f' % self.efivarvalue 'printf "%s" > /sys/firmware/efi/efivars/LoaderEntryOneShot-4a67b082-0a4c-41cf-b6c7-440b29bb8c4f' % self.efivarvalue
] ]
@ -187,7 +190,7 @@ class GummibootTarget(MasterImageHardwareTarget):
# from now on, every deploy cmd should return 0 # from now on, every deploy cmd should return 0
# else an exception will be thrown by sshcontrol # else an exception will be thrown by sshcontrol
self.master.ignore_status = False self.master.ignore_status = False
self.master.copy_to(self.rootfs, "~/test-rootfs.tar.gz") self.master.copy_to(self.rootfs, "~/test-rootfs." + self.image_fstype)
self.master.copy_to(self.kernel, "~/test-kernel") self.master.copy_to(self.kernel, "~/test-kernel")
for cmd in self.deploy_cmds: for cmd in self.deploy_cmds:
self.master.run(cmd) self.master.run(cmd)