]> code.ossystems Code Review - openembedded-core.git/commitdiff
runqemu: get qemu from qemu-helper-native sysroot
authorEd Bartosh <ed.bartosh@linux.intel.com>
Wed, 12 Apr 2017 20:40:57 +0000 (23:40 +0300)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 12 Apr 2017 22:55:54 +0000 (23:55 +0100)
If rm_work is enabled image native sysroot can be removed.
This makes runqemu to fail trying to find qemu binary.

Used native sysroot of qemu-helper-native to find system qemu
binary.

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/runqemu

index 5b5d56b9ef4c5146fd8ca4d2c4e7046c1ae1fb53..a8bb9ebbda93818d55ff20d0f2dee925b35d27e8 100755 (executable)
@@ -1056,7 +1056,18 @@ class BaseConfig(object):
         if not qemu_system:
             raise Exception("Failed to boot, QB_SYSTEM_NAME is NULL!")
 
-        qemu_bin = '%s/%s' % (self.get('STAGING_BINDIR_NATIVE'), qemu_system)
+        cmd = 'bitbake qemu-helper-native -e'
+        logger.info('Running %s...' % cmd)
+        out = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
+        out = out.stdout.read().decode('utf-8')
+
+        match = re.search('^STAGING_BINDIR_NATIVE="(.*)"', out, re.M)
+        if match:
+            bindir_native  = match.group(1)
+        else:
+            raise Exception("Can't find STAGING_BINDIR_NATIVE in '%s' output" % cmd)
+
+        qemu_bin = '%s/%s' % (bindir_native, qemu_system)
 
         # It is possible to have qemu-native in ASSUME_PROVIDED, and it won't
         # find QEMU in sysroot, it needs to use host's qemu.