######################################## # 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 }