-
Notifications
You must be signed in to change notification settings - Fork 7
/
Copy pathRunQemu
executable file
·118 lines (108 loc) · 2.58 KB
/
RunQemu
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#!/bin/sh
#qemu-system-x86_64 -fda DiskImage.img -boot a -serial stdio -net user,hostname=prelude,dns=10.0.2.1 -net nic,model=ne2k_pci -vga std
QEMU=qemu-system-x86_64
USE_GDB=
BOOTOPT="-fda DiskImage.img -boot a"
QEMU_PARAMS=""
QEMU_PARAMS=$QEMU_PARAMS" -hda AcessHDD.img"
QEMU_PARAMS=$QEMU_PARAMS" -vga std"
QEMU_PARAMS=$QEMU_PARAMS" -smp 2"
MODS=""
_NETTYPE="user,hostfwd=tcp::5555-:23"
_NETMODEL=e1000
_EVAL=eval
while [ $# -ne 0 ]; do
case $1 in
-gdb)
QEMU_PARAMS=$QEMU_PARAMS" -s -S"
;;
-mod)
shift
MODS=$MODS","$1
;;
-dbin)
shift
if [ "x$2" = "xdefault" ] || [ "x$2" = "x" ]; then
_kfile="KernelLand/Acess2.$1.bin"
else
_kfile="KernelLand/Acess2.$1-$2.bin"
fi
BOOTOPT="-kernel $_kfile"
BOOTOPT=$BOOTOPT" -initrd KernelLand/Modules/Filesystems/FS_InitRD.kmd.$1$MODS -append \"$3\""
shift
shift
;;
-dbgbin)
QEMU=/home/tpg/apps/bin/qemu-system-x86_64
;;
-bin)
shift
QEMU=$1
;;
-dbgscript)
QEMU="echo $QEMU"
;;
-extramem)
QEMU_PARAMS=$QEMU_PARAMS" -m 768"
;;
-e)
shift
QEMU_PARAMS=$QEMU_PARAMS" "$1
;;
-n)
_EVAL=echo
;;
-fwd)
_NETTYPE=$_NETTYPE",hostfwd=tcp::10023-10.0.2.10:23"
;;
-tuntap)
_NETTYPE="tap"
;;
-nousb)
_NOUSB="yes"
;;
-notee)
_NOTEE="yes"
;;
-nographic)
_NOGRAPHIC="yes"
;;
-netmodel)
shift
_NETMODEL=$1
;;
-pciserial)
QEMU_PARAMS=$QEMU_PARAMS" -device pci-serial,chardev=serial2"
QEMU_PARAMS=$QEMU_PARAMS" -chardev socket,id=serial2,host=localhost,port=10023,server,telnet"
;;
-sata)
QEMU_PARAMS=$QEMU_PARAMS" -device ich9-ahci,id=ahci"
QEMU_PARAMS=$QEMU_PARAMS" -drive if=none,id=sata_disk,file=HDD_sata.img"
QEMU_PARAMS=$QEMU_PARAMS" -device ide-drive,drive=sata_disk,bus=ahci.0"
;;
esac
shift
done
QEMU_PARAMS=$QEMU_PARAMS" -net nic,model="$_NETMODEL
QEMU_PARAMS=$QEMU_PARAMS" -net "$_NETTYPE
if [ "x$_NOUSB" != "xyes" ] ; then
QEMU_PARAMS=$QEMU_PARAMS" -usb"
QEMU_PARAMS=$QEMU_PARAMS" -device usb-ehci"
QEMU_PARAMS=$QEMU_PARAMS" -drive id=test_usb_image,file=USB_Test_Image.img,if=none"
QEMU_PARAMS=$QEMU_PARAMS" -device usb-storage,drive=test_usb_image"
QEMU_PARAMS=$QEMU_PARAMS" -usbdevice mouse"
# QEMU_PARAMS=$QEMU_PARAMS" -usbdevice keyboard"
fi
if [ "x$_NOTEE" = "xyes" ] ; then
_TEECMD=
else
_TEECMD=" | tee QemuLog.txt"
fi
# /home/tpg/apps/bin/qemu-system-x86_64 $QEMU_PARAMS -serial stdio -serial file:QemuLog.txt
# qemu-system-x86_64 $QEMU_PARAMS -serial stdio | tee QemuLog.txt
#echo $QEMU $BOOTOPT $QEMU_PARAMS
if [ "x$_NOGRAPHIC" = "xyes" ] ; then
$_EVAL $QEMU $BOOTOPT $QEMU_PARAMS -nographic $_TEECMD
exit
fi
$_EVAL $QEMU $BOOTOPT $QEMU_PARAMS -serial stdio $_TEECMD