diff options
Diffstat (limited to 'remote/modules/vmware/data')
6 files changed, 74 insertions, 584 deletions
diff --git a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/create_vmware_config_file_legacy.inc b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/create_vmware_config_file_legacy.inc deleted file mode 100644 index df6e6f39..00000000 --- a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/create_vmware_config_file_legacy.inc +++ /dev/null @@ -1,316 +0,0 @@ -######################################## -# Include: Create vmware startup files # -######################################## - -create_vmware_config_file_legacy() { - echo "# This configuration file was generated by $0" > "$conffile" - - MAXMEM="9999999" - MAXCORES="4" - shfolders="TRUE" - sound="es1371" - - # define hardware configuration depending on the guest OS used - # this needs to be fixed and is the base for the creation of new VMs - case "$vmostype" in - win31*|windows31*) - vmostype="win31" - shfolders="FALSE" - sound="sb16" - MAXMEM="32" - MAXCORES="1" - ;; - winnt*|windowsnt*) - vmostype="winnt" - shfolders="FALSE" - sound="sb16" - MAXMEM="1000" - MAXCORES="2" - ;; - win95*|windows95*) - vmostype="win95" - shfolders="FALSE" - MAXMEM="96" - MAXCORES="1" - ;; - win98*|windows98*) - vmostype="win98" - MAXMEM="256" - MAXCORES="1" - ;; - winme*|windowsme*) - vmostype="winme" - MAXMEM="384" - MAXCORES="1" - ;; - win2000|windows2000|win2000pro*) - vmostype="win2000pro" - MAXMEM="4000" - MAXCORES="2" - ;; - win2000srv*|windows2000srv*|win2000serv*|windows2000serv*) - vmostype="win2000serv" - shfolders="FALSE" - MAXMEM="4000" - MAXCORES="4" - ;; - win2000adv*|windows2000adv*|win2000dat*|windows2000dat*) - vmostype="win2000advserv" - shfolders="FALSE" - MAXMEM="8000" - MAXCORES="8" - ;; - winnet*64|win*2003*64|windowsnet*64) - vmostype="winnetstandard-64" - MAXMEM="8000" - ;; - winnet*|win*2003*|windowsnet*) - vmostype="winnetstandard" - MAXMEM="4000" - ;; - winxphome*|windowsxphome*) - vmostype="winxphome" - MAXMEM="4000" - MAXCORES="1" - ;; - winxp*64|windowsxp*64) - vmostype="winxppro-64" - MAXMEM="8000" - MAXCORES="2" - ;; - winxp*|windowsxp*) - vmostype="winxppro" - MAXMEM="4000" - MAXCORES="1" - ;; - winvista*64|windowsvista*64) - vmostype="winvista-64" - MAXMEM="16000" - MAXCORES="2" - ;; - winvista*|windowsvista*) - vmostype="winvista" - MAXMEM="8000" - MAXCORES="2" - ;; - win7*64|windows7*64) - vmostype="windows7-64" - MAXMEM="32000" - MAXCORES="4" - ;; - win7*|windows7*) - vmostype="windows7" - MAXMEM="8000" - MAXCORES="4" - ;; - win8*64|windows8*64) - vmostype="windows8-64" - MAXMEM="32000" - MAXCORES="4" - ;; - win8*|windows8*) - vmostype="windows8" - MAXMEM="8000" - MAXCORES="4" - ;; - win*64) - MAXMEM="16000" - MAXCORES="4" - ;; - win*) - MAXMEM="8000" - ;; - dos|msdos*|ms-dos*) - vmostype="dos" - shfolders="FALSE" - MAXMEM="128" - ;; - macos*64) - vmostype="freebsd-64" - MAXMEM="4000" - MAXCORES="2" - ;; - macos*) - vmostype="freebsd" - MAXMEM="4000" - MAXCORES="1" - ;; - beos*) - vmostype="other" - shfolders="FALSE" - ;; - # Unknown guestOS setting in .xml - use conservative defaults - *64) - vmostype="other-64" - shfolders="FALSE" - MAXMEM="123456" - MAXCORES="4" - ;; - *) - vmostype="other" - shfolders="FALSE" - MAXMEM="8000" - MAXCORES="1" - ;; - esac - 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" ] && [ "$SHARE_REMAP_MODE" != 1 ]; then - enable_share='sharedFolder.option = "alwaysEnabled"' - HGFS_DISABLED="FALSE" - else - enable_share= - HGFS_DISABLED="TRUE" - fi - - [ "$mem" -ge "$MAXMEM" ] && mem="$MAXMEM" - [ "$hwver" -lt "7" -a "$mem" -gt "3500" ] && mem="3500" - - if [ -n "$FLOPPYIMG" ]; then - floppy1="TRUE" - else - floppy1="FALSE" - fi - - 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" - - # 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 = "TRUE" - floppy0.autodetect = "TRUE" - floppy0.fileName = "auto detect" - - # we need floppy b: for the client configuration - floppy1.present = "$floppy1" - floppy1.readonly = "TRUE" - floppy1.startConnected = "TRUE" - floppy1.fileType = "file" - floppy1.fileName = "$FLOPPYIMG" - - # nics - ethernet0.present = "TRUE" - ethernet0.addressType = "static" - $network_virtualDev - #ethernet0.connectionType = "hostonly" - ethernet0.connectionType = "custom" - ethernet0.vnet = "$hostdev" - ethernet0.address = "00:50:56:$macaddrsuffix" - ethernet0.wakeOnPcktRcv = "FALSE" - - # sound - sound.present = "TRUE" - $sound_fileName - sound.virtualdev = "$sound" - pciSound.enableVolumeControl = "FALSE" - sound.enableVolumeControl = "FALSE" - - # svga - svga.autodetect = "TRUE" - - # 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" - - $PCIE - - # shared folders - $enable_share - sharedFolder0.present = "$shfolders" - sharedFolder0.enabled = "$shfolders" - sharedFolder0.expiration = "never" - sharedFolder0.guestName = "$homesharename" - sharedFolder0.hostPath = "$homesharepath" - sharedFolder0.readAccess = "TRUE" - sharedFolder0.writeAccess = "TRUE" - sharedFolder1.present = "$shfolders" - sharedFolder1.enabled = "$shfolders" - sharedFolder1.expiration = "never" - sharedFolder1.guestName = "$commonsharename" - sharedFolder1.hostPath = "$commonsharepath" - sharedFolder1.readAccess = "TRUE" - sharedFolder1.writeAccess = "TRUE" - sharedFolder.maxNum = "2" - - # dirs/configs - tmpDirectory = "$redodir" - redoLogDir = "$redodir" - mainMem.useNamedFile = "TRUE" - snapshot.disabled = "TRUE" - tools.syncTime = "TRUE" - isolation.tools.hgfs.disable = "$HGFS_DISABLED" - 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 -} diff --git a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/log_config_summary.inc b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/log_config_summary.inc new file mode 100644 index 00000000..f7f09c65 --- /dev/null +++ b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/log_config_summary.inc @@ -0,0 +1,62 @@ +################################################## +# Include: Print vm config summary into log file # +################################################## + +# log script information +writelog "# File created by $0 (VMware version ${vmware_version})\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\t$macaddr" +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 + +writelog "Shared folders:" +if [ "${HGFS_DISABLED}" = "FALSE" ]; then + writelog "\tNo shared folders enabled." +else + writelog "\Shared folders enabled." +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 "" + diff --git a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/logging.inc b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/logging.inc deleted file mode 100644 index f7ee634a..00000000 --- a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/logging.inc +++ /dev/null @@ -1,64 +0,0 @@ -############################### -# Include: Logging and stdout # -############################### - -logging() { - # log script information - writelog "# File created by $0 (VMware version ${vmware_version})\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\t$macaddr" - 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 - - writelog "Shared folders:" - if [ "${HGFS_DISABLED}" = "FALSE" ]; then - writelog "\tNo shared folders enabled." - else - writelog "\Shared folders enabled." - 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 "" - -} diff --git a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/set_hardware_legacy.inc b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/set_hardware_legacy.inc deleted file mode 100644 index 22718839..00000000 --- a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/set_hardware_legacy.inc +++ /dev/null @@ -1,152 +0,0 @@ -######################################### -# Include: Hardware checks and settings # -######################################### - -set_hardware_legacy() { - -# use different network card (default e1000, vlance, vmxnet) -if [ -n "${network_card}" ]; then - network_virtualDev="ethernet0.virtualDev = \"${network_card}\"" -else - network_virtualDev='ethernet0.virtualDev = "e1000"' -fi - -# use different network card (default e1000, vlance, vmxnet) -hostdev="/dev/vmnet1" -case "${network_kind}" in - bridge|bridged) - hostdev="/dev/vmnet0" - ;; - nat) - hostdev="/dev/vmnet1" - ;; - hostonly|host-only) - hostdev="/dev/vmnet2" - ;; -esac - -# set standard sound card, overwrite depending on OS (options sb16, es1371, hdaudio) -sound="es1371" - -# set sound card explicitly if there is more than one card in the host system -sound_fileName='sound.fileName = "-1" -sound.autodetect = "TRUE"' - -# check for 3D configuration setting -case "$enable3d" in - true|yes) - enable3d="TRUE" - ;; - *) - enable3d="FALSE" - ;; -esac - -# check for whitelisted HW-3D -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 - -## -hwver=$(echo "${imghead}" | grep -m1 -ia "ddb.virtualHWVersion" | awk -F '"' '{print $2}') - - -if [ -z "$override_hddtype" ]; then - hddrv=$(echo "${imghead}" | grep -m1 -ia "ddb.adapterType" | awk -F '"' '{print $2}') -else - hddrv=$override_hddtype -fi - -PCIE= -case "${hddrv}" in - ide) - ide="TRUE" - scsi="FALSE" - ;; - lsisas*) - ide="FALSE" - scsi="TRUE" - PCIE='pciBridge4.present = "TRUE" - pciBridge4.virtualDev = "pcieRootPort" - pciBridge4.functions = "8"' - ;; - lsilogic|buslogic) - ide="FALSE" - scsi="TRUE" - ;; - scsi) - ide="FALSE" - scsi="TRUE" - hddrv="lsilogic" - ;; - *) - slxlog "virt-vmware-hdd" "vmware: Unknown HDD adapter type $hddrv" - ;; -esac - -} diff --git a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/write_config_files_legacy.inc b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/write_config_files_legacy.inc deleted file mode 100644 index 52a341ba..00000000 --- a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/includes/write_config_files_legacy.inc +++ /dev/null @@ -1,29 +0,0 @@ -############################### -# Include: Write config files # -############################### - -write_config_files_legacy() { - # 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 file ${vmhome}/preferences - source "${VMWAREINCLUDEDIR}/create_vmhome_preferences_file.inc" && create_vmhome_preferences_file - - # create VMware config file (conffile) - source "${VMWAREINCLUDEDIR}/create_vmware_config_file_legacy.inc" && create_vmware_config_file_legacy - - # link to conffile if confdir != redodir - [ "$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 - # TODO: Move to general run-virt, right before exec of vm - sync - - # own nvram. We need it for floppy drive b, default nvram has just drive a - if ! cp "/opt/openslx/vmchooser/vmware/nvram" "$confdir/nvram"; then - slxlog "virt-vmware-nvram" "Could not copy nvram from '/opt/openslx/vmchooser/vmware/nvram' '$confdir/nvram'" - fi -} diff --git a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/run-virt.include b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/run-virt.include index 08188b58..84679ebf 100644 --- a/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/run-virt.include +++ b/remote/modules/vmware/data/opt/openslx/vmchooser/vmware/run-virt.include @@ -33,34 +33,23 @@ vmw_cap_hw_version() { [ "$1" -lt "$maxhardwareversion" ] && maxhardwareversion="$1" } -if [ "$LEGACY" ]; then - # hardware checks - source "${VMWAREINCLUDEDIR}/set_hardware_legacy.inc" && set_hardware_legacy - # write configuration files - # write_config_files calls: - # set_vmhome_preferences_header - # set_vmware_startup_file - source "${VMWAREINCLUDEDIR}/write_config_files_legacy.inc" && write_config_files_legacy -else - # get information from downloaded vmx - source "${VMWAREINCLUDEDIR}/parse_vmx.inc" +# get information from downloaded vmx +source "${VMWAREINCLUDEDIR}/parse_vmx.inc" - # determine limitations wrt RAM and CPU count of VM - source "${VMWAREINCLUDEDIR}/determine_hardware_limitations.inc" +# determine limitations wrt RAM and CPU count of VM +source "${VMWAREINCLUDEDIR}/determine_hardware_limitations.inc" - # create file and directory structure for vmware setup - source "${VMWAREINCLUDEDIR}/create_static_directory_structure.inc" +# create file and directory structure for vmware setup +source "${VMWAREINCLUDEDIR}/create_static_directory_structure.inc" - # create preferences file ${vmhome}/preferences - source "${VMWAREINCLUDEDIR}/create_vmhome_preferences_file.inc" && create_vmhome_preferences_file +# create preferences file ${vmhome}/preferences +source "${VMWAREINCLUDEDIR}/create_vmhome_preferences_file.inc" && create_vmhome_preferences_file - # parse the given vmx file - source "${VMWAREINCLUDEDIR}/write_final_vmx.inc" -fi +# parse the given vmx file +source "${VMWAREINCLUDEDIR}/write_final_vmx.inc" -# logging and stdout -# needs writelog() from vmchooser-run_virt -source "${VMWAREINCLUDEDIR}/logging.inc" && logging +# print summary - needs writelog() from vmchooser-run_virt +source "${VMWAREINCLUDEDIR}/log_config_summary.inc" # For debugging cp "$conffile" "/tmp/vmware-last-config" |