From eb4a83321ccae1b55fe65474b0f1f0f69c06b3a2 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 14 Oct 2013 18:59:19 +0200 Subject: [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 --- .../modules/vmware/data/opt/openslx/bin/vmplayer | 15 + remote/modules/vmware/data/opt/openslx/bin/vmware | 11 + .../vmware/data/opt/openslx/etc/vmware/nvram | Bin 0 -> 8664 bytes .../data/opt/openslx/etc/vmware/run-virt.include | 644 +++++++++++++++++++++ .../vmware/data/opt/openslx/etc/vmware/vmware.conf | 8 + .../data/opt/openslx/scripts/systemd-vmware_env | 281 +++++++++ 6 files changed, 959 insertions(+) create mode 100755 remote/modules/vmware/data/opt/openslx/bin/vmplayer create mode 100755 remote/modules/vmware/data/opt/openslx/bin/vmware create mode 100644 remote/modules/vmware/data/opt/openslx/etc/vmware/nvram create mode 100755 remote/modules/vmware/data/opt/openslx/etc/vmware/run-virt.include create mode 100644 remote/modules/vmware/data/opt/openslx/etc/vmware/vmware.conf create mode 100755 remote/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env (limited to 'remote/modules/vmware/data/opt') diff --git a/remote/modules/vmware/data/opt/openslx/bin/vmplayer b/remote/modules/vmware/data/opt/openslx/bin/vmplayer new file mode 100755 index 00000000..147f514f --- /dev/null +++ b/remote/modules/vmware/data/opt/openslx/bin/vmplayer @@ -0,0 +1,15 @@ +#!/bin/sh +# radically simplified version of the original script vmplayer by VMware Inc. +PREFIX=/usr/lib/vmware # depends on the vmware location + +# HACK: Let the OpenGL driver report s3tc capability even if not present, so 3D will be enabled +export force_s3tc_enable=true + +exec "$PREFIX"'/lib/wrapper-gtk24.sh' \ + "$PREFIX"'/lib' \ + "$PREFIX"'/bin/vmplayer' \ + "$PREFIX"'/libconf' "$@" + + + + diff --git a/remote/modules/vmware/data/opt/openslx/bin/vmware b/remote/modules/vmware/data/opt/openslx/bin/vmware new file mode 100755 index 00000000..1fe9b11d --- /dev/null +++ b/remote/modules/vmware/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' "$@" + + + + 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 Binary files /dev/null and b/remote/modules/vmware/data/opt/openslx/etc/vmware/nvram 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" </dev/null 2>&1 +} + +preferencesheader () +{ + cat > "$vmhome/preferences" <> "$vmhome/preferences" <> "$vmhome/preferences" </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" diff --git a/remote/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env b/remote/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env new file mode 100755 index 00000000..4103eae6 --- /dev/null +++ b/remote/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env @@ -0,0 +1,281 @@ +#!/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/ +# ----------------------------------------------------------------------------- + +export PATH=$PATH:/opt/openslx/bin:/opt/openslx/sbin:/opt/openslx/usr/bin:/opt/openslx/usr/sbin + +VMWARE_CONF_DIR=/opt/openslx/etc/vmware + +for wait in 1 1 2 2 3 end; do + grep '^SLX_DNS' /opt/openslx/config > /dev/null && break + [ "$wait" == "end" ] && echo "No DNS config found, using google dns" && break + echo "Waiting for DNS config.." + sleep "$wait" +done + +#source config file +. /opt/openslx/config +. ${VMWARE_CONF_DIR}/vmware.conf + +vm_dhcpd() { + + #from plugins/vmware/init-hooks/60-have-servconfig/vm-dhcpd.sh + + # read the DNS configuration and if available set WPAD configuration + [ -z "${SLX_DNS}" ] && SLX_DNS="8.8.8.8" + [ -n "${wpad}" ] && wpad_config="option wpad ${wpad}" + + # configuring dhcpd stub for virtual networks +cat > ${VMWARE_CONF_DIR}/udhcpd.conf << EOF +# general udhcpd configuration file for virtual machines written by $0 + +# start and end of the IP lease block +start CNETWORK.20 +end CNETWORK.100 + +# interface that udhcpd will use +interface NWIF + +# how long an offered address is reserved (leased) in seconds +offer_time 6000 + +# location of the leases file +lease_file LEASEFILE + +# location of the pid file +pidfile PIDFILE + +option dns ${SLX_DNS} +option subnet 255.255.255.0 +option router CNETWORK.1 +option wins CNETWORK.10 +option domain virtual.site ${domain_name} +${wpad_config} + +# additional options known to udhcpd +#subnet #timezone +#router #timesvr +#namesvr #dns +#logsvr #cookiesvr +#lprsvr #bootsize +#domain #swapsvr +#rootpath #ipttl +#mtu #broadcast +#wins #lease +#ntpsrv #tftp +#bootfile #wpad +EOF + +} + +setup_network() { + #from plugins/vmware/XX_vmware.sh + + mkdir -p /tmp/virt/vmware -m 1777 + mkdir -p /dev/shm/vmware -m 1777 + mkdir -p /var/run/vmware -m 1777 + mkdir -p /etc/vmware/udhcpd + + # variable might contain ",NAT" which is to be taken off + if [ -n "$vmnet1" ] ; then + local vmip=${vmnet1%/*} # x.x.x.x/yy => 'x.x.x.x'"> + local vmsub=$(echo $vmip |sed 's,\(.*\)\..*,\1,') # x.x.x.x => x.x.x + # setting up the udhcpd configuration + sed -e "s,NWIF,vmnet1,;s,/misc/,/vmware/," \ + -e "s,CNETWORK,$vmsub,;s,PIDFILE,/var/run/vmware/udhcpd-vmnet1.pid," \ + -e "s,LEASEFILE,/var/run/vmware/udhcpd-vmnet1.leases," \ + ${VMWARE_CONF_DIR}/udhcpd.conf >/etc/vmware/udhcpd/udhcpd-vmnet1.conf + # setting the base samba configuration if available + if [ -f /etc/openslx/vmchooser/smb.conf \ + -a -f /usr/sbin/smbd ] ; then + sed -e "s#NWIF#vmnet1,vmnet8#;s,PIDDIR,/var/run/vmware," \ + ${VMCHOOSER_CONF_DIR}/smb.conf \ + >/etc/vmware/smb.conf + fi + fi + + # vmware nat interface configuration + if [ -n "$vmnet8" ] ; then + local vmnet8ip=${vmnet8%/*} + local vmpx=${vmnet8#*/} + local vmsub=$(echo $vmnet8ip |sed 's,\(.*\)\..*,\1,') # x.x.x.x => x.x.x"> + # vmip is user for vmnet8 device + # vmnet is user for config files nat.conf/dhcp + local vmip="${vmsub}.1" + local vmnet="${vmsub}.2" + # setting up the udhcpd configuration + sed -e "s,NWIF,vmnet8,;s,/misc/,/vmware/," \ + -e "s,CNETWORK,$vmsub,;s,PIDFILE,/var/run/vmware/udhcpd-vmnet8.pid," \ + -e "s,LEASEFILE,/var/run/vmware/udhcpd-vmnet8.leases," \ + ${VMWARE_CONF_DIR}/udhcpd.conf >/etc/vmware/udhcpd/udhcpd-vmnet8.conf + # might be not needed any more ... + echo -e "# Linux NAT configuration file" \ + > /etc/vmware/nat.conf + echo -e "[host]" \ + >> /etc/vmware/nat.conf + echo -e "ip = $vmnet/$vmpx" \ + >> /etc/vmware/nat.conf + echo -e "device = /dev/vmnet8" \ + >> /etc/vmware/nat.conf + echo -e "activeFTP = 1" \ + >> /etc/vmware/nat.conf + echo -e "[udp]" \ + >> /etc/vmware/nat.conf + echo -e "timeout = 60" \ + >> /etc/vmware/nat.conf + echo -e "[incomingtcp]" \ + >> /etc/vmware/nat.conf + echo -e "[incomingudp]" \ + >> /etc/vmware/nat.conf + echo "00:50:56:F1:30:50" > /etc/vmware/vmnet-natd-8.mac + fi + + ############################################################################ + # vmware stuff second part: setting up the environment + # make udhcpd more silent + touch /var/run/vmware/udhcpd-vmnet1.leases \ + /var/run/vmware/udhcpd-vmnet8.leases + + # create the needed devices which effects all vmware options + # they are not created automatically via module load + for i in "/dev/vmnet0 c 119 0" "/dev/vmnet1 c 119 1" \ + "/dev/vmnet8 c 119 8" "/dev/vmmon c 10 165"; do + mknod $i + done + + chmod 0700 /dev/vmnet* +} + +adapt_tmpfs() { + # from plugins/vmware/init-hooks/80-after-plugins/adapt-tmpfs.sh + # Init hook to adapt the tmpfs size for VMware/Player + # (should be kept identical to the files of virtualbox plugin) + ############################################################################# + + # adapt tmpfs size (overbook) + case $(grep tmpfs /proc/mounts) in + */tmp*) + mount -o remount,size=175% /tmp + ;; + */uniontmp*) + mount -o remount,size=175% /uniontmp + ;; + esac +} + +#from /etc/init.d/vmware-env + +#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 + insmod /lib/modules/vmware/vmnet.ko + # 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 +} + +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 + 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 + echo "1" >/proc/sys/net/ipv4/conf/br0/forwarding 2>/dev/null + 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 # 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 + /usr/bin/vmware-usbarbitrator +} + + + +case "$1" in + start) + #start: defines start function for initscript + vm_dhcpd + setup_network +# adapt_tmpfs + # 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 + # 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 + -- cgit v1.2.3-55-g7522 From dcb5997d7a389f1c090b313abd813f3c2cd38bdb Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Tue, 15 Oct 2013 14:04:29 +0200 Subject: [vmware] add the domain information received from the dhcp server to the vmware-dhcp server configuration --- .../modules/vmware/data/etc/systemd/system/vmware.service | 4 ++-- .../vmware/data/opt/openslx/scripts/systemd-vmware_env | 2 +- .../rootfs-stage32/data/opt/openslx/scripts/udhcpc-openslx | 13 ++++++++++++- 3 files changed, 15 insertions(+), 4 deletions(-) (limited to 'remote/modules/vmware/data/opt') diff --git a/remote/modules/vmware/data/etc/systemd/system/vmware.service b/remote/modules/vmware/data/etc/systemd/system/vmware.service index 30bb42ff..1f47ac8c 100644 --- a/remote/modules/vmware/data/etc/systemd/system/vmware.service +++ b/remote/modules/vmware/data/etc/systemd/system/vmware.service @@ -1,7 +1,7 @@ [Unit] Description=Sets up the vmware environment -Requires=vmchooser.service -After=vmchooser.service +Requires=vmchooser.service network.target +After=vmchooser.service network.target [Service] Type=oneshot diff --git a/remote/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env b/remote/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env index 4103eae6..175f3bef 100755 --- a/remote/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env +++ b/remote/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env @@ -57,7 +57,7 @@ option dns ${SLX_DNS} option subnet 255.255.255.0 option router CNETWORK.1 option wins CNETWORK.10 -option domain virtual.site ${domain_name} +option domain ${SLX_NET_DOMAIN} virtual.site ${wpad_config} # additional options known to udhcpd diff --git a/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/udhcpc-openslx b/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/udhcpc-openslx index 178e3611..d3310bec 100755 --- a/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/udhcpc-openslx +++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/udhcpc-openslx @@ -48,7 +48,7 @@ case "$1" in CONF="" if [ -n "$domain" ]; then printf -v CONF "domain $domain\nsearch $domain\n" - elif [ -n "$SLX_NET_DOMAIN" ]; then + elif [ -n "$SLX_NET_DOMAIN" ]; then printf -v CONF "domain $SLX_NET_DOMAIN\nsearch $SLX_NET_DOMAIN\n" fi for i in $dns; do @@ -91,6 +91,17 @@ case "$1" in echo "# Config written by openslx-dhcp-script (1)" >> /opt/openslx/config echo "SLX_HOSTNAME='$dns_host'" >> /opt/openslx/config fi + + # if domain is given from dhcp, save it to openslx config for later use in VMs + if [ -n "$domain" ]; then + # check if SLX_NET_DOMAIN is in the config at all + if grep '^SLX_NET_DOMAIN=' /opt/openslx/config 2>/dev/null; then + sed -i "s/^\(SLX_NET_DOMAIN=\).*$/\1'$domain'/" /opt/openslx/config + else + # not set, add it + echo "SLX_NET_DOMAIN='$domain'" >> /opt/openslx/config + fi + fi # Update /etc/issue for proper spacing /opt/openslx/scripts/openslx-create_issue fi -- cgit v1.2.3-55-g7522