On 12/21/2012 05:04 AM, Trevor Woerner wrote:
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]>

Nice addition - thanks a bunch for this!

Acked-by: Scott Garman <[email protected]>

---
  scripts/runqemu          | 2 ++
  scripts/runqemu-internal | 7 +++++++
  2 files changed, 9 insertions(+)

diff --git a/scripts/runqemu b/scripts/runqemu
index 190e3b4..9418ebd 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -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=}"
diff --git a/scripts/runqemu-internal b/scripts/runqemu-internal
index 7fbe0a0..a11220d 100755
--- a/scripts/runqemu-internal
+++ b/scripts/runqemu-internal
@@ -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



--
Scott Garman
Embedded Linux Engineer - Yocto Project
Intel Open Source Technology Center

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to