runqemu: change terminal's INTR key in 'serial' mode
PATCH 1/1 runqemu: change terminal's INTR key in 'serial' mode
If you are using an image in '-serial stdio' mode, temporarily change the terminal's interrupt character to 'Ctrl-]' for the duration of the image run. In this way, hitting 'Ctrl-C' for something running in the image doesn't accidentally abort the entire qemu session.
Signed-off-by Trevor Woerner <[email protected]>
--- scripts/runqemu | 2 ++ scripts/runqemu-internal | 7 +++++++ 2 files changed, 9 insertions(+)
scripts/runqemu +2 -0
@@ -64,6 +64,7 @@ LAZY_ROOTFS="" SCRIPT_QEMU_OPT="" SCRIPT_QEMU_EXTRA_OPT="" SCRIPT_KERNEL_OPT="" +SERIALSTDIO="" # Determine whether the file is a kernel or QEMU image, and set the # appropriate variables
@@ -138,6 +139,7 @@ while true; do "serial") SCRIPT_QEMU_OPT="$SCRIPT_QEMU_OPT -serial stdio" SCRIPT_KERNEL_OPT="$SCRIPT_KERNEL_OPT console=ttyS0" + SERIALSTDIO="1" ;; "qemuparams="*) SCRIPT_QEMU_EXTRA_OPT="${arg##qemuparams=}"
scripts/runqemu-internal +7 -0
@@ -444,6 +444,7 @@ if [ "$MACHINE" = "qemush4" ]; then #KERNCMDLINE="root=/dev/hda console=ttyS0 console=tty0 $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY" KERNCMDLINE="root=/dev/hda rw console=ttySC1 noiotrap earlyprintk=sh-sci.1 console=tty $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY" QEMUOPTIONS="$QEMU_NETWORK_CMD -M $MACHINE_SUBTYPE -hda $ROOTFS -no-reboot $QEMU_UI_OPTIONS -monitor null -serial vc -serial stdio" + SERIALSTDIO="1" fi if [ "$FSTYPE" = "nfs" ]; then if [ "$NFS_SERVER" = "192.168.7.1" -a ! -d "$NFS_DIR" ]; then
@@ -453,6 +454,7 @@ if [ "$MACHINE" = "qemush4" ]; then fi KERNCMDLINE="root=/dev/nfs console=ttySC1 noiotrap earlyprintk=sh-sci.1 console=tty nfsroot=$NFS_SERVER:$NFS_DIR,$UNFS_OPTS rw $KERNEL_NETWORK_CMD mem=$QEMU_MEMORY" QEMUOPTIONS="$QEMU_NETWORK_CMD -M $MACHINE_SUBTYPE -no-reboot $QEMU_UI_OPTIONS -monitor null -serial vc -serial stdio" + SERIALSTDIO="1" fi fi
@@ -565,6 +567,11 @@ then fi fi +if [ "x$SERIALSTDIO" = "x1" ]; then + echo "Escape character is '^]'" + stty intr ^] +fi + echo "Running $QEMU..." # -no-reboot is a mandatory option - see bug #100 if [ "$FSTYPE" = "vmdk" ]; then
Signature · 1 line
1.8.0
scripts/runqemu-internal then · line 573
Quoted 4 lines · Trevor Woerner
scripts/runqemu-internal +4
-0+if [ "x$SERIALSTDIO" = "x1" ]; then + echo "Escape character is '^]'" + stty intr ^] +fi
Hold on. This should be "Interrupt charater".