diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2019-04-05 15:28:33 -0400 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2019-04-05 19:31:28 +0000 |
commit | 193236933b0f4ab91b1625b64e2187e2db4e0e8f (patch) | |
tree | e12769d7c76d8b0517d6de3d3c72189753d253ed /poky/scripts/runqemu | |
parent | bd93df9478f2f56ffcbc8cb88f1709c735dcd85b (diff) | |
download | talos-openbmc-193236933b0f4ab91b1625b64e2187e2db4e0e8f.tar.gz talos-openbmc-193236933b0f4ab91b1625b64e2187e2db4e0e8f.zip |
reset upstream subtrees to HEAD
Reset the following subtrees on HEAD:
poky: 8217b477a1(master)
meta-xilinx: 64aa3d35ae(master)
meta-openembedded: 0435c9e193(master)
meta-raspberrypi: 490a4441ac(master)
meta-security: cb6d1c85ee(master)
Squashed patches:
meta-phosphor: drop systemd 239 patches
meta-phosphor: mrw-api: use correct install path
Change-Id: I268e2646d9174ad305630c6bbd3fbc1a6105f43d
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
Diffstat (limited to 'poky/scripts/runqemu')
-rwxr-xr-x | poky/scripts/runqemu | 70 |
1 files changed, 33 insertions, 37 deletions
diff --git a/poky/scripts/runqemu b/poky/scripts/runqemu index 1c96b29a4..c0e569c44 100755 --- a/poky/scripts/runqemu +++ b/poky/scripts/runqemu @@ -74,7 +74,12 @@ of the following environment variables (in any order): MACHINE - the machine name (optional, autodetected from KERNEL filename if unspecified) Simplified QEMU command-line options can be passed with: nographic - disable video console + sdl - choose the SDL frontend instead of the Gtk+ default + gtk-gl - enable virgl-based GL acceleration using Gtk+ frontend + gtk-gl-es - enable virgl-based GL acceleration, using OpenGL ES and Gtk+ frontend + egl-headless - enable headless EGL output; use vnc or spice to see it serial - enable a serial console on /dev/ttyS0 + serialstdio - enable a serial console on the console (regardless of graphics mode) slirp - enable user networking, no root privileges is required kvm - enable KVM when running x86/x86_64 (VT-capable CPU required) kvm-vhost - enable KVM with vhost when running x86/x86_64 (VT-capable CPU required) @@ -114,39 +119,6 @@ def check_tun(): if not os.access(dev_tun, os.W_OK): raise RunQemuError("TUN control device %s is not writable, please fix (e.g. sudo chmod 666 %s)" % (dev_tun, dev_tun)) -def check_libgl(qemu_bin): - cmd = ('ldd', qemu_bin) - logger.debug('Running %s...' % str(cmd)) - need_gl = subprocess.check_output(cmd).decode('utf-8') - if re.search('libGLU', need_gl): - # We can't run without a libGL.so - libgl = False - check_files = (('/usr/lib/libGL.so', '/usr/lib/libGLU.so'), \ - ('/usr/lib64/libGL.so', '/usr/lib64/libGLU.so'), \ - ('/usr/lib/*-linux-gnu/libGL.so', '/usr/lib/*-linux-gnu/libGLU.so')) - - for (f1, f2) in check_files: - if re.search('\*', f1): - for g1 in glob.glob(f1): - if libgl: - break - if os.path.exists(g1): - for g2 in glob.glob(f2): - if os.path.exists(g2): - libgl = True - break - if libgl: - break - else: - if os.path.exists(f1) and os.path.exists(f2): - libgl = True - break - if not libgl: - logger.error("You need libGL.so and libGLU.so to exist in your library path to run the QEMU emulator.") - logger.error("Ubuntu package names are: libgl1-mesa-dev and libglu1-mesa-dev.") - logger.error("Fedora package names are: mesa-libGL-devel mesa-libGLU-devel.") - raise RunQemuError('%s requires libGLU, but not found' % qemu_bin) - def get_first_file(cmds): """Return first file found in wildcard cmds""" for cmd in cmds: @@ -212,6 +184,7 @@ class BaseConfig(object): self.slirp_enabled = False self.nfs_instance = 0 self.nfs_running = False + self.serialconsole = False self.serialstdio = False self.cleantap = False self.saved_stty = '' @@ -432,8 +405,33 @@ class BaseConfig(object): elif arg == 'nographic': self.qemu_opt_script += ' -nographic' self.kernel_cmdline_script += ' console=ttyS0' + elif arg == 'sdl': + self.qemu_opt_script += ' -display sdl' + elif arg == 'gtk-gl': + self.qemu_opt_script += ' -vga virtio -display gtk,gl=on' + elif arg == 'gtk-gl-es': + self.qemu_opt_script += ' -vga virtio -display gtk,gl=es' + 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), + # we need to ensure that we run host pkg-config, and that it does not + # get mis-directed to native build paths set by bitbake. + try: + del os.environ['PKG_CONFIG_PATH'] + del os.environ['PKG_CONFIG_DIR'] + del os.environ['PKG_CONFIG_LIBDIR'] + except KeyError: + pass + try: + dripath = subprocess.check_output("PATH=/bin:/usr/bin:$PATH pkg-config --variable=dridriverdir dri", shell=True) + except subprocess.CalledProcessError as e: + raise RunQemuError("Could not determine the path to dri drivers on the host via pkg-config.\nPlease install Mesa development files (particularly, dri.pc) on the host machine.") + os.environ['LIBGL_DRIVERS_PATH'] = dripath.decode('utf-8').strip() elif arg == 'serial': self.kernel_cmdline_script += ' console=ttyS0' + self.serialconsole = True + elif arg == "serialstdio": + self.kernel_cmdline_script += ' console=ttyS0' self.serialstdio = True elif arg == 'audio': logger.info("Enabling audio in qemu") @@ -1166,8 +1164,6 @@ class BaseConfig(object): if not os.access(qemu_bin, os.X_OK): raise OEPathError("No QEMU binary '%s' could be found" % qemu_bin) - check_libgl(qemu_bin) - self.qemu_opt = "%s %s %s %s" % (qemu_bin, self.get('NETWORK_CMD'), self.get('ROOTFS_OPTIONS'), self.get('QB_OPT_APPEND')) for ovmf in self.ovmf_bios: @@ -1187,7 +1183,7 @@ class BaseConfig(object): if self.snapshot: self.qemu_opt += " -snapshot" - if self.serialstdio: + if self.serialconsole: if sys.stdin.isatty(): subprocess.check_call(("stty", "intr", "^]")) logger.info("Interrupt character is '^]'") @@ -1214,7 +1210,7 @@ class BaseConfig(object): # INIT: Id "S1" respawning too fast: disabled for 5 minutes serial_num = len(re.findall("-serial", self.qemu_opt)) if serial_num == 0: - if re.search("-nographic", self.qemu_opt): + if re.search("-nographic", self.qemu_opt) or self.serialstdio: self.qemu_opt += " -serial mon:stdio -serial null" else: self.qemu_opt += " -serial mon:vc -serial null" |