runqemu: get qemu from qemu-helper-native sysroot

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.

(From OE-Core rev: d42c02caaa4d6fb47681aa7ffe8b27fa38141e6a)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ed Bartosh 2017-04-12 23:40:57 +03:00 committed by Richard Purdie
parent 0637c5ab25
commit 7ffcdd0a07
1 changed files with 12 additions and 1 deletions

View File

@ -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.