]> code.ossystems Code Review - openembedded-core.git/commitdiff
runqemu: change terminal's INTR key in 'serial' mode
authorTrevor Woerner <twoerner@gmail.com>
Fri, 21 Dec 2012 13:04:53 +0000 (08:04 -0500)
committerSaul Wold <sgw@linux.intel.com>
Tue, 25 Dec 2012 22:00:21 +0000 (14:00 -0800)
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 <twoerner@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
scripts/runqemu
scripts/runqemu-internal

index b8148ef55e26eed096e3e54c5a2719f1703ed2ad..188eccf00323d3a2f2de59888194b7e10a8e1272 100755 (executable)
@@ -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=}"
index 7fbe0a0976db4017dad79d32eba1fd67dbdfbd47..a11220dd50fdec9ee06e80058660b2f84878f4a4 100755 (executable)
@@ -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 "Interrupt character is '^]'"
+        stty intr ^]
+fi
+
 echo "Running $QEMU..."
 # -no-reboot is a mandatory option - see bug #100
 if [ "$FSTYPE" = "vmdk" ]; then