summaryrefslogtreecommitdiffstats
path: root/remote/modules/vmplayer/data
diff options
context:
space:
mode:
authorSimon Rettberg2013-05-14 16:41:56 +0200
committerSimon Rettberg2013-05-14 16:41:56 +0200
commit113ce521770232a6d99cdb07dd55d8879214c213 (patch)
treec1233152bfb18b8bd427cf3a1178900bfd768d8c /remote/modules/vmplayer/data
parentultrastracke 2 (diff)
parentultrastracke update (diff)
downloadtm-scripts-113ce521770232a6d99cdb07dd55d8879214c213.tar.gz
tm-scripts-113ce521770232a6d99cdb07dd55d8879214c213.tar.xz
tm-scripts-113ce521770232a6d99cdb07dd55d8879214c213.zip
Merge branch 'master' of openslx:openslx-ng/tm-scripts
Diffstat (limited to 'remote/modules/vmplayer/data')
-rw-r--r--remote/modules/vmplayer/data/etc/openslx/vmware/nvrambin0 -> 8664 bytes
-rw-r--r--remote/modules/vmplayer/data/etc/openslx/vmware/run-virt.include530
-rwxr-xr-xremote/modules/vmplayer/data/etc/openslx/vmware/vmware-env128
-rw-r--r--remote/modules/vmplayer/data/etc/openslx/vmware/vmware.conf8
-rw-r--r--remote/modules/vmplayer/data/etc/systemd/system/vmware.service8
-rw-r--r--remote/modules/vmplayer/data/etc/vmware/bootstrap11
-rw-r--r--remote/modules/vmplayer/data/etc/vmware/config19
l---------remote/modules/vmplayer/data/etc/vmware/icu1
l---------remote/modules/vmplayer/data/etc/vmware/installer.sh1
-rw-r--r--remote/modules/vmplayer/data/etc/vmware/networking12
-rw-r--r--remote/modules/vmplayer/data/etc/vmware/usbarb.rules4
-rw-r--r--remote/modules/vmplayer/data/etc/vmware/vmnet1/dhcpd/dhcpd.conf40
-rw-r--r--remote/modules/vmplayer/data/etc/vmware/vmnet1/dhcpd/dhcpd.leases7
-rw-r--r--remote/modules/vmplayer/data/etc/vmware/vmnet8/dhcpd/dhcpd.conf43
-rw-r--r--remote/modules/vmplayer/data/etc/vmware/vmnet8/dhcpd/dhcpd.leases7
-rw-r--r--remote/modules/vmplayer/data/etc/vmware/vmnet8/nat.mac1
-rw-r--r--remote/modules/vmplayer/data/etc/vmware/vmnet8/nat/nat.conf60
-rwxr-xr-xremote/modules/vmplayer/data/opt/openslx/bin/vmplayer11
-rwxr-xr-xremote/modules/vmplayer/data/opt/openslx/bin/vmware11
19 files changed, 902 insertions, 0 deletions
diff --git a/remote/modules/vmplayer/data/etc/openslx/vmware/nvram b/remote/modules/vmplayer/data/etc/openslx/vmware/nvram
new file mode 100644
index 00000000..85125f1e
--- /dev/null
+++ b/remote/modules/vmplayer/data/etc/openslx/vmware/nvram
Binary files differ
diff --git a/remote/modules/vmplayer/data/etc/openslx/vmware/run-virt.include b/remote/modules/vmplayer/data/etc/openslx/vmware/run-virt.include
new file mode 100644
index 00000000..65db53da
--- /dev/null
+++ b/remote/modules/vmplayer/data/etc/openslx/vmware/run-virt.include
@@ -0,0 +1,530 @@
+# 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
+################################################################################
+
+runvmwareconfheader ()
+{
+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"
+ ;;
+ 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
+case "$vmversion" in
+ *)
+ svga_autodetect="TRUE"
+ numvcpus="1"
+ echo ".encoding = \"UTF-8\"
+# version specific stuff - all versions
+config.version = \"8\"" >>${conffile}
+ ;;
+esac
+case "$vmversion" in
+ 2.*|3.*|4.*|5.*|6.*|7.*|8.*|9.*)
+ [ ${shfolders} == FALSE ] || echo "
+# version specific stuff - ver. 2.*|3.*|6.*|7.*|8.*|9.*
+sharedFolder.option = \"alwaysEnabled\"" >>${conffile}
+ ;;
+esac
+case "$vmversion" in
+ 2.5|3.*|4.*|5.*|6.5|7.*|8.*|9.*)
+ if [ "${cpu_cores}" -ge "2" 2>/dev/null ]; then
+ numvcpus="2"
+ fi
+ if [ "${mem}" -ge "8000" 2>/dev/null ]; then
+ mem=8000
+ fi
+ cap3d="TRUE" # helper var for loging output
+ echo "
+# version specific stuff - ver. 2.5|3.*|6.5|7.*
+ehci.present = \"TRUE\"
+mks.enable3d = \"${enable3d}\"" >>${conffile}
+ ;;
+esac
+case "$vmversion" in
+ 3.*|4.*|7.*|8.*|9.*)
+ numvcpus="${cpu_cores}"
+ if [ "${cpu_cores}" -ge "4" 2>/dev/null ]; then
+ numvcpus="4"
+ fi
+ # svga_autodetect="FALSE" # if defined manual, see below
+ echo "
+# version specific stuff - ver. 3.*|7.*
+cpuid.coresPerSocket = \"${cpu_cores}\"
+maxvcpus = \"4\"
+monitor.virtual_mmu = \"automatic\"
+monitor.virtual_exec = \"automatic\"
+floppy1.clientDevice = \"FALSE\"
+floppy1.readonly = \"TRUE\"" >>${conffile}
+ ;;
+esac
+
+echo "
+# id
+virtualHW.version = \"${hwver}\"
+displayName = \"${displayname}\"
+guestOS = \"${vmostype}\"
+
+# CPU/MEM
+numvcpus = \"${numvcpus}\"
+memsize = \"${mem}\"
+MemAllowAutoScaleDown = \"FALSE\"
+MemTrimRate = \"-1\"
+
+# ide-disks
+ide0:0.present = \"${ide}\"
+ide0:0.fileName = \"${diskfile}\"
+ide0:0.mode = \"independent-nonpersistent\"
+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 = \"${diskfile}\"
+scsi0.virtualDev = \"${hddrv}\"
+scsi0:0.mode = \"independent-nonpersistent\"
+
+# 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:${VM_ID}:${machostpart}\"
+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
+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}" >>${conffile}
+
+# set the appropriate permissions for the vmware config file
+chmod u+rwx ${conffile} >/dev/null 2>&1
+}
+
+preferencesheader ()
+{
+echo ".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" >${vmhome}/preferences
+
+# different eula parameters from Workstation 9+/ Player 5+
+case "$vmversion" in
+ 3.*|4.*|7.*|8.*)
+ echo "
+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}\"" >>${vmhome}/preferences
+ ;;
+ 5.*|9.*)
+ # code
+ echo "
+pref.eula.count = \"2\"
+pref.eula0.product = \"VMware Player\"
+pref.eula0.build = \"${vmbuild}\"
+pref.eula1.product = \"VMware Workstation\"
+pref.eula1.build = \"${vmbuild}\"" >>${vmhome}/preferences
+ ;;
+esac
+
+}
+
+
+# declaration of default variables
+################################################################################
+
+# 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)
+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
+. /etc/openslx/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 "${enable3d}" in
+ *true*|*yes*)
+ enable3d="TRUE"
+ ;;
+ *)
+ enable3d="FALSE"
+ ;;
+esac
+
+# serial/parallel port defined (e.g. "ttyS0, lp0" or "autodetect")
+case "$serial" in
+ tty*)
+ serialdev="serial0.filename = \"/dev/${serial}\""
+ serial="TRUE"
+ ;;
+ auto*)
+ serialdev="serial0.autodetect = \"TRUE\""
+ serial="TRUE"
+ ;;
+ *)
+ serialdev="# no serial port configured"
+ serial="FALSE"
+ ;;
+esac
+case "$parallel" in
+ lp*|parport*)
+ paraldev="parallel0.filename = \"/dev/${parallel}\""
+ paralbidi="TRUE"
+ parallel="TRUE"
+ ;;
+ auto*)
+ paraldev="parallel0.autodetect = \"TRUE\""
+ paralbidi="TRUE"
+ parallel="TRUE"
+ ;;
+ *)
+ paraldev="# no parallel port configured"
+ paralbidi="FALSE"
+ parallel="FALSE"
+ ;;
+esac
+
+# adjust memory available for vmware guests
+#if [ -n "${forcemem}" ]; then
+# mem="${forcemem}"
+#else
+# case "$vmversion" in
+# 2.*|6.*)
+# permem=30
+# ;;
+# 3.*|7.*)
+# permem=25
+# ;;
+# esac
+# if [ "${totalmem}" -ge "2500" ]; then
+# permem=40
+# fi
+# # check if /tmp is on harddisk
+# if grep -qe "/dev/.* /tmp " /proc/mounts ; then
+# permem=60
+# id44="1"
+# # Hack, if more than 2,5G RAM use 40% of Ram and write vmem into Ram as well
+# # (40% vmware | 40% confdir(vmem...) | 20% host
+# # VMplayer 2+ issue
+# if [ "${totalmem}" -ge "2500" ]; then
+# permem=40
+# confdir=/dev/shm/vmware/$USER
+# conffile=${confdir}/run-vmware.conf
+# mkdir -p /dev/shm/vmware/$USER
+# fi
+# fi
+# mem=$(expr ${totalmem} / 100 \* ${permem} / 4 \* 4)
+# if [ "${id44}" = "1" ]; then
+# hostmem=$(expr ${totalmem} - ${mem})
+# else
+# hostmem=$(expr ${totalmem} - ${mem} - ${mem})
+# fi
+#fi
+
+# check if ide/scsi and hwver of image
+# read only the first 30 lines to be shure
+imghead=$(head -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"
+ ;;
+ 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 /etc/openslx/vmware/nvram ${confdir}/nvram 2>/dev/null
+
+
+# logging and stdout
+################################################################################
+
+# log script information
+writelog "# File created by $0 (VMversion ${vmversion})\n# on $(date)\n"
+writelog "Starting with non-persistent 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
+
+# using the modified version of the wrapper script
+VIRTCMD="/opt/openslx/bin/vmplayer"
+VIRTCMDOPTS="${vmopt} ${conffile}"
+RMDIRS="${redodir} ${conffile}"
diff --git a/remote/modules/vmplayer/data/etc/openslx/vmware/vmware-env b/remote/modules/vmplayer/data/etc/openslx/vmware/vmware-env
new file mode 100755
index 00000000..41360bb3
--- /dev/null
+++ b/remote/modules/vmplayer/data/etc/openslx/vmware/vmware-env
@@ -0,0 +1,128 @@
+#!/bin/sh
+# Copyright (c) 2009 - 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/
+# -----------------------------------------------------------------------------
+# §filename§
+# - §desc§
+# §generated§
+# -----------------------------------------------------------------------------
+
+export PATH=$PATH:/opt/openslx/bin:/opt/openslx/sbin:/opt/openslx/usr/bin:/opt/openslx/usr/sbin
+
+#functions: helper functions
+tempdir () {
+# Create a special tempfs directory
+mkdir -m 1777 -p /tmp/vmware
+# Don't mount special tempfs, when using local harddrive for /tmp
+[ ! -n "$(cat /proc/mounts |grep ' /tmp '|grep '/dev/sd')" ] \
+ && mount -t tmpfs -o size=180%,mode=1777 tmpfs /tmp/vmware
+}
+
+load_modules () {
+# VMplayer common stuff
+insmod /lib/modules/vmware/vmmon.ko || return 1
+insmod /lib/modules/vmware/vmnet.ko || return 1
+# VMplayer 3.X specific stuff
+insmod /lib/modules/vmware/vmci.ko
+insmod /lib/modules/vmware/vmblock.ko
+insmod /lib/modules/vmware/vsock.ko
+
+}
+
+unload_modules () {
+rmmod vmnet vmmonvsock vmci vmblock 2>/dev/null
+}
+
+vmnetif () {
+# let point the path directly to the directory where the binary lives
+location="/usr/bin"
+if [ -n "$vmnet0" ] ; then
+ # the path might be directly point to the plugin dir
+ $location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid -n 0
+fi
+if [ -n "$vmnet1" ] ; then
+ $location/vmnet-netifup -d /var/run/vmnet-netifup-vmnet1.pid \
+ /dev/vmnet1 vmnet1
+ ip addr add $vmnet1 dev vmnet1
+ ip link set vmnet1 up
+ if [ -n "$vmnet1nat" ] ; then
+ echo "1" >/proc/sys/net/ipv4/conf/vmnet1/forwarding 2>/dev/null
+ echo "1" >/proc/sys/net/ipv4/conf/br0/forwarding 2>/dev/null
+ fi
+ /opt/openslx/usr/sbin/udhcpd \
+ -S /etc/vmware/udhcpd/udhcpd-vmnet1.conf
+fi
+if [ -n "$vmnet8" ] ; then
+ $location/vmnet-netifup -d /var/run/vmnet-netifup-vmnet8.pid \
+ /dev/vmnet8 vmnet8
+ ip addr add $vmnet8 dev vmnet8
+ ip link set vmnet8 up
+ echo "1" >/proc/sys/net/ipv4/conf/vmnet8/forwarding 2>/dev/null
+ echo "1" >/proc/sys/net/ipv4/conf/br0/forwarding 2>/dev/null
+# TODO: iptables in stage32?
+# iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
+ # /etc/vmware/vmnet-natd-8.mac simply contains a mac like 00:50:56:F1:30:50
+ $location/vmnet-natd -d /var/run/vmnet-natd-8.pid \
+ -m /etc/vmware/vmnet-natd-8.mac -c /etc/vmware/nat.conf 2>/dev/null # or logfile
+ /opt/openslx/usr/sbin/udhcpd \
+ -S /etc/vmware/udhcpd/udhcpd-vmnet8.conf
+fi
+
+}
+
+vmblock () {
+# let point the path directly to the directory where the binary lives
+# TODO: get it to work
+ /usr/bin/vmware-usbarbitrator
+
+}
+
+
+case "$1" in
+ start)
+ #start: defines start function for initscript
+ # load the configuration file
+ . /etc/openslx/vmware/vmware.conf
+ # hack to access the first serial/parallel port
+ chmod a+rw /dev/ttyS0
+ chmod a+rw /dev/parport0
+ tempdir
+ load_modules
+ vmnetif
+# vmblock
+
+ ;;
+ stop)
+ #stop: defines stop function for initscript
+ killall vmnet-netifup vmnet-natd vmnet-bridge vmware vmplayer \
+ vmware-tray vmnet-dhcpd 2>/dev/null
+ # might take a while until all services are shut down
+ sleep 1
+ umount -l /tmp/vmware 2>/dev/null
+ unload_modules
+
+ ;;
+ restart)
+ #restart: defines restart function for initscript
+ $0 stop && $0 start
+ ;;
+ status)
+ #status: defines status function for initscript
+ vmstatus
+ ;;
+ *)
+ #usage: defines usage function for initscript
+ ## print out usage
+ echo "Usage: $0 {start, stop, restart, status}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/remote/modules/vmplayer/data/etc/openslx/vmware/vmware.conf b/remote/modules/vmplayer/data/etc/openslx/vmware/vmware.conf
new file mode 100644
index 00000000..5a52ca41
--- /dev/null
+++ b/remote/modules/vmplayer/data/etc/openslx/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"
diff --git a/remote/modules/vmplayer/data/etc/systemd/system/vmware.service b/remote/modules/vmplayer/data/etc/systemd/system/vmware.service
new file mode 100644
index 00000000..067b15a0
--- /dev/null
+++ b/remote/modules/vmplayer/data/etc/systemd/system/vmware.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Sets up the vmware environment
+Wants=graphical.target
+
+[Service]
+Type=simple
+ExecStart=/etc/openslx/vmware/vmware-env start
+ExecStop=/etc/openslx/vmware/vmware-env stop
diff --git a/remote/modules/vmplayer/data/etc/vmware/bootstrap b/remote/modules/vmplayer/data/etc/vmware/bootstrap
new file mode 100644
index 00000000..9417c7fe
--- /dev/null
+++ b/remote/modules/vmplayer/data/etc/vmware/bootstrap
@@ -0,0 +1,11 @@
+PREFIX="/usr"
+BINDIR="/usr/bin"
+SBINDIR="/usr/sbin"
+LIBDIR="/usr/lib"
+DATADIR="/usr/share"
+SYSCONFDIR="/etc"
+DOCDIR="/usr/share/doc"
+MANDIR="/usr/share/man"
+INCLUDEDIR="/usr/include"
+INITDIR="/etc/init.d"
+INITSCRIPTDIR="/etc/init.d"
diff --git a/remote/modules/vmplayer/data/etc/vmware/config b/remote/modules/vmplayer/data/etc/vmware/config
new file mode 100644
index 00000000..5a62a179
--- /dev/null
+++ b/remote/modules/vmplayer/data/etc/vmware/config
@@ -0,0 +1,19 @@
+.encoding = "UTF-8"
+NETWORKING = "yes"
+VMBLOCK_CONFED = "no"
+gksu.rootMethod = "su"
+libdir = "/usr/lib/vmware"
+VMCI_CONFED = "no"
+VSOCK_CONFED = "no"
+initscriptdir = "/etc/init.d"
+authd.fullpath = "/usr/sbin/vmware-authd"
+bindir = "/usr/bin"
+installerDefaults.componentDownloadEnabled = "yes"
+installerDefaults.autoSoftwareUpdateEnabled.epoch = "4837526839"
+vix.config.version = "1"
+player.product.version = "5.0.2"
+installerDefaults.dataCollectionEnabled.epoch = "9979927113"
+installerDefaults.dataCollectionEnabled = "no"
+installerDefaults.transferVersion = "1"
+installerDefaults.autoSoftwareUpdateEnabled = "no"
+product.buildNumber = "1031769"
diff --git a/remote/modules/vmplayer/data/etc/vmware/icu b/remote/modules/vmplayer/data/etc/vmware/icu
new file mode 120000
index 00000000..d1ebea7d
--- /dev/null
+++ b/remote/modules/vmplayer/data/etc/vmware/icu
@@ -0,0 +1 @@
+/usr/lib/vmware/icu \ No newline at end of file
diff --git a/remote/modules/vmplayer/data/etc/vmware/installer.sh b/remote/modules/vmplayer/data/etc/vmware/installer.sh
new file mode 120000
index 00000000..f178b8cc
--- /dev/null
+++ b/remote/modules/vmplayer/data/etc/vmware/installer.sh
@@ -0,0 +1 @@
+/usr/lib/vmware-installer/2.1.0/vmware-uninstall-downgrade \ No newline at end of file
diff --git a/remote/modules/vmplayer/data/etc/vmware/networking b/remote/modules/vmplayer/data/etc/vmware/networking
new file mode 100644
index 00000000..d2ea7361
--- /dev/null
+++ b/remote/modules/vmplayer/data/etc/vmware/networking
@@ -0,0 +1,12 @@
+VERSION=1,0
+answer VNET_1_DHCP yes
+answer VNET_1_DHCP_CFG_HASH ABD785E9C7BA236946CF10ED6B15A580E522B13D
+answer VNET_1_HOSTONLY_NETMASK 255.255.255.0
+answer VNET_1_HOSTONLY_SUBNET 172.16.110.0
+answer VNET_1_VIRTUAL_ADAPTER yes
+answer VNET_8_DHCP yes
+answer VNET_8_DHCP_CFG_HASH 5E30544D23705A65173565BC8D6C51008A0F9AF2
+answer VNET_8_HOSTONLY_NETMASK 255.255.255.0
+answer VNET_8_HOSTONLY_SUBNET 192.168.167.0
+answer VNET_8_NAT yes
+answer VNET_8_VIRTUAL_ADAPTER yes
diff --git a/remote/modules/vmplayer/data/etc/vmware/usbarb.rules b/remote/modules/vmplayer/data/etc/vmware/usbarb.rules
new file mode 100644
index 00000000..c3198bb4
--- /dev/null
+++ b/remote/modules/vmplayer/data/etc/vmware/usbarb.rules
@@ -0,0 +1,4 @@
+{
+ "version": 1,
+ "rules": []
+} \ No newline at end of file
diff --git a/remote/modules/vmplayer/data/etc/vmware/vmnet1/dhcpd/dhcpd.conf b/remote/modules/vmplayer/data/etc/vmware/vmnet1/dhcpd/dhcpd.conf
new file mode 100644
index 00000000..6aeb3f1e
--- /dev/null
+++ b/remote/modules/vmplayer/data/etc/vmware/vmnet1/dhcpd/dhcpd.conf
@@ -0,0 +1,40 @@
+# Configuration file for ISC 2.0 vmnet-dhcpd operating on vmnet1.
+#
+# This file was automatically generated by the VMware configuration program.
+# See Instructions below if you want to modify it.
+#
+# We set domain-name-servers to make some DHCP clients happy
+# (dhclient as configured in SuSE, TurboLinux, etc.).
+# We also supply a domain name to make pump (Red Hat 6.x) happy.
+#
+
+
+###### VMNET DHCP Configuration. Start of "DO NOT MODIFY SECTION" #####
+# Modification Instructions: This section of the configuration file contains
+# information generated by the configuration program. Do not modify this
+# section.
+# You are free to modify everything else. Also, this section must start
+# on a new line
+# This file will get backed up with a different name in the same directory
+# if this section is edited and you try to configure DHCP again.
+
+# Written at: 05/06/2013 17:43:41
+allow unknown-clients;
+default-lease-time 1800; # default is 30 minutes
+max-lease-time 7200; # default is 2 hours
+
+subnet 172.16.110.0 netmask 255.255.255.0 {
+ range 172.16.110.128 172.16.110.254;
+ option broadcast-address 172.16.110.255;
+ option domain-name-servers 172.16.110.1;
+ option domain-name localdomain;
+ default-lease-time 1800; # default is 30 minutes
+ max-lease-time 7200; # default is 2 hours
+}
+host vmnet1 {
+ hardware ethernet 00:50:56:C0:00:01;
+ fixed-address 172.16.110.1;
+ option domain-name-servers 0.0.0.0;
+ option domain-name "";
+}
+####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" #######
diff --git a/remote/modules/vmplayer/data/etc/vmware/vmnet1/dhcpd/dhcpd.leases b/remote/modules/vmplayer/data/etc/vmware/vmnet1/dhcpd/dhcpd.leases
new file mode 100644
index 00000000..512c0de2
--- /dev/null
+++ b/remote/modules/vmplayer/data/etc/vmware/vmnet1/dhcpd/dhcpd.leases
@@ -0,0 +1,7 @@
+# All times in this file are in UTC (GMT), not your local timezone. This is
+# not a bug, so please don't ask about it. There is no portable way to
+# store leases in the local timezone, so please don't request this as a
+# feature. If this is inconvenient or confusing to you, we sincerely
+# apologize. Seriously, though - don't ask.
+# The format of this file is documented in the dhcpd.leases(5) manual page.
+
diff --git a/remote/modules/vmplayer/data/etc/vmware/vmnet8/dhcpd/dhcpd.conf b/remote/modules/vmplayer/data/etc/vmware/vmnet8/dhcpd/dhcpd.conf
new file mode 100644
index 00000000..9f27b6f0
--- /dev/null
+++ b/remote/modules/vmplayer/data/etc/vmware/vmnet8/dhcpd/dhcpd.conf
@@ -0,0 +1,43 @@
+# Configuration file for ISC 2.0 vmnet-dhcpd operating on vmnet8.
+#
+# This file was automatically generated by the VMware configuration program.
+# See Instructions below if you want to modify it.
+#
+# We set domain-name-servers to make some DHCP clients happy
+# (dhclient as configured in SuSE, TurboLinux, etc.).
+# We also supply a domain name to make pump (Red Hat 6.x) happy.
+#
+
+
+###### VMNET DHCP Configuration. Start of "DO NOT MODIFY SECTION" #####
+# Modification Instructions: This section of the configuration file contains
+# information generated by the configuration program. Do not modify this
+# section.
+# You are free to modify everything else. Also, this section must start
+# on a new line
+# This file will get backed up with a different name in the same directory
+# if this section is edited and you try to configure DHCP again.
+
+# Written at: 05/06/2013 17:43:41
+allow unknown-clients;
+default-lease-time 1800; # default is 30 minutes
+max-lease-time 7200; # default is 2 hours
+
+subnet 192.168.167.0 netmask 255.255.255.0 {
+ range 192.168.167.128 192.168.167.254;
+ option broadcast-address 192.168.167.255;
+ option domain-name-servers 192.168.167.2;
+ option domain-name localdomain;
+ default-lease-time 1800; # default is 30 minutes
+ max-lease-time 7200; # default is 2 hours
+ option netbios-name-servers 192.168.167.2;
+ option routers 192.168.167.2;
+}
+host vmnet8 {
+ hardware ethernet 00:50:56:C0:00:08;
+ fixed-address 192.168.167.1;
+ option domain-name-servers 0.0.0.0;
+ option domain-name "";
+ option routers 0.0.0.0;
+}
+####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" #######
diff --git a/remote/modules/vmplayer/data/etc/vmware/vmnet8/dhcpd/dhcpd.leases b/remote/modules/vmplayer/data/etc/vmware/vmnet8/dhcpd/dhcpd.leases
new file mode 100644
index 00000000..512c0de2
--- /dev/null
+++ b/remote/modules/vmplayer/data/etc/vmware/vmnet8/dhcpd/dhcpd.leases
@@ -0,0 +1,7 @@
+# All times in this file are in UTC (GMT), not your local timezone. This is
+# not a bug, so please don't ask about it. There is no portable way to
+# store leases in the local timezone, so please don't request this as a
+# feature. If this is inconvenient or confusing to you, we sincerely
+# apologize. Seriously, though - don't ask.
+# The format of this file is documented in the dhcpd.leases(5) manual page.
+
diff --git a/remote/modules/vmplayer/data/etc/vmware/vmnet8/nat.mac b/remote/modules/vmplayer/data/etc/vmware/vmnet8/nat.mac
new file mode 100644
index 00000000..337d094a
--- /dev/null
+++ b/remote/modules/vmplayer/data/etc/vmware/vmnet8/nat.mac
@@ -0,0 +1 @@
+00:50:56:E9:43:27
diff --git a/remote/modules/vmplayer/data/etc/vmware/vmnet8/nat/nat.conf b/remote/modules/vmplayer/data/etc/vmware/vmnet8/nat/nat.conf
new file mode 100644
index 00000000..791f9a7e
--- /dev/null
+++ b/remote/modules/vmplayer/data/etc/vmware/vmnet8/nat/nat.conf
@@ -0,0 +1,60 @@
+# VMware NAT configuration file
+
+[host]
+
+# NAT gateway address
+ip = 192.168.167.2
+netmask = 255.255.255.0
+
+# VMnet device if not specified on command line
+device = /dev/vmnet8
+
+# Allow PORT/EPRT FTP commands (they need incoming TCP stream ...)
+activeFTP = 1
+
+# Allows the source to have any OUI. Turn this on if you change the OUI
+# in the MAC address of your virtual machines.
+allowAnyOUI = 1
+
+# Controls if (TCP) connections should be reset when the adapter they are
+# bound to goes down
+resetConnectionOnLinkDown = 1
+
+# Controls if (TCP) connection should be reset when guest packet's destination
+# is NAT's IP address
+resetConnectionOnDestLocalHost = 1
+
+[tcp]
+
+# Value of timeout in TCP TIME_WAIT state, in seconds
+timeWaitTimeout = 30
+
+[udp]
+
+# Timeout in seconds. Dynamically-created UDP mappings will purged if
+# idle for this duration of time 0 = no timeout, default = 60; real
+# value might be up to 100% longer
+timeout = 60
+
+[netbios]
+# Timeout for NBNS queries.
+nbnsTimeout = 2
+
+# Number of retries for each NBNS query.
+nbnsRetries = 3
+
+# Timeout for NBDS queries.
+nbdsTimeout = 3
+
+[incomingtcp]
+
+# Use these with care - anyone can enter into your VM through these...
+# The format and example are as follows:
+#<external port number> = <VM's IP address>:<VM's port number>
+#8080 = 172.16.3.128:80
+
+[incomingudp]
+
+# UDP port forwarding example
+#6000 = 172.16.3.0:6001
+
diff --git a/remote/modules/vmplayer/data/opt/openslx/bin/vmplayer b/remote/modules/vmplayer/data/opt/openslx/bin/vmplayer
new file mode 100755
index 00000000..030e9175
--- /dev/null
+++ b/remote/modules/vmplayer/data/opt/openslx/bin/vmplayer
@@ -0,0 +1,11 @@
+#!/bin/sh
+# radically simplified version of the original script vmplayer by VMware Inc.
+PREFIX=/usr/lib/vmware # depends on the vmware location
+exec "$PREFIX"'/lib/wrapper-gtk24.sh' \
+ "$PREFIX"'/lib' \
+ "$PREFIX"'/bin/vmplayer' \
+ "$PREFIX"'/libconf' "$@"
+
+
+
+
diff --git a/remote/modules/vmplayer/data/opt/openslx/bin/vmware b/remote/modules/vmplayer/data/opt/openslx/bin/vmware
new file mode 100755
index 00000000..1fe9b11d
--- /dev/null
+++ b/remote/modules/vmplayer/data/opt/openslx/bin/vmware
@@ -0,0 +1,11 @@
+#!/bin/sh
+# radically simplified version of the original script vmplayer by VMware Inc.
+PREFIX=/usr/lib/vmware # depends on the vmware location
+exec "$PREFIX"'/lib/wrapper-gtk24.sh' \
+ "$PREFIX"'/lib' \
+ "$PREFIX"'/bin/vmware' \
+ "$PREFIX"'/libconf' "$@"
+
+
+
+