[OE-core] [PATCH V2 5/8] runqemu: try symlinks when kernel or rootfs can't be found
Robert Yang
liezhi.yang at windriver.com
Sun Sep 18 07:39:27 UTC 2016
From: Joshua Lock <joshua.g.lock at intel.com>
If the kernel or rootfs names written to the qemuboot.conf can't
be found, try and find the symlinked variant of the filename.
This will help usability of runqemu, for example where a user
downloads an image and associated files as the symlinked names
yet the qemuboot.conf variables point to the full, non-linked,
file names.
Signed-off-by: Joshua Lock <joshua.g.lock at intel.com>
---
scripts/runqemu | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/scripts/runqemu b/scripts/runqemu
index 6aaae44..38f9b30 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -451,7 +451,12 @@ class BaseConfig(object):
if all_files:
self.rootfs = all_files[0]
else:
- raise Exception("Failed to find rootfs: %s" % cmd)
+ cmd = '%s/%s*.%s' % (self.get('DEPLOY_DIR_IMAGE'), self.get('IMAGE_LINK_NAME'), self.fstype)
+ all_files = glob.glob(cmd)
+ if all_files:
+ self.rootfs = all_files[0]
+ else:
+ raise Exception("Failed to find rootfs: %s" % cmd)
if not os.path.exists(self.rootfs):
raise Exception("Can't find rootfs: %s" % self.rootfs)
@@ -462,13 +467,18 @@ class BaseConfig(object):
if self.fstype in self.vmtypes:
return
kernel = self.kernel
+ deploy_dir_image = self.get('DEPLOY_DIR_IMAGE')
if not kernel:
- kernel = "%s/%s" % (self.get('DEPLOY_DIR_IMAGE'), self.get('QB_DEFAULT_KERNEL'))
+ kernel = "%s/%s" % (deploy_dir_image, self.get('QB_DEFAULT_KERNEL'))
if os.path.exists(kernel):
self.kernel = kernel
else:
- raise Exception("KERNEL %s not found" % kernel)
+ kernel = "%s/%s" % (deploy_dir_image, self.get('KERNEL_IMAGETYPE'))
+ if kernel != deploy_dir_image and os.path.exists(kernel):
+ self.kernel = kernel
+ else:
+ raise Exception("KERNEL %s not found" % kernel)
dtb = self.get('QB_DTB')
if dtb:
--
2.9.0
More information about the Openembedded-core
mailing list