summaryrefslogtreecommitdiffstats
path: root/src/os-plugins/plugins/qemukvm/files/run-virt.include
diff options
context:
space:
mode:
Diffstat (limited to 'src/os-plugins/plugins/qemukvm/files/run-virt.include')
-rw-r--r--src/os-plugins/plugins/qemukvm/files/run-virt.include45
1 files changed, 36 insertions, 9 deletions
diff --git a/src/os-plugins/plugins/qemukvm/files/run-virt.include b/src/os-plugins/plugins/qemukvm/files/run-virt.include
index 2fb4ef8c..728801c1 100644
--- a/src/os-plugins/plugins/qemukvm/files/run-virt.include
+++ b/src/os-plugins/plugins/qemukvm/files/run-virt.include
@@ -52,11 +52,40 @@ else
exit 1
fi
-# hot keys ALT+CTRL+SHIFT
-VIRTCMDOPTS="${VIRTCMDOPTS} -alt-grab"
+# disable kvm for a range of older operating systems
+case "${vmostype}" in
+ beos*|win*3*|win*9*)
+ VIRTCMDOPTS="${VIRTCMDOPTS} -no-kvm"
+ if [ "${totalmem}" -ge "1000" ]; then
+ forcemem=512
+ else
+ forcemem=256
+ fi
+ # add some OS specific options if required
+ emu="qemu"
+ ;;
+ win*3*)
+ VIRTCMDOPTS="${VIRTCMDOPTS} -no-kvm"
+ forcemem=32
+ emu="qemu"
+ ;;
+ win*95)
+ VIRTCMDOPTS="${VIRTCMDOPTS} -no-kvm"
+ forcemem=96
+ emu="qemu"
+ ;;
+ win*)
+ VIRTCMDOPTS="${VIRTCMDOPTS} -no-kvm"
+ forcemem=256
+ emu="qemu"
+ ;;
+esac
+
+# hot keys ALT+CTRL+SHIFT (does not work properly!?)
+#VIRTCMDOPTS="${VIRTCMDOPTS} -alt-grab"
# display name, remove blanks because of cmdline problems
-displayname=$(echo ${displayname} | sed -e "s, ,-,g")
+displayname=$(echo ${displayname} | sed -e "s, ,-,g;s,(,[,g;s,),],g")
VIRTCMDOPTS="${VIRTCMDOPTS} -name ${displayname}"
writelog "Directories:"
@@ -125,21 +154,19 @@ case "${network_kind}" in
sudo /opt/openslx/rootfs/sbin/tunctl -t tapbridge${VM_ID} -u ${USER} \
>/dev/null 2>&1
sudo /opt/openslx/rootfs/usr/sbin/brctl addif br0 tapbridge${VM_ID}
- POSTRUN="/opt/openslx/rootfs/sbin/tunctl -d tapbridge${VM_ID}"
+ POSTRUN="sudo /opt/openslx/rootfs/sbin/tunctl -d tapbridge${VM_ID}"
;;
nat)
VIRTCMDOPTS="${VIRTCMDOPTS} -net tap,ifname=tapnat${VM_ID},${qemu_ifscr}"
sudo /opt/openslx/rootfs/sbin/tunctl -t tapnat${VM_ID} -u ${USER} \
>/dev/null 2>&1
- sudo /opt/openslx/rootfs/usr/sbin/brctl addif br0 tapnat${VM_ID}
- POSTRUN="/opt/openslx/rootfs/sbin/tunctl -d tapnat${VM_ID}"
+ POSTRUN="sudo /opt/openslx/rootfs/sbin/tunctl -d tapnat${VM_ID}"
;;
host*)
VIRTCMDOPTS="${VIRTCMDOPTS} -net tap,ifname=taphost${VM_ID},${qemu_ifscr}"
sudo /opt/openslx/rootfs/sbin/tunctl -t taphost${VM_ID} -u ${USER} \
>/dev/null 2>&1
- sudo /opt/openslx/rootfs/usr/sbin/brctl addif br0 taphost${VM_ID}
- POSTRUN="/opt/openslx/rootfs/sbin/tunctl -d taphost${VM_ID}"
+ POSTRUN="sudo /opt/openslx/rootfs/sbin/tunctl -d taphost${VM_ID}"
;;
*)
network_kind="user"
@@ -268,7 +295,7 @@ writelog "\tNetwork kind:\t\t${network_kind}"
#-show-cursor show cursor
# check for kvm modules
-if [ -c /dev/kvm ]; then
+if [ -c /dev/kvm -a "x${emu}" != "xqemu" ]; then
for tool in kvm qemu-kvm; do
VIRTCMD=$(which ${tool} 2>/dev/null)
[ -n "$VIRTCMD" ] && break