mirror of
https://git.yoctoproject.org/poky
synced 2026-04-21 21:32:12 +02:00
runqemu: change terminal settings for valid tty's
runqemu uses stty to change terminal settings to give users better control to qemu. However, stty does not work when runqemu is run directly or indirectly via oe-selftest in a Docker container (presumably some problems with Docker's pseudo-tty implementation). The error reported is: stty: 'standard input': Inappropriate ioctl for device As runqemu recently moved to subprocess.check_call() for stty calls we now get thrown an error and all runqemu runs fail. sys.stdin.isatty() does proper job in detecting if the stty calls can work so we use that check before running the stty subprocess operations. (From OE-Core rev: 06742ed59092530aedf03f65c3c9542c24ff7ac3) Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
b1da7c703b
commit
44c0e8c804
@@ -955,8 +955,8 @@ class BaseConfig(object):
|
||||
def setup_network(self):
|
||||
if self.get('QB_NET') == 'none':
|
||||
return
|
||||
cmd = "stty -g"
|
||||
self.saved_stty = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE).stdout.read().decode('utf-8')
|
||||
if sys.stdin.isatty():
|
||||
self.saved_stty = subprocess.check_output("stty -g", shell=True).decode('utf-8')
|
||||
self.network_device = self.get('QB_NETWORK_DEVICE') or self.network_device
|
||||
if self.slirp_enabled:
|
||||
self.setup_slirp()
|
||||
@@ -1096,9 +1096,9 @@ class BaseConfig(object):
|
||||
self.qemu_opt += " -snapshot"
|
||||
|
||||
if self.serialstdio:
|
||||
logger.info("Interrupt character is '^]'")
|
||||
cmd = "stty intr ^]"
|
||||
subprocess.check_call(cmd, shell=True)
|
||||
if sys.stdin.isatty():
|
||||
subprocess.check_call("stty intr ^]", shell=True)
|
||||
logger.info("Interrupt character is '^]'")
|
||||
|
||||
first_serial = ""
|
||||
if not re.search("-nographic", self.qemu_opt):
|
||||
|
||||
Reference in New Issue
Block a user