]> code.ossystems Code Review - openembedded-core.git/commitdiff
runqemu: only boot ramfs when specified
authorRobert Yang <liezhi.yang@windriver.com>
Thu, 16 Mar 2017 10:13:26 +0000 (03:13 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 16 Mar 2017 22:11:22 +0000 (22:11 +0000)
This can fix a problem:
IMAGE_FSTYPES += "iso"
$ bitbake core-image-minimal
$ runqemu qemux86

It may boot core-image-minimal-initramfs rather than core-image-minimal, this
is not what we want usually. This patch makes it avoid booting ramfs when there
are other choices, or when it is specified, for example, "runqemu qemux86 ramfs"

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/runqemu

index 17219563a80773e76a490855161a1f8cb5ff5094..4fa2867e73c516a675f4e67eb6e670a8e6ca843c 100755 (executable)
@@ -660,7 +660,15 @@ class BaseConfig(object):
                 logger.info('Running %s...' % cmd)
                 qbs = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE).stdout.read().decode('utf-8')
                 if qbs:
-                    self.qemuboot = qbs.split()[0]
+                    for qb in qbs.split():
+                        # Don't use initramfs when other choices unless fstype is ramfs
+                        if '-initramfs-' in os.path.basename(qb) and self.fstype != 'cpio.gz':
+                                continue
+                        self.qemuboot = qb
+                        break
+                    if not self.qemuboot:
+                        # Use the first one when no choice
+                        self.qemuboot = qbs.split()[0]
                     self.qbconfload = True
 
         if not self.qemuboot: