summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Lock <joshua.g.lock@intel.com>2016-09-16 10:24:27 +0100
committerRobert Yang <liezhi.yang@windriver.com>2016-09-19 03:46:30 -0700
commitdf68ec80738689727adae5b7fbb7015510f88f0b (patch)
tree42b7b81f05daacc0006f5ff41b75d7d02f6b44d3
parent3e7ee229d7a8286cbe9343da5502b76cffcfeaea (diff)
downloadopenembedded-core-contrib-df68ec80738689727adae5b7fbb7015510f88f0b.tar.gz
openembedded-core-contrib-df68ec80738689727adae5b7fbb7015510f88f0b.tar.bz2
openembedded-core-contrib-df68ec80738689727adae5b7fbb7015510f88f0b.zip
runqemu: try symlinks when kernel or rootfs can't be found
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@intel.com>
-rwxr-xr-xscripts/runqemu16
1 files changed, 13 insertions, 3 deletions
diff --git a/scripts/runqemu b/scripts/runqemu
index 6aaae44ea9..38f9b30567 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: