* [PATCH 1/3] scripts/runqemu: Add serialstdio mode
@ 2018-11-08 20:58 Michael Halstead
2018-11-08 20:58 ` [PATCH 2/3] scripts/runqemu: Replace subprocess.run() for compatibilty Michael Halstead
2018-11-08 20:58 ` [PATCH 3/3] scripts/autobuilder-worker-prereq-tests: Shore up qemu testing Michael Halstead
0 siblings, 2 replies; 3+ messages in thread
From: Michael Halstead @ 2018-11-08 20:58 UTC (permalink / raw)
To: openembedded-core; +Cc: rpurdie
From: Richard Purdie <richard.purdie@linuxfoundation.org>
Its currently not possible to have a console available whilst using qemu in graphics
mode. This is causing some issues for testing autobuilder bringup so all a "serialstdio"
mode to runqemu to accomodate this.
The existing serialstdio internal variable is renamed to allow the new user visible option.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
scripts/runqemu | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/scripts/runqemu b/scripts/runqemu
index 087220ca0a..0c61253d6a 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -75,6 +75,7 @@ of the following environment variables (in any order):
Simplified QEMU command-line options can be passed with:
nographic - disable video console
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)
@@ -211,6 +212,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 = ''
@@ -428,6 +430,9 @@ class BaseConfig(object):
self.qemu_opt_script += ' -nographic'
self.kernel_cmdline_script += ' console=ttyS0'
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':
@@ -1169,7 +1174,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 ^]", shell=True)
logger.info("Interrupt character is '^]'")
@@ -1196,7 +1201,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"
--
2.17.2
^ permalink raw reply related [flat|nested] 3+ messages in thread* [PATCH 2/3] scripts/runqemu: Replace subprocess.run() for compatibilty
2018-11-08 20:58 [PATCH 1/3] scripts/runqemu: Add serialstdio mode Michael Halstead
@ 2018-11-08 20:58 ` Michael Halstead
2018-11-08 20:58 ` [PATCH 3/3] scripts/autobuilder-worker-prereq-tests: Shore up qemu testing Michael Halstead
1 sibling, 0 replies; 3+ messages in thread
From: Michael Halstead @ 2018-11-08 20:58 UTC (permalink / raw)
To: openembedded-core; +Cc: rpurdie
subprocess.run() was introduced in Python 3.5. We currently support down to
Python 3.4 so I've replaced it with subprocess.check_call() which is available
in that version.
Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
---
scripts/runqemu | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/scripts/runqemu b/scripts/runqemu
index 0c61253d6a..c79be9a846 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -1321,7 +1321,7 @@ def main():
logger.info("SIGTERM received")
os.kill(config.qemupid, signal.SIGTERM)
config.cleanup()
- subprocess.run(["tput", "smam"])
+ subprocess.check_call(["tput", "smam"])
signal.signal(signal.SIGTERM, sigterm_handler)
config.check_args()
@@ -1343,7 +1343,7 @@ def main():
return 1
finally:
config.cleanup()
- subprocess.run(["tput", "smam"])
+ subprocess.check_call(["tput", "smam"])
if __name__ == "__main__":
sys.exit(main())
--
2.17.2
^ permalink raw reply related [flat|nested] 3+ messages in thread* [PATCH 3/3] scripts/autobuilder-worker-prereq-tests: Shore up qemu testing
2018-11-08 20:58 [PATCH 1/3] scripts/runqemu: Add serialstdio mode Michael Halstead
2018-11-08 20:58 ` [PATCH 2/3] scripts/runqemu: Replace subprocess.run() for compatibilty Michael Halstead
@ 2018-11-08 20:58 ` Michael Halstead
1 sibling, 0 replies; 3+ messages in thread
From: Michael Halstead @ 2018-11-08 20:58 UTC (permalink / raw)
To: openembedded-core; +Cc: rpurdie
Check that yocto-autobuilder-helper has been cloned to the correct location.
Check that vnc is running using the same script the autobuilder does.
Set the DISPLAY enviroment variable to :1 the same way we do when building
normally.
Make the VM's serial console available so we can log in and power off allowing
the tests to continue.
Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
---
scripts/autobuilder-worker-prereq-tests | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/scripts/autobuilder-worker-prereq-tests b/scripts/autobuilder-worker-prereq-tests
index bb46c69135..358dd2beee 100755
--- a/scripts/autobuilder-worker-prereq-tests
+++ b/scripts/autobuilder-worker-prereq-tests
@@ -15,6 +15,12 @@
# test buildistory git repo works?
#
+if [ ! -x $HOME/yocto-autobuilder-helper/scripts/checkvnc ]; then
+ echo "$HOME/yocto-autobuilder-helper should be created."
+ exit 1
+fi
+$HOME/yocto-autobuilder-helper/scripts/checkvnc
+
. ./oe-init-build-env > /dev/null
if [ "$?" != "0" ]; then
exit 1
@@ -53,12 +59,12 @@ if [ ! -e bzImage-qemux86-64.bin ]; then
fi
popd
bitbake qemu-helper-native
-runqemu qemux86-64
+DISPLAY=:1 runqemu serialstdio qemux86-64
if [ "$?" != "0" ]; then
echo "Unable to use runqemu"
exit 1
fi
-runqemu qemux86-64 kvm
+DISPLAY=:1 runqemu serialstdio qemux86-64 kvm
if [ "$?" != "0" ]; then
echo "Unable to use runqemu with kvm"
exit 1
--
2.17.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-11-08 20:59 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-08 20:58 [PATCH 1/3] scripts/runqemu: Add serialstdio mode Michael Halstead
2018-11-08 20:58 ` [PATCH 2/3] scripts/runqemu: Replace subprocess.run() for compatibilty Michael Halstead
2018-11-08 20:58 ` [PATCH 3/3] scripts/autobuilder-worker-prereq-tests: Shore up qemu testing Michael Halstead
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox