summaryrefslogtreecommitdiffstats
path: root/scripts/runqemu
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/runqemu')
-rwxr-xr-xscripts/runqemu16
1 files changed, 16 insertions, 0 deletions
diff --git a/scripts/runqemu b/scripts/runqemu
index 04728673de..ccc557f308 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -1058,6 +1058,13 @@ class BaseConfig(object):
1058 1058
1059 self.nfs_running = True 1059 self.nfs_running = True
1060 1060
1061 def setup_cmd(self):
1062 cmd = self.get('QB_SETUP_CMD')
1063 if cmd != '':
1064 logger.info('Running setup command %s' % str(cmd))
1065 if subprocess.call(cmd, shell=True) != 0:
1066 raise RunQemuError('Failed to run %s' % cmd)
1067
1061 def setup_net_bridge(self): 1068 def setup_net_bridge(self):
1062 self.set('NETWORK_CMD', '-netdev bridge,br=%s,id=net0,helper=%s -device virtio-net-pci,netdev=net0 ' % ( 1069 self.set('NETWORK_CMD', '-netdev bridge,br=%s,id=net0,helper=%s -device virtio-net-pci,netdev=net0 ' % (
1063 self.net_bridge, os.path.join(self.bindir_native, 'qemu-oe-bridge-helper'))) 1070 self.net_bridge, os.path.join(self.bindir_native, 'qemu-oe-bridge-helper')))
@@ -1526,6 +1533,13 @@ class BaseConfig(object):
1526 else: 1533 else:
1527 logger.error("Failed to run qemu: %s", process.stderr.read().decode()) 1534 logger.error("Failed to run qemu: %s", process.stderr.read().decode())
1528 1535
1536 def cleanup_cmd(self):
1537 cmd = self.get('QB_CLEANUP_CMD')
1538 if cmd != '':
1539 logger.info('Running cleanup command %s' % str(cmd))
1540 if subprocess.call(cmd, shell=True) != 0:
1541 raise RunQemuError('Failed to run %s' % cmd)
1542
1529 def cleanup(self): 1543 def cleanup(self):
1530 if self.cleaned: 1544 if self.cleaned:
1531 return 1545 return
@@ -1654,6 +1668,7 @@ def main():
1654 config.setup_network() 1668 config.setup_network()
1655 config.setup_rootfs() 1669 config.setup_rootfs()
1656 config.setup_final() 1670 config.setup_final()
1671 config.setup_cmd()
1657 config.start_qemu() 1672 config.start_qemu()
1658 except RunQemuError as err: 1673 except RunQemuError as err:
1659 logger.error(err) 1674 logger.error(err)
@@ -1663,6 +1678,7 @@ def main():
1663 traceback.print_exc() 1678 traceback.print_exc()
1664 return 1 1679 return 1
1665 finally: 1680 finally:
1681 config.cleanup_cmd()
1666 config.cleanup() 1682 config.cleanup()
1667 # Deliberately ignore the return code of 'tput smam'. 1683 # Deliberately ignore the return code of 'tput smam'.
1668 subprocess.call(["tput", "smam"]) 1684 subprocess.call(["tput", "smam"])