path: root/scripts
diff options
authorMariano Lopez <>2016-11-22 11:31:53 -0600
committerRichard Purdie <>2016-12-16 08:30:01 +0000
commitfe7fd2cd3a9c4fb5b31bd3cab81c96a3b81cb540 (patch)
treea0f1d89e3e81c091ed5794c04a8a17db35384922 /scripts
parent2e0b36981c1f91ed0d3d457c370df10a099407af (diff)
scripts/runqemu: Allow to use qemu from host.
This will add support to use qemu from the running host, with this is possible to put qemu-native in ASSUME_PROVIDED variable. By default it will try to get qemu from the build sysroot, and only if it fails will try to use the host's qemu. Signed-off-by: Mariano Lopez <> Signed-off-by: Ross Burton <>
Diffstat (limited to 'scripts')
1 files changed, 15 insertions, 0 deletions
diff --git a/scripts/runqemu b/scripts/runqemu
index af254234df..0a9cb946bf 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -906,6 +906,21 @@ class BaseConfig(object):
raise Exception("Failed to boot, QB_SYSTEM_NAME is NULL!")
qemu_bin = '%s/%s' % (self.get('STAGING_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.
+ if not os.path.exists(qemu_bin):
+"QEMU binary not found in %s, trying host's QEMU" % qemu_bin)
+ for path in (os.environ['PATH'] or '').split(':'):
+ qemu_bin_tmp = os.path.join(path, qemu_system)
+"Trying: %s" % qemu_bin_tmp)
+ if os.path.exists(qemu_bin_tmp):
+ qemu_bin = qemu_bin_tmp
+ if not os.path.isabs(qemu_bin):
+ qemu_bin = os.path.abspath(qemu_bin)
+"Using host's QEMU: %s" % qemu_bin)
+ break
if not os.access(qemu_bin, os.X_OK):
raise OEPathError("No QEMU binary '%s' could be found" % qemu_bin)