summaryrefslogtreecommitdiffstats
path: root/remote
diff options
context:
space:
mode:
Diffstat (limited to 'remote')
-rw-r--r--remote/modules/vmplayer/data/etc/openslx/vmware/run-virt.include357
1 files changed, 232 insertions, 125 deletions
diff --git a/remote/modules/vmplayer/data/etc/openslx/vmware/run-virt.include b/remote/modules/vmplayer/data/etc/openslx/vmware/run-virt.include
index 0267656d..6c062c09 100644
--- a/remote/modules/vmplayer/data/etc/openslx/vmware/run-virt.include
+++ b/remote/modules/vmplayer/data/etc/openslx/vmware/run-virt.include
@@ -18,77 +18,184 @@
# configuration writer functions
################################################################################
-runvmwareconfheader ()
+function clean_string ()
{
-echo "# This configuration file was generated by $0" > "$conffile"
-
-# check for the ostype
-case "${vmostype}" in
- win31*)
- mem="32"
- cpu_cores="1"
- sound="sb16"
- shfolders="FALSE"
- ;;
- win95*)
- mem="92"
- cpu_cores="1"
- shfolders="FALSE"
- ;;
- win98*|winme*)
- mem="256"
- cpu_cores="1"
- shfolders="FALSE"
- ;;
- winxp*|windowsxp*)
- shfolders="TRUE"
- ;;
- winvista*|windowsvista*)
- shfolders="TRUE"
- ;;
- windows7*)
- shfolders="TRUE"
- enable3d="TRUE"
- ;;
- windows8*)
- shfolders="TRUE"
- ;;
- linux*|*ubuntu*|*suse*|debian*|*sci*)
- vmostype="linux"
- shfolders="TRUE"
- ;;
- macos*)
- cpu_cores="1"
- vmostype="other"
- shfolders="FALSE"
- ;;
- beos*)
- cpu_cores="1"
- vmostype="other"
- shfolders="FALSE"
- ;;
- *)
- vmostype="other"
- shfolders="FALSE"
- ;;
-esac
-
-svga_autodetect="TRUE"
-
-numvcpus="${cpu_cores}"
-[ "${cpu_cores}" -ge "4" 2>/dev/null ] && numvcpus="4"
-
-if [ "x$shfolders" != "xFALSE" ]; then
- ENABLE_SHARE='sharedFolder.option = "alwaysEnabled"'
-else
- ENABLE_SHARE=''
-fi
-
-[ "${mem}" -ge "8000" ] && mem=8000
+ if [ "$#" -ge 1 ]; then
+ echo "$@" | tr '[:upper:]' '[:lower:]' | tr -d '\t _./'
+ else
+ cat - | tr '[:upper:]' '[:lower:]' | tr -d '\t _./'
+ fi
+}
-cap3d="WHAT IS THIS VAR USED FOR?" # helper var for loging output
+vmostype=$(clean_string "$vmostype")
-cat >> "$conffile" <<HEREEND
+runvmwareconfheader ()
+{
+ echo "# This configuration file was generated by $0" > "$conffile"
+
+ MAXMEM="9999999"
+
+ # check for the ostype
+ # 1) memory limits
+ case "$vmostype" in
+ win31*|windows31*)
+ MAXMEM="32"
+ vmostype="win31"
+ ;;
+ winnt*|windowsnt*)
+ MAXMEM="1000"
+ vmostype="winnt"
+ ;;
+ win95*|windows95*)
+ MAXMEM="96"
+ vmostype="win95"
+ ;;
+ win98*|windows98*)
+ MAXMEM="384"
+ vmostype="win98"
+ ;;
+ winme*|windowsme*)
+ MAXMEM="384"
+ vmostype="winme"
+ ;;
+ win2000|windows2000|win2000pro*)
+ MAXMEM="4000"
+ vmostype="win2000pro"
+ ;;
+ win2000srv*|windows2000srv*|win2000serv*|windows2000serv*)
+ MAXMEM="4000"
+ vmostype="win2000serv"
+ ;;
+ win2000adv*|windows2000adv*|win2000dat*|windows2000dat*)
+ MAXMEM="8000"
+ vmostype="win2000advserv"
+ ;;
+ winnet*64|win*2003*64|windowsnet*64)
+ MAXMEM="8000"
+ vmostype="winnetstandard-64"
+ ;;
+ winnet*|win*2003*|windowsnet*)
+ MAXMEM="4000"
+ vmostype="winnetstandard"
+ ;;
+ winxphome*|windowsxphome*)
+ MAXMEM="4000"
+ vmostype="winxphome"
+ ;;
+ winxp*64|windowsxp*64)
+ MAXMEM="8000"
+ vmostype="winxppro-64"
+ ;;
+ winxp*|windowsxp*)
+ MAXMEM="4000"
+ vmostype="winxppro"
+ ;;
+ winvista*64|windowsvista*64)
+ MAXMEM="16000"
+ vmostype="winvista-64"
+ ;;
+ winvista*|windowsvista*)
+ MAXMEM="8000"
+ vmostype="winvista"
+ ;;
+ win7*64|windows7*64)
+ MAXMEM="32000"
+ vmostype="windows7-64"
+ ;;
+ win7*|windows7*)
+ MAXMEM="8000"
+ vmostype="windows7"
+ ;;
+ win*64)
+ MAXMEM="16000"
+ ;;
+ win*)
+ MAXMEM="8000"
+ ;;
+ dos|msdos*|ms-dos*)
+ MAXMEM="128"
+ vmostype="dos"
+ ;;
+ *64)
+ MAXMEM="123456"
+ ;;
+ *)
+ MAXMEM="8000"
+ ;;
+ esac
+
+ # 2) other hardware + capabilities
+ shfolders="FALSE"
+ case "$vmostype" in
+ win31)
+ cpu_cores="1"
+ sound="sb16"
+ ;;
+ winnt)
+ cpu_cores="2"
+ sound="sb16"
+ ;;
+ win95|win98|winme)
+ cpu_cores="1"
+ ;;
+ win2000pro) # Don't know if Win 2000 supports shared folders, disabled to be safe
+ cpu_cores="2"
+ ;;
+ win2000serv)
+ cpu_cores="4"
+ ;;
+ win2000advserv)
+ cpu_cores="8"
+ ;;
+ winxphome)
+ cpu_cores="1"
+ shfolders="TRUE"
+ ;;
+ winxp*|winvista*|windows7*)
+ shfolders="TRUE"
+ ;;
+ winnet*)
+ shfolders="TRUE"
+ ;;
+ linux*|ubuntu*|suse*|debian*)
+ shfolders="TRUE"
+ ;;
+ macos*64)
+ cpu_cores="2"
+ vmostype="freebsd-64"
+ ;;
+ macos*)
+ cpu_cores="1"
+ vmostype="freebsd"
+ ;;
+ beos*)
+ vmostype="other"
+ ;;
+ # Unknown guestOS setting in .xml - use conservative defaults
+ *64)
+ vmostype="other-64"
+ ;;
+ *)
+ vmostype="other"
+ ;;
+ esac
+
+ svga_autodetect="TRUE"
+
+ numvcpus="${cpu_cores}"
+ [ "${cpu_cores}" -ge "4" 2>/dev/null ] && numvcpus="4"
+
+ if [ "x$shfolders" != "xFALSE" ]; then
+ ENABLE_SHARE='sharedFolder.option = "alwaysEnabled"'
+ else
+ ENABLE_SHARE=''
+ fi
+
+ [ "${mem}" -ge "$MAXMEM" ] && mem="$MAXMEM"
+
+ cap3d="WHAT IS THIS VAR USED FOR?" # helper var for loging output
+
+ cat >> "$conffile" <<HEREEND
.encoding = "UTF-8"
config.version = "8"
@@ -210,9 +317,9 @@ parallel0.present = "$parallel"
parallel0.bidirectional = "$paralbidi"
$paraldev
HEREEND
-
-# set the appropriate permissions for the vmware config file
-chmod u+rwx ${conffile} >/dev/null 2>&1
+
+ # set the appropriate permissions for the vmware config file
+ chmod u+rwx ${conffile} >/dev/null 2>&1
}
preferencesheader ()
@@ -260,10 +367,10 @@ pref.enableAllSharedFolders = "TRUE"
# eula
HEREEND
-
-# different eula parameters from Workstation 9+/ Player 5+
+
+ # different eula parameters from Workstation 9+/ Player 5+
case "$vmversion" in
- 3.*|4.*|7.*|8.*)
+ 3.*|4.*|7.*|8.*)
cat >> "$vmhome/preferences" <<HEREEND
pref.eula.size = "2"
pref.eula.0.appName = "VMware Player"
@@ -272,8 +379,8 @@ pref.eula.1.appName = "VMware Workstation"
pref.eula.1.buildNumber = "$vmbuild"
HEREEND
;;
- 5.*|9.*)
- # code
+ 5.*|9.*)
+ # code
cat >> "$vmhome/preferences" <<HEREEND
pref.eula.count = "2"
pref.eula0.product = "VMware Player"
@@ -283,7 +390,7 @@ pref.eula1.build = "$vmbuild"
HEREEND
;;
esac
-
+
}
@@ -327,7 +434,7 @@ vmopt="-X"
################################################################################
# use different network card (default e1000, vlance, vmxnet)
-if [ -n "${network_card}" ]; then
+if [ -n "${network_card}" ]; then
network_virtualDev="ethernet0.virtualDev = \"${network_card}\""
else
network_virtualDev='# using default virtualDev for ethernet0'
@@ -337,12 +444,12 @@ fi
sound="es1371"
# check for 3D configuration setting
-case "${enable3d}" in
-*true*|*yes*|*TRUE*|*True*|*YES*|*Yes*)
- enable3d="TRUE"
+case "$(clean_string "$enable3d")" in
+ true|yes)
+ enable3d="TRUE"
;;
-*)
- enable3d="FALSE"
+ *)
+ enable3d="FALSE"
;;
esac
@@ -355,46 +462,46 @@ fi
# serial/parallel port defined (e.g. "ttyS0, lp0" or "autodetect")
case "$serial" in
-tty*)
- if [ -e "/dev/$serial" ]; then
- serialdev="serial0.filename = \"/dev/${serial}\""
+ tty*)
+ if [ -e "/dev/$serial" ]; then
+ serialdev="serial0.filename = \"/dev/${serial}\""
+ serial="TRUE"
+ else
+ serialdev="# no serial port configured"
+ serial="FALSE"
+ fi
+ ;;
+ auto*)
+ serialdev="serial0.autodetect = \"TRUE\""
serial="TRUE"
- else
+ ;;
+ *)
serialdev="# no serial port configured"
serial="FALSE"
- fi
- ;;
-auto*)
- serialdev="serial0.autodetect = \"TRUE\""
- serial="TRUE"
- ;;
-*)
- serialdev="# no serial port configured"
- serial="FALSE"
;;
esac
case "$parallel" in
-lp*|parport*)
- if [ -e "/dev/$parallel" ]; then
- paraldev="parallel0.filename = \"/dev/${parallel}\""
+ lp*|parport*)
+ if [ -e "/dev/$parallel" ]; then
+ paraldev="parallel0.filename = \"/dev/${parallel}\""
+ paralbidi="TRUE"
+ parallel="TRUE"
+ else
+ paraldev="# no parallel port configured"
+ paralbidi="FALSE"
+ parallel="FALSE"
+ fi
+ ;;
+ auto*)
+ paraldev="parallel0.autodetect = \"TRUE\""
paralbidi="TRUE"
parallel="TRUE"
- else
+ ;;
+ *)
paraldev="# no parallel port configured"
paralbidi="FALSE"
parallel="FALSE"
- fi
- ;;
-auto*)
- paraldev="parallel0.autodetect = \"TRUE\""
- paralbidi="TRUE"
- parallel="TRUE"
- ;;
-*)
- paraldev="# no parallel port configured"
- paralbidi="FALSE"
- parallel="FALSE"
;;
esac
@@ -404,13 +511,13 @@ imghead=$(head -n 30 "${diskfile}")
hddrv=$(echo "${imghead}" | grep -m1 -ia "ddb.adapterType" | awk -F '"' '{print $2}')
hwver=$(echo "${imghead}" | grep -m1 -ia "ddb.virtualHWVersion" | awk -F '"' '{print $2}')
case "${hddrv}" in
-ide)
- ide="TRUE"
- scsi="FALSE"
+ ide)
+ ide="TRUE"
+ scsi="FALSE"
;;
-lsilogic|buslogic)
- ide="FALSE"
- scsi="TRUE"
+ lsilogic|buslogic)
+ ide="FALSE"
+ scsi="TRUE"
;;
esac
@@ -456,12 +563,12 @@ writelog "\tConffile:\t${conffile}"
writelog "\tRedodir:\t${redodir}"
writelog "\tVMhome:\t\t${vmhome}"
writelog "\t/tmp info: \
- $(grep "/tmp " /proc/mounts) $(df -h | grep " /tmp$" | awk '{print $2}')"
+$(grep "/tmp " /proc/mounts) $(df -h | grep " /tmp$" | awk '{print $2}')"
# hw setup
writelog "Hardware:"
writelog "\tMAC:\t\t00:50:56:${VM_ID}:${machostpart}"
if [ -n "${network_card}" ]; then
- writelog "\tNet Adaptor:\t${network_card}"
+ writelog "\tNet Adaptor:\t${network_card}"
fi
writelog "\tMem:\t\t${mem} MB"
# echo nur wenn hostmem gesetzt
@@ -471,10 +578,10 @@ writelog "\tCD-ROM1:\t${cdrom0}"
writelog "\tCD-ROM2:\t${cdrom1}"
writelog "\tFloppy_A:\t${floppy0}"
if [ "${serial}" = "TRUE" ]; then
- writelog "\tSerial Port:\t${serialdev}"
+ writelog "\tSerial Port:\t${serialdev}"
fi
if [ "${parallel}" = "TRUE" ]; then
- writelog "\tParallel Port:\t${paraldev}"
+ writelog "\tParallel Port:\t${paraldev}"
fi
# image
writelog "Diskimage:"
@@ -486,7 +593,7 @@ writelog "\tVMostype:\t${vmostype}"
writelog "Misc:"
writelog "\tDisplayname:\t${displayname}"
if [ "${cap3d}" = "TRUE" -a "${enable3d}" = "TRUE" ]; then
- writelog "\t3D Graphics:\tenabled"
+ writelog "\t3D Graphics:\tenabled"
fi
# empty line at end
writelog ""
@@ -497,9 +604,9 @@ writelog ""
# configure and start samba service to provide user's home directory
if [ -f /usr/sbin/smbd ] ; then
- sudo /opt/openslx/bin/sed -i /etc/vmware/smb.conf -e "s,USER,$USER,"
- sudo /usr/sbin/nmbd -s /etc/vmware/smb.conf
- sudo /usr/sbin/smbd -s /etc/vmware/smb.conf
+ sudo /opt/openslx/bin/sed -i /etc/vmware/smb.conf -e "s,USER,$USER,"
+ sudo /usr/sbin/nmbd -s /etc/vmware/smb.conf
+ sudo /usr/sbin/smbd -s /etc/vmware/smb.conf
fi
# using the modified version of the wrapper script