summaryrefslogtreecommitdiff
path: root/poky/scripts/runqemu
diff options
context:
space:
mode:
Diffstat (limited to 'poky/scripts/runqemu')
-rwxr-xr-xpoky/scripts/runqemu23
1 files changed, 19 insertions, 4 deletions
diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu
index 6a77e3db9a..cc87ea871a 100755
--- a/poky/scripts/runqemu
+++ b/poky/scripts/runqemu
@@ -436,6 +436,10 @@ class BaseConfig(object):
if arg in self.fstypes + self.vmtypes + self.wictypes:
self.check_arg_fstype(arg)
elif arg == 'nographic':
+ if ('sdl' in sys.argv):
+ raise RunQemuError('Option nographic makes no sense alongside the sdl option.' % (arg))
+ if ('gtk' in sys.argv):
+ raise RunQemuError('Option nographic makes no sense alongside the gtk option.' % (arg))
self.qemu_opt_script += ' -nographic'
self.kernel_cmdline_script += ' console=ttyS0'
elif arg == 'sdl':
@@ -454,7 +458,8 @@ class BaseConfig(object):
self.qemu_opt_script += ' -display gtk'
elif arg == 'gl' or arg == 'gl-es':
# These args are handled inside sdl or gtk blocks above
- pass
+ if ('gtk' not in sys.argv) and ('sdl' not in sys.argv):
+ raise RunQemuError('Option %s also needs gtk or sdl option.' % (arg))
elif arg == 'egl-headless':
self.qemu_opt_script += ' -vga virtio -display egl-headless'
# As runqemu can be run within bitbake (when using testimage, for example),
@@ -1196,6 +1201,10 @@ class BaseConfig(object):
else:
self.rootfs_options = '-drive file=%s,if=virtio,format=%s' % (self.rootfs, rootfs_format)
+ qb_rootfs_extra_opt = self.get("QB_ROOTFS_EXTRA_OPT")
+ if qb_rootfs_extra_opt and not qb_rootfs_extra_opt.startswith(","):
+ qb_rootfs_extra_opt = "," + qb_rootfs_extra_opt
+
if self.fstype in ('cpio.gz', 'cpio'):
self.kernel_cmdline = 'root=/dev/ram0 rw debugshell'
self.rootfs_options = '-initrd %s' % self.rootfs
@@ -1208,14 +1217,15 @@ class BaseConfig(object):
drive_type = self.get('QB_DRIVE_TYPE')
if drive_type.startswith("/dev/sd"):
logger.info('Using scsi drive')
- vm_drive = '-drive if=none,id=hd,file=%s,format=%s -device virtio-scsi-pci,id=scsi -device scsi-hd,drive=hd' \
- % (self.rootfs, rootfs_format)
+ vm_drive = '-drive if=none,id=hd,file=%s,format=%s -device virtio-scsi-pci,id=scsi -device scsi-hd,drive=hd%s' \
+ % (self.rootfs, rootfs_format, qb_rootfs_extra_opt)
elif drive_type.startswith("/dev/hd"):
logger.info('Using ide drive')
vm_drive = "-drive file=%s,format=%s" % (self.rootfs, rootfs_format)
elif drive_type.startswith("/dev/vdb"):
logger.info('Using block virtio drive');
- vm_drive = '-drive id=disk0,file=%s,if=none,format=%s -device virtio-blk-device,drive=disk0' % (self.rootfs, rootfs_format)
+ vm_drive = '-drive id=disk0,file=%s,if=none,format=%s -device virtio-blk-device,drive=disk0%s' \
+ % (self.rootfs, rootfs_format,qb_rootfs_extra_opt)
else:
# virtio might have been selected explicitly (just use it), or
# is used as fallback (then warn about that).
@@ -1497,6 +1507,11 @@ def main():
try:
config = BaseConfig()
+ renice = os.path.expanduser("~/bin/runqemu-renice")
+ if os.path.exists(renice):
+ logger.info('Using %s to renice' % renice)
+ subprocess.check_call([renice, str(os.getpid())])
+
def sigterm_handler(signum, frame):
logger.info("SIGTERM received")
os.kill(config.qemupid, signal.SIGTERM)