Browse Source

Yet another GO9P* script - GO9PIMG runs from a qcow2 img

Signed-off-by: Graham MacDonald <grahamamacdonald@gmail.com>
Graham MacDonald 5 years ago
parent
commit
dcf619f368
1 changed files with 50 additions and 0 deletions
  1. 50 0
      util/GO9PIMG

+ 50 - 0
util/GO9PIMG

@@ -0,0 +1,50 @@
+#!/bin/bash
+set -e
+
+trap : 2
+
+$HARVEY/util/ufs -root=$HARVEY &
+ufspid=$!
+
+export machineflag=q35
+if [ "$(uname)" = "Linux" ] && [ -e /dev/kvm ]; then
+	export kvmflag='-enable-kvm'
+	export machineflag='pc,accel=kvm'
+	if [ ! -w /dev/kvm ]; then
+		# we don't have access as a regular user
+		export kvmdo=sudo
+	fi
+fi
+
+# The -usb flag is necessary for the system to recognize usb devices
+# To specify a specific device you must follow the following format:
+#      -device usb-host,hostbus='X',hostaddr='Y'
+# The 'X'/'Y' values can be found with lsusb(8) (Linux/BSD)
+# Provided is an example lsusb(8) output:
+#       Bus 002 Device 004: ID 056a:00e6 Wacom Co., Ltd TPCE6
+# Where 'X'== 2 and 'Y'== 4
+read -r cmd <<EOF
+$kvmdo qemu-system-x86_64 -s -cpu Opteron_G1 -smp 2 -m 2048 $kvmflag \
+-usb \
+-serial stdio \
+--machine $machineflag \
+-net nic,model=rtl8139 \
+-net user,id=user.0,\
+hostfwd=tcp::5555-:1522,\
+hostfwd=tcp::9999-:9,\
+hostfwd=tcp::17010-:17010,\
+hostfwd=tcp::1666-:1666,\
+hostfwd=tcp::5356-:5356,\
+hostfwd=tcp::17013-:17013 \
+-object filter-dump,id=f1,netdev=user.0,file=/tmp/vm0.pcap \
+-drive id=disk,file=$HARVEY/harvey.qcow2,if=none \
+-device ich9-ahci,id=ahci \
+-device ide-drive,drive=disk,bus=ahci.0 \
+$*
+EOF
+
+echo $cmd
+eval $cmd
+
+kill $ufspid
+wait