From e8b2526711fccb4d7fb7e35d8c25d217808c8ade Mon Sep 17 00:00:00 2001 From: Remzi Arpaci-Dusseau Date: Mon, 18 Mar 2019 15:19:52 -0500 Subject: [PATCH] initial script to boot qemu, run xv6, run a command within xv6, and exit --- tester/run-xv6-command.sh | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 tester/run-xv6-command.sh diff --git a/tester/run-xv6-command.sh b/tester/run-xv6-command.sh new file mode 100755 index 0000000..e143687 --- /dev/null +++ b/tester/run-xv6-command.sh @@ -0,0 +1,34 @@ +#! /usr/bin/env expect + +# turn off timeout (perhaps make this flexible later) +set timeout -1 + +# build and launch xv6 on qemu +spawn make qemu-nox + +# wait for initial prompt +expect "init: starting sh\r" +expect "$ " + +# send command as per command line +send "$argv\r" + +# wait for it to be done +expect "$ " + +# send command to halt qemu (ctrl-a x) +# how to do so found here: +# https://stackoverflow.com/questions/27050473/how-to-send-ctrl-a-then-d-in-expect +send "\x01"; send "x" + +# make sure to wait for it all to stop +# (without this, script was terminating before qemu quit -> bad) +interact + + + + + + + +