summaryrefslogtreecommitdiffstats
path: root/remote/modules/vmware/data/opt/openslx/etc
diff options
context:
space:
mode:
authorSimon Rettberg2013-10-14 18:59:19 +0200
committerSimon Rettberg2013-10-14 18:59:19 +0200
commiteb4a83321ccae1b55fe65474b0f1f0f69c06b3a2 (patch)
tree63ff75dc7dbc404923f374133d58888d35ba91e4 /remote/modules/vmware/data/opt/openslx/etc
parent[cups] cups module config file for openSuse (diff)
downloadtm-scripts-eb4a83321ccae1b55fe65474b0f1f0f69c06b3a2.tar.gz
tm-scripts-eb4a83321ccae1b55fe65474b0f1f0f69c06b3a2.tar.xz
tm-scripts-eb4a83321ccae1b55fe65474b0f1f0f69c06b3a2.zip
[vmware] Switch from VMware player to workstation, bump version to 10.0 (would be player 6.0)
also rename module from vmplayer to vmware to be more generic in case we switch again
Diffstat (limited to 'remote/modules/vmware/data/opt/openslx/etc')
-rw-r--r--remote/modules/vmware/data/opt/openslx/etc/vmware/nvrambin0 -> 8664 bytes
-rwxr-xr-xremote/modules/vmware/data/opt/openslx/etc/vmware/run-virt.include644
-rw-r--r--remote/modules/vmware/data/opt/openslx/etc/vmware/vmware.conf8
3 files changed, 652 insertions, 0 deletions
diff --git a/remote/modules/vmware/data/opt/openslx/etc/vmware/nvram b/remote/modules/vmware/data/opt/openslx/etc/vmware/nvram
new file mode 100644
index 00000000..85125f1e
--- /dev/null
+++ b/remote/modules/vmware/data/opt/openslx/etc/vmware/nvram
Binary files differ
diff --git a/remote/modules/vmware/data/opt/openslx/etc/vmware/run-virt.include b/remote/modules/vmware/data/opt/openslx/etc/vmware/run-virt.include
new file mode 100755
index 00000000..e60d5a5b
--- /dev/null
+++ b/remote/modules/vmware/data/opt/openslx/etc/vmware/run-virt.include
@@ -0,0 +1,644 @@
+# run-virt.include
+# -----------------------------------------------------------------------------
+# Copyright (c) 2009..2012 - RZ Uni Freiburg
+# Copyright (c) 2009..2013 - OpenSLX GmbH
+#
+# This program is free software distributed under the GPL version 2.
+# See http://openslx.org/COPYING
+#
+# If you have any feedback please consult http://openslx.org/feedback and
+# send your suggestions, praise, or complaints to feedback@openslx.org
+#
+# General information about OpenSLX can be found at http://openslx.org/
+# -----------------------------------------------------------------------------
+# run-virt.include
+# - component for vmware/player of the vmchooser plugin run-virt.sh
+################################################################################
+
+# configuration writer functions
+################################################################################
+
+function clean_string ()
+{
+ if [ "$#" -ge 1 ]; then
+ echo "$@" | tr '[A-Z]' '[a-z]' | tr -d '\t _./'
+ else
+ cat - | tr '[A-Z]' '[a-z]' | tr -d '\t _./'
+ fi
+}
+
+vmostype=$(clean_string "$vmostype")
+
+runvmwareconfheader ()
+{
+ echo "# This configuration file was generated by $0" > "$conffile"
+
+ # does this makes sense? Depends on the VMworkstation in use
+ MAXMEM="9999999"
+ MAXCORES="4"
+
+ # 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)
+ MAXCORES="1"
+ sound="sb16"
+ ;;
+ winnt)
+ MAXCORES="2"
+ sound="sb16"
+ ;;
+ win95|win98|winme)
+ MAXCORES="1"
+ ;;
+ win2000pro) # Don't know if Win 2000 supports shared folders, disabled to be safe
+ MAXCORES="2"
+ ;;
+ win2000serv)
+ MAXCORES="4"
+ ;;
+ win2000advserv)
+ MAXCORES="8"
+ ;;
+ winxphome)
+ MAXCORES="1"
+ shfolders="TRUE"
+ ;;
+ winxp*|winvista*|windows7*)
+ MAXCORES="4"
+ shfolders="TRUE"
+ ;;
+ winnet*)
+ shfolders="TRUE"
+ ;;
+ linux*|ubuntu*|suse*|debian*)
+ shfolders="TRUE"
+ ;;
+ macos*64)
+ MAXCORES="2"
+ vmostype="freebsd-64"
+ ;;
+ macos*)
+ MAXCORES="1"
+ vmostype="freebsd"
+ ;;
+ beos*)
+ vmostype="other"
+ ;;
+ # Unknown guestOS setting in .xml - use conservative defaults
+ *64)
+ vmostype="other-64"
+ ;;
+ *)
+ vmostype="other"
+ ;;
+ esac
+
+ svga_autodetect="TRUE"
+
+ real_core_count="$cpu_cores"
+ [ "$cpu_cores" -gt "$MAXCORES" ] && cpu_cores="$MAXCORES"
+ # It currently makes no sense to set the virtual number of cores
+ # to a different value than the virtual number of cores per virtual CPU.
+ cores_per_socket="$cpu_cores"
+
+ if [ "x$shfolders" != "xFALSE" ]; then
+ ENABLE_SHARE='sharedFolder.option = "alwaysEnabled"'
+ else
+ ENABLE_SHARE=''
+ fi
+
+ [ "$mem" -ge "$MAXMEM" ] && mem="$MAXMEM"
+ [ "$hwver" -lt "7" -a "$mem" -gt "3500" ] && mem="3500"
+
+ cap3d="WHAT IS THIS VAR USED FOR?" # helper var for loging output
+
+ cat >> "$conffile" <<HEREEND
+.encoding = "UTF-8"
+config.version = "8"
+
+# general hardware (ehci, 3d accel)
+ehci.present = "TRUE"
+$FORCE3D
+mks.enable3d = "$enable3d"
+
+monitor.virtual_mmu = "automatic"
+monitor.virtual_exec = "automatic"
+floppy1.clientDevice = "FALSE"
+floppy1.readonly = "TRUE"
+
+# id
+virtualHW.version = "$hwver"
+displayName = "$displayname"
+guestOS = "$vmostype"
+
+# CPU/MEM
+numvcpus = "$cpu_cores"
+cpuid.coresPerSocket = "$cores_per_socket"
+maxvcpus = "$real_core_count"
+memsize = "$mem"
+MemAllowAutoScaleDown = "FALSE"
+MemTrimRate = "-1"
+
+# ide-disks
+ide0:0.present = "$ide"
+ide0:0.fileName = "$vm_diskfile"
+## Edited for persistent mode.
+ide0:0.mode = "independent-${diskmode}"
+##
+ide1:0.present = "$cdrom0"
+ide1:0.autodetect = "TRUE"
+ide1:0.fileName = "auto detect"
+ide1:0.deviceType = "cdrom-raw"
+ide1:1.present = "$cdrom1"
+ide1:1.autodetect = "TRUE"
+ide1:1.fileName = "auto detect"
+ide1:1.deviceType = "cdrom-raw"
+
+# scsi-disks
+scsi0.present = "$scsi"
+scsi0:0.present = "$scsi"
+scsi0:0.fileName = "$vm_diskfile"
+scsi0.virtualDev = "$hddrv"
+## Edited for persistent mode.
+scsi0:0.mode = "independent-${diskmode}"$stateFileConfiguration
+##
+
+# floppies
+floppy0.present = "$floppy0"
+floppy0.startConnected = "FALSE"
+floppy0.autodetect = "TRUE"
+floppy0.fileName = "auto detect"
+
+# we need floppy b: for our windows client configuration
+floppy1.present = "$floppy1"
+floppy1.startConnected = "TRUE"
+floppy1.fileType = "file"
+floppy1.fileName = "$floppy1name"
+
+# nics
+ethernet0.present = "TRUE"
+ethernet0.addressType = "static"
+$network_virtualDev
+ethernet0.connectionType = "$network_kind"
+#ethernet1.connectionType = "custom"
+#ethernet1.vnet = "/dev/vmnet2"
+ethernet0.address = "00:50:56:$macaddrsuffix"
+ethernet0.wakeOnPcktRcv = "FALSE"
+
+# sound
+sound.present = "TRUE"
+sound.fileName = "-1"
+sound.autodetect = "TRUE"
+sound.virtualdev = "$sound"
+
+# svga
+svga.autodetect = "$svga_autodetect"
+
+# usb
+usb.present = "TRUE"
+usb.generic.autoconnect = "TRUE"
+
+# pci configuration
+usb.pciSlotNumber = "16"
+ethernet0.pciSlotNumber = "17"
+sound.pciSlotNumber = "18"
+ehci.pciSlotNumber = "19"
+scsi0.pciSlotNumber = "20"
+
+# shared folders
+$ENABLE_SHARE
+sharedFolder0.present = "$shfolders"
+sharedFolder0.enabled = "$shfolders"
+sharedFolder0.expiration = "never"
+sharedFolder0.guestName = "$sharename"
+sharedFolder0.hostPath = "$sharepath"
+sharedFolder0.readAccess = "TRUE"
+sharedFolder0.writeAccess = "TRUE"
+sharedFolder.maxNum = "1"
+
+# dirs/configs
+tmpDirectory = "$redodir"
+redoLogDir = "$redodir"
+mainMem.useNamedFile = "TRUE"
+snapshot.disabled = "TRUE"
+tools.syncTime = "TRUE"
+isolation.tools.hgfs.disable = "FALSE"
+hgfs.mapRootShare = "TRUE"
+isolation.tools.dnd.disable = "FALSE"
+isolation.tools.copy.enable = "TRUE"
+isolation.tools.paste.enabled = "TRUE"
+
+# serial port
+serial0.present = "$serial"
+$serialdev
+
+# parallel port
+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
+}
+
+preferencesheader ()
+{
+ cat > "$vmhome/preferences" <<HEREEND
+.encoding = "UTF-8"
+# This configuration file was generated by $0
+
+# updates/tips
+webUpdate.enabled = "FALSE"
+pref.downloadPermission = "deny"
+pref.vmplayer.downloadPermission = "deny"
+pref.vmplayer.webUpdateOnStartup = "FALSE"
+pref.tip.startup = "FALSE"
+hints.hideAll = "TRUE"
+hint.vmui.showAllUSBDevs = "FALSE"
+
+# configs
+prefvmx.defaultVMPath = "$vmhome"
+prefvmx.mru.config = "$conffile:"
+
+# hot keys
+pref.hotkey.control = "true"
+pref.hotkey.alt = "true"
+pref.hotkey.shift = "true"
+pref.hotkey.gui = "true"
+gui.restricted = "true"
+
+# fullscreen/mouse/keyboard
+pref.fullscreen.toolbarPixels = "0"
+pref.vmplayer.fullscreen.autohide = "TRUE"
+pref.grabOnMouseClick = "TRUE"
+pref.grabOnKeyPress = "FALSE"
+pref.motionGrab = "TRUE"
+pref.motionUngrab = "TRUE"
+pref.hideCursorOnUngrab = "TRUE"
+pref.autoFit = "TRUE"
+pref.autoFitFullScreen = "fitGuestToHost"
+pref.vmplayer.exit.vmAction = "poweroff"
+pref.vmplayer.confirmOnExit = "TRUE"
+
+# shared folders
+pref.enableAllSharedFolders = "TRUE"
+
+# eula
+
+HEREEND
+
+ # different eula parameters from Workstation 9+/ Player 5+
+ case "$vmversion" in
+ 3.*|4.*|7.*|8.*)
+ cat >> "$vmhome/preferences" <<HEREEND
+pref.eula.size = "2"
+pref.eula.0.appName = "VMware Player"
+pref.eula.0.buildNumber = "$vmbuild"
+pref.eula.1.appName = "VMware Workstation"
+pref.eula.1.buildNumber = "$vmbuild"
+HEREEND
+ ;;
+ 5.*|9.*)
+ # code
+ cat >> "$vmhome/preferences" <<HEREEND
+pref.eula.count = "2"
+pref.eula0.product = "VMware Player"
+pref.eula0.build = "$vmbuild"
+pref.eula1.product = "VMware Workstation"
+pref.eula1.build = "$vmbuild"
+HEREEND
+ ;;
+ esac
+
+}
+
+
+# declaration of default variables
+################################################################################
+
+
+[ "$mem" -gt 3800 -a "$(uname -m)" != "x86_64" ] && mem=3800
+
+# VM-ID static (0D), remove if changed to 00
+VM_ID="0D"
+# should be dynamic
+if [ "x$(which bc)" != "x" ]; then
+ VM_ID=$(echo "obase=16; $$" | bc)
+ VM_ID=$(expr substr $VM_ID $(expr ${#VM_ID} - 1) 2)
+else
+ VM_ID=$[ $$ % 100 ]
+fi
+# temporary disk space for logs, etc...
+redodir=/tmp/vmware/${USER}.$$
+# dir for configs and vmem file
+confdir=/tmp/vmware/${USER}.$$
+# configfile
+conffile="${confdir}/run-vmware.conf"
+# diskfile
+diskfile="${vmpath}"
+# users vmware config folder
+vmhome="${HOME}/.vmware"
+
+# get several version infos for vmware/player
+. /opt/openslx/etc/vmware/vmware.conf
+vmbuild=$buildversion
+vmversion=$version
+
+# VMware start options
+# "-X": start in fullscreen
+vmopt="-X"
+
+
+# hardware checks
+################################################################################
+
+# use different network card (default e1000, vlance, vmxnet)
+if [ -n "${network_card}" ]; then
+ network_virtualDev="ethernet0.virtualDev = \"${network_card}\""
+else
+ network_virtualDev='# using default virtualDev for ethernet0'
+fi
+
+# set standard sound card, overwrite depending on OS (options sb16, es1371, hdaudio)
+sound="es1371"
+
+# check for 3D configuration setting
+case "$(clean_string "$enable3d")" in
+ true|yes)
+ enable3d="TRUE"
+ ;;
+ *)
+ enable3d="FALSE"
+ ;;
+esac
+
+# check for whitelisted HW-3D
+. /opt/openslx/config
+FORCE3D=""
+if [ -n "$SLX_VMWARE_3D" ]; then
+ FORCE3D='mks.gl.allowBlacklistedDrivers = "TRUE"'
+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}\""
+ 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}\""
+ 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
+
+# check if ide/scsi and hwver of image
+# read only the first 30 lines to be sure
+imghead=$(head -n 30 "${diskfile}")
+## Added to handle persistent snapshots.
+if [[ "$originalVMDKFilePath" ]]; then
+ echo "Select \"${originalVMDKFilePath}\" as information base for \"${diskfile}\"."
+ imghead=$(head -n 30 "$originalVMDKFilePath") && \
+ # Support suspend mode.
+ stateFilePath="$(readlink -f "$(dirname "$diskfile")/"*.vmss)" && \
+ if [ -f "$stateFilePath" ]; then
+ echo "Found state file \"$stateFilePath\"." && \
+ stateFileConfiguration="
+checkpoint.vmState = \"$stateFilePath\""
+ fi
+ POSTRUN="stateFilePath=\"\$(readlink -f \"${confdir}/\"*.vmss)\" && memoryFilePath=\"\$(readlink -f \"${confdir}/\"*.vmem)\" && [ -f \"\$stateFilePath\" ] && echo \"Saving state and memory file \\\"\$stateFilePath\\\" and \\\"\$memoryFilePath\\\".\" && mv -f \"\$stateFilePath\" \"$(dirname "$diskfile")/\" && mv -f \"\$memoryFilePath\" \"$(dirname "$diskfile")/\""
+fi
+##
+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"
+ ;;
+ lsilogic|buslogic)
+ ide="FALSE"
+ scsi="TRUE"
+ ;;
+esac
+
+# write configuration files
+################################################################################
+
+# create vmware directories
+mkdir -p "$redodir" >/dev/null 2>&1
+mkdir -p "$confdir" >/dev/null 2>&1
+mkdir -p "$vmhome/dndlogs" >/dev/null 2>&1
+touch "$vmhome/dndlogs/dndlog.conf" >/dev/null 2>&1
+
+# create preferences
+preferencesheader
+
+# create VMware startup file
+runvmwareconfheader
+
+# link to conffile if confdir != redodir
+ln -s "$conffile" "$redodir/run-vmware.conf" >/dev/null 2>&1
+
+# sync is needed to ensure that data is really written to virtual disk
+sync
+
+# own nvram. We need it for floppy drive b, default nvram has just drive a
+# TODO: optimize, currently kinda inefficient, too much copys, but we
+# don't know which one is installed...
+cp "/opt/openslx/etc/vmware/nvram" "$confdir/nvram" 2>/dev/null
+
+
+# logging and stdout
+################################################################################
+
+# log script information
+writelog "# File created by $0 (VMversion ${vmversion})\n# on $(date)\n"
+## Edited for persistent mode.
+writelog "Starting with ${diskmode} mode ...\n"
+##
+
+# write all results to logfile
+# log disksetup
+writelog "Directories:"
+writelog "\tConfdir:\t${confdir}"
+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}')"
+# hw setup
+writelog "Hardware:"
+writelog "\tMAC:\t\t00:50:56:${VM_ID}:${machostpart}"
+if [ -n "${network_card}" ]; then
+ writelog "\tNet Adaptor:\t${network_card}"
+fi
+writelog "\tMem:\t\t${mem} MB"
+# echo nur wenn hostmem gesetzt
+[ -n "${hostmem}" ] && writelog "\tHostmem:\t${hostmem} MB"
+writelog "\tMax. res.:\t${xres}x${yres}"
+writelog "\tCD-ROM1:\t${cdrom0}"
+writelog "\tCD-ROM2:\t${cdrom1}"
+writelog "\tFloppy_A:\t${floppy0}"
+if [ "${serial}" = "TRUE" ]; then
+ writelog "\tSerial Port:\t${serialdev}"
+fi
+if [ "${parallel}" = "TRUE" ]; then
+ writelog "\tParallel Port:\t${paraldev}"
+fi
+# image
+writelog "Diskimage:"
+writelog "\tDiskfile:\t${diskfile}"
+writelog "\tDisktype:\t${hddrv}"
+writelog "\tHWVersion:\t${hwver}"
+writelog "\tVMostype:\t${vmostype}"
+# misc
+writelog "Misc:"
+writelog "\tDisplayname:\t${displayname}"
+if [ "${cap3d}" = "TRUE" -a "${enable3d}" = "TRUE" ]; then
+ writelog "\t3D Graphics:\tenabled"
+fi
+# empty line at end
+writelog ""
+
+
+# finally set env for run-virt.sh
+################################################################################
+
+# 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
+#fi
+
+# For debugging
+cp "$conffile" "/tmp/vmware-last-config"
+
+# using the modified version of the wrapper script
+VIRTCMD="/opt/openslx/bin/vmplayer"
+VIRTCMDOPTS="${vmopt} ${conffile}"
+RMDIRS="${redodir} ${conffile}"
diff --git a/remote/modules/vmware/data/opt/openslx/etc/vmware/vmware.conf b/remote/modules/vmware/data/opt/openslx/etc/vmware/vmware.conf
new file mode 100644
index 00000000..210b814f
--- /dev/null
+++ b/remote/modules/vmware/data/opt/openslx/etc/vmware/vmware.conf
@@ -0,0 +1,8 @@
+#configuration file for vmware background services written in stage3 setup
+vmnet0=true
+vmnet1=192.168.101.1/24
+vmnet1nat=true
+vmnet8=192.168.102.1/24
+#stage1 variables produced during plugin install
+version="5.0"
+buildversion="1031769"