blob: df6e6f393722961fc4c3e8677d6f2670b583b9c3 (
plain) (
tree)
|
|
########################################
# 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
}
|