[OE-core] [PATCH 2/2] runqemu: Add a background command option

Alistair Francis alistair.francis at xilinx.com
Fri Mar 24 16:12:17 UTC 2017


This allows callers to specify commands that should be run in the background
while running QEMU. This can be specified by assigning the commands to the
'QB_BACKGROUND_COMMAND' varialbe in the machine conf.

This is useful for starting automated debugging instances, automated
testing instances (using QMP) or other servers/clients that QEMU can
connect to.

Signed-off-by: Alistair Francis <alistair.francis at xilinx.com>
---
 documentation/ref-manual/migration.xml | 2 ++
 scripts/runqemu                        | 7 +++++++
 2 files changed, 9 insertions(+)

diff --git a/documentation/ref-manual/migration.xml b/documentation/ref-manual/migration.xml
index 2bdb542..15db364 100644
--- a/documentation/ref-manual/migration.xml
+++ b/documentation/ref-manual/migration.xml
@@ -3581,6 +3581,8 @@ $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.
      QB_TCPSERIAL_OPT: tcp serial port option (e.g.
                        " -device virtio-serial-device -chardev socket,id=virtcon,port=@PORT@,host=127.0.0.1 -device      virtconsole,chardev=virtcon"
                        runqemu will replace "@PORT@" with the port number which is used.
+     QB_BACKGROUND_COMMAND: If specified this command is run in the background while
+                            running QEMU.
             </literallayout>
         </para>
 
diff --git a/scripts/runqemu b/scripts/runqemu
index f76d976..b5cc56a 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -1118,6 +1118,13 @@ class BaseConfig(object):
                 kernel_opts += " -dtb %s" % self.dtb
         else:
             kernel_opts = ""
+        background_cmd = self.get('QB_BACKGROUND_COMMAND')
+
+        if background_cmd:
+            logger.info('Running in the background %s' % background_cmd)
+            if subprocess.call(background_cmd + ' &', shell=True) != 0:
+                raise Exception('Failed to run %s' % cmd)
+
         cmd = "%s %s" % (self.qemu_opt, kernel_opts)
         logger.info('Running %s' % cmd)
         if subprocess.call(cmd, shell=True) != 0:
-- 
2.9.3




More information about the Openembedded-core mailing list