From 841a2d9b44e1e12332fe12bf25aea667f1758668 Mon Sep 17 00:00:00 2001 From: Michael Janczyk Date: Tue, 3 Nov 2009 17:08:39 +0000 Subject: BINPATH added to PATH support for vmplayer3 further simplifications through DEFAULTDIRS git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@3180 95ad53e4-c205-0410-b2fa-d234c58c8868 --- os-plugins/plugins/vmchooser/XX_vmchooser.sh | 42 +++++++++------- os-plugins/plugins/vmware/OpenSLX/Distro/Debian.pm | 23 +++++++-- os-plugins/plugins/vmware/OpenSLX/Distro/Gentoo.pm | 23 +++++++-- os-plugins/plugins/vmware/OpenSLX/Distro/Suse.pm | 23 +++++++-- .../plugins/vmware/OpenSLX/OSPlugin/vmware.pm | 6 ++- os-plugins/plugins/vmware/XX_vmware.sh | 57 +++++++++------------- os-plugins/plugins/vmware/files/run-virt.include | 54 ++++++++++++++------ 7 files changed, 150 insertions(+), 78 deletions(-) (limited to 'os-plugins') diff --git a/os-plugins/plugins/vmchooser/XX_vmchooser.sh b/os-plugins/plugins/vmchooser/XX_vmchooser.sh index 1cb827a3..0b417e77 100644 --- a/os-plugins/plugins/vmchooser/XX_vmchooser.sh +++ b/os-plugins/plugins/vmchooser/XX_vmchooser.sh @@ -17,6 +17,9 @@ CONFFILE="/initramfs/plugin-conf/vmchooser.conf" ETCDIR=/mnt/${OPENSLX_DEFAULT_CONFDIR} +PLUGINCONFDIR=${ETCDIR}/plugins/vmchooser +BINDIR=/mnt/${OPENSLX_DEFAULT_BINDIR} +PLUGINDIR=${OPENSLX_DEFAULT_DIR}/plugin-repo/vmchooser VIRTDIR=/mnt/${OPENSLX_DEFAULT_VIRTDIR} if [ -e $CONFFILE ]; then @@ -24,18 +27,14 @@ if [ -e $CONFFILE ]; then if [ $vmchooser_active -ne 0 ] ; then [ $DEBUGLEVEL -gt 0 ] \ && echo "vmchooser: copying stage3 configuration file ..." - cp $CONFFILE ${ETCDIR}/vmchooser-stage3.conf + testmkd ${PLUGINCONFDIR}/loopimg + testmkd ${PLUGINCONFDIR}/fd-loop 1777 + cp $CONFFILE ${PLUGINCONFDIR}/vmchooser.conf - testmkd /mnt/var/X11R6/bin - ln -s /opt/openslx/plugin-repo/vmchooser/run-virt.sh \ - /mnt/var/X11R6/bin/run-virt.sh - ln -s /opt/openslx/plugin-repo/vmchooser/vmchooser \ - /mnt/var/X11R6/bin/vmchooser + ln -s ${PLUGINDIR}/run-virt.sh ${BINDIR}/run-virt.sh + ln -s ${PLUGINDIR}/vmchooser ${BINDIR}/vmchooser # setup all generic virtualization / starting stuff like the floppy image - testmkd ${VIRTDIR}/vmchooser/fd-loop 1777 - testmkd ${VIRTDIR}/vmchooser/loopimg - # loop file for exchanging information between linux and vm guest if modprobe ${MODPRV} loop; then mdev -s @@ -44,34 +43,41 @@ if [ -e $CONFFILE ]; then fi # mount a clean tempfs (bug in UnionFS prevents loopmount to work) grep -qE "unionfs |aufs " /proc/mounts && \ - mount -n -o size=1500k -t tmpfs vm-loopimg ${VIRTDIR}/vmchooser/loopimg + mount -n -o size=1500k -t tmpfs vm-loopimg ${PLUGINCONFDIR}/loopimg # create an empty floppy image of 1.4MByte size - dd if=/dev/zero of=${VIRTDIR}/vmchooser/loopimg/fd.img count=2880 bs=512 \ + dd if=/dev/zero of=${PLUGINCONFDIR}/loopimg/fd.img count=2880 bs=512 \ 2>/dev/null - chmod 0777 ${VIRTDIR}/vmchooser/loopimg/fd.img + chmod 0777 ${PLUGINCONFDIR}/loopimg/fd.img # use dos formatter copied into stage3 - mkdosfs ${VIRTDIR}/vmchooser/loopimg/fd.img >/dev/null 2>&1 #|| error - mount -n -t msdos -o loop,umask=000 ${VIRTDIR}/vmchooser/loopimg/fd.img \ - ${VIRTDIR}/vmchooser/fd-loop + mkdosfs ${PLUGINCONFDIR}/loopimg/fd.img >/dev/null 2>&1 #|| error + mount -n -t msdos -o loop,umask=000 ${PLUGINCONFDIR}/loopimg/fd.img \ + ${PLUGINCONFDIR}/fd-loop # create run-virt.include header (and fill in information on removable # devices if present echo -e "# run-virt.include created by $0 during stage3 plugin setup" \ - >${ETCDIR}/run-virt.include + >${PLUGINCONFDIR}/run-virt.include waitfor /etc/hwinfo.cdrom j=0 for i in $(cat /etc/hwinfo.cdrom); do - echo "cdrom_$j=$i" >>${ETCDIR}/run-virt.include + echo "cdrom_$j=$i" >>${PLUGINCONFDIR}/run-virt.include j=$(expr $j + 1) done waitfor /etc/hwinfo.floppy j=0 for i in $(cat /etc/hwinfo.floppy); do - echo "floppy_$j=$i" >>${ETCDIR}/run-virt.include + echo "floppy_$j=$i" >>${PLUGINCONFDIR}/run-virt.include j=$(expr $j + 1) done + + CPU_CORES=$(grep 'processor.*:' /proc/cpuinfo | wc -l) + if [ "${CPU_CORES}" -gt "1" 2>/dev/null ]; then + echo 'cpu_cores="${CPU_CORES}")' >>${PLUGINCONFDIR}/run-virt.include + else + echo 'cpu_cores="1"' >>${PLUGINCONFDIR}/run-virt.include + fi # finished ... [ $DEBUGLEVEL -gt 0 ] && echo "done with 'vmchooser' os-plugin ..." diff --git a/os-plugins/plugins/vmware/OpenSLX/Distro/Debian.pm b/os-plugins/plugins/vmware/OpenSLX/Distro/Debian.pm index bd3e1ffe..a28bc7a1 100644 --- a/os-plugins/plugins/vmware/OpenSLX/Distro/Debian.pm +++ b/os-plugins/plugins/vmware/OpenSLX/Distro/Debian.pm @@ -56,7 +56,14 @@ sub fillRunlevelScript End-of-Here # Load modules - if ($kind eq 'local' || $kind eq 'local25') { + if ($kind eq 'local' || $kind eq 'local25' || $kind eq 'local30') { + if ($kind eq 'local30') { + $script .= unshiftHereDoc(<<" End-of-Here"); + # vmplayer 3.0 specific stuff + insmod /lib/modules/\$(uname -r)/misc/vsock.ko || return 1 + insmod /lib/modules/\$(uname -r)/misc/vmci.ko || return 1 + End-of-Here + } $script .= unshiftHereDoc(<<" End-of-Here"); # to be filled in via the stage1 configuration script insmod /lib/modules/\$(uname -r)/misc/vmmon.ko || return 1 @@ -86,6 +93,16 @@ sub fillRunlevelScript insmod \${module_src_path}/vmnet.ko insmod \${module_src_path}/vmblock.ko End-of-Here + } elsif ($kind eq 'vmpl3.0') { + $script .= unshiftHereDoc(<<" End-of-Here"); + vmware_kind_path=/opt/openslx/plugin-repo/vmware/${kind}/ + module_src_path=\${vmware_kind_path}/vmroot/modules + insmod \${module_src_path}/vmmon.ko + insmod \${module_src_path}/vmnet.ko + insmod \${module_src_path}/vmblock.ko + insmod \${module_src_path}/vsock.ko + insmod \${module_src_path}/vmci.ko + End-of-Here } # unload modules @@ -95,7 +112,7 @@ sub fillRunlevelScript unload_modules() { # to be filled with the proper list within via the stage1 # configuration script - rmmod vmmon vmblock vmnet vmmon 2>/dev/null + rmmod vmmon vmblock vmnet vmmon vmci vsock 2>/dev/null } End-of-Here @@ -109,7 +126,7 @@ sub fillRunlevelScript if [ -n "\$vmnet0" ] ; then # the path might be directly point to the plugin dir End-of-Here - if ($kind eq 'vmpl2.5' || $kind eq 'local25') { + if ($kind eq 'vmpl2.5' || $kind eq 'vmpl3.0' || $kind eq 'local25' || $kind eq 'local30') { $script .= " $location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid -n 0\n"; } else { $script .= " $location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid /dev/vmnet0 eth0\n"; diff --git a/os-plugins/plugins/vmware/OpenSLX/Distro/Gentoo.pm b/os-plugins/plugins/vmware/OpenSLX/Distro/Gentoo.pm index c90a722b..3fbed9f9 100644 --- a/os-plugins/plugins/vmware/OpenSLX/Distro/Gentoo.pm +++ b/os-plugins/plugins/vmware/OpenSLX/Distro/Gentoo.pm @@ -52,7 +52,14 @@ sub fillRunlevelScript End-of-Here # load modules - if ($kind eq 'local' || $kind eq 'local25') { + if ($kind eq 'local' || $kind eq 'local25' || $kind eq 'local30') { + if ($kind eq 'local30') { + $script .= unshiftHereDoc(<<" End-of-Here"); + # vmplayer 3.0 specific stuff + insmod /lib/modules/\$(uname -r)/misc/vsock.ko || return 1 + insmod /lib/modules/\$(uname -r)/misc/vmci.ko || return 1 + End-of-Here + } $script .= unshiftHereDoc(<<" End-of-Here"); # to be filled in via the stage1 configuration script insmod /lib/modules/\$(uname -r)/misc/vmmon.ko || return 1 @@ -82,6 +89,16 @@ sub fillRunlevelScript insmod \${module_src_path}/vmnet.ko insmod \${module_src_path}/vmblock.ko End-of-Here + } elsif ($kind eq 'vmpl3.0') { + $script .= unshiftHereDoc(<<" End-of-Here"); + vmware_kind_path=/opt/openslx/plugin-repo/vmware/${kind}/ + module_src_path=\${vmware_kind_path}/vmroot/modules + insmod \${module_src_path}/vmmon.ko + insmod \${module_src_path}/vmnet.ko + insmod \${module_src_path}/vmblock.ko + insmod \${module_src_path}/vsock.ko + insmod \${module_src_path}/vmci.ko + End-of-Here } # unload modules @@ -91,7 +108,7 @@ sub fillRunlevelScript unload_modules() { # to be filled with the proper list within via the stage1 # configuration script - rmmod vmmon vmblock vmnet vmmon 2>/dev/null + rmmod vmmon vmblock vmnet vmmon vmci vsock 2>/dev/null } End-of-Here @@ -107,7 +124,7 @@ sub fillRunlevelScript if [ -n "\$vmnet0" ] ; then # the path might be directly point to the plugin dir End-of-Here - if ($kind eq 'vmpl2.5' || $kind eq 'local25') { + if ($kind eq 'vmpl2.5' || $kind eq 'vmpl3.0' || $kind eq 'local25' || $kind eq 'local30') { $script .= " $location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid -n 0\n"; } else { $script .= " $location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid /dev/vmnet0 eth0\n"; diff --git a/os-plugins/plugins/vmware/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/vmware/OpenSLX/Distro/Suse.pm index 5a7403b9..90b8841a 100644 --- a/os-plugins/plugins/vmware/OpenSLX/Distro/Suse.pm +++ b/os-plugins/plugins/vmware/OpenSLX/Distro/Suse.pm @@ -57,7 +57,14 @@ sub fillRunlevelScript End-of-Here # Load modules - if ($kind eq 'local' || $kind eq 'local25') { + if ($kind eq 'local' || $kind eq 'local25' || $kind eq 'local30') { + if ($kind eq 'local30') { + $script .= unshiftHereDoc(<<" End-of-Here"); + # vmplayer 3.0 specific stuff + insmod /lib/modules/\$(uname -r)/misc/vsock.ko || return 1 + insmod /lib/modules/\$(uname -r)/misc/vmci.ko || return 1 + End-of-Here + } $script .= unshiftHereDoc(<<" End-of-Here"); # to be filled in via the stage1 configuration script insmod /lib/modules/\$(uname -r)/misc/vmmon.ko || return 1 @@ -87,6 +94,16 @@ sub fillRunlevelScript insmod \${module_src_path}/vmnet.ko insmod \${module_src_path}/vmblock.ko End-of-Here + } elsif ($kind eq 'vmpl3.0') { + $script .= unshiftHereDoc(<<" End-of-Here"); + vmware_kind_path=/opt/openslx/plugin-repo/vmware/${kind}/ + module_src_path=\${vmware_kind_path}/vmroot/modules + insmod \${module_src_path}/vmmon.ko + insmod \${module_src_path}/vmnet.ko + insmod \${module_src_path}/vmblock.ko + insmod \${module_src_path}/vsock.ko + insmod \${module_src_path}/vmci.ko + End-of-Here } # unload modules @@ -96,7 +113,7 @@ sub fillRunlevelScript unload_modules() { # to be filled with the proper list within via the stage1 # configuration script - rmmod vmmon vmblock vmnet vmmon 2>/dev/null + rmmod vmmon vmblock vmnet vmmon vmci vsock 2>/dev/null } End-of-Here @@ -110,7 +127,7 @@ sub fillRunlevelScript if [ -n "\$vmnet0" ] ; then # the path might be directly point to the plugin dir End-of-Here - if ($kind eq 'vmpl2.5'||$kind eq 'local25') { + if ($kind eq 'vmpl2.5' || $kind eq 'vmpl3.0' || $kind eq 'local25' || $kind eq 'local30') { $script .= " $location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid -n 0\n"; } else { $script .= " $location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid /dev/vmnet0 eth0\n"; diff --git a/os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm b/os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm index ff3e4ec6..ca3dd35b 100644 --- a/os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm +++ b/os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm @@ -467,8 +467,8 @@ sub _writeVmwareConfigs { $config .= "version=\"".$versionhash{vmversion}."\"\n"; $config .= "buildversion=\"".$versionhash{vmbuildversion}."\"\n"; - spitFile("$self->{'pluginRepositoryPath'}/$kind/slxvmconfig", $config); - chmod 0755, "$self->{'pluginRepositoryPath'}/$kind/slxvmconfig"; + spitFile("$self->{'pluginRepositoryPath'}/$kind/vmware.conf", $config); + chmod 0755, "$self->{'pluginRepositoryPath'}/$kind/vmware.conf"; $config = "libdir = \"$vmpath\"\n"; spitFile("$self->{'pluginRepositoryPath'}/$kind/config", $config); @@ -550,6 +550,8 @@ sub _localInstallation my $runlevelScript = "$self->{'pluginRepositoryPath'}/$kind/vmware.init"; if ($vmversion eq "2.5") { $self->_writeRunlevelScript($vmbin, $runlevelScript, "local25"); + } elsif ($vmversion eq "3.0") { + $self->_writeRunlevelScript($vmbin, $runlevelScript, "local30"); } else { $self->_writeRunlevelScript($vmbin, $runlevelScript, $kind); } diff --git a/os-plugins/plugins/vmware/XX_vmware.sh b/os-plugins/plugins/vmware/XX_vmware.sh index 34bb8067..673eeb34 100644 --- a/os-plugins/plugins/vmware/XX_vmware.sh +++ b/os-plugins/plugins/vmware/XX_vmware.sh @@ -20,6 +20,9 @@ . /etc/openslx.conf ETCDIR=/mnt/${OPENSLX_DEFAULT_CONFDIR} +PLUGINCONFDIR=${ETCDIR}/plugins/vmware +BINDIR=/mnt/${OPENSLX_DEFAULT_BINDIR} +PLUGINDIR=/mnt/${OPENSLX_DEFAULT_DIR}/plugin-repo/vmware VIRTDIR=/mnt/${OPENSLX_DEFAULT_VIRTDIR} # check if the configuration file is available @@ -38,17 +41,18 @@ if [ -e /initramfs/plugin-conf/vmware.conf ]; then testmkd /mnt/tmp/vmware 1777 testmkd /dev/shm/vmware 1777 + testmkd /mnt/var/run/vmware 1777 - # write the /etc/vmware/slxvmconfig file + # write the ${PLUGINCONFDIR}/vmware.conf file # check for the several variables and write the several files: - # dhcpd.conf for vmnet* interfaces - # nat.conf for the NAT configuration of vmnet8 - # TODO: vmnet-natd-8.mac not clear if really needed and which mac it + # dhcpd.conf for vmnet* interfaces + # nat.conf for the NAT configuration of vmnet8 + # TODO: vmnet-natd-8.mac not clear if really needed and which mac it # should contain (seems to be an average one) echo -e "# configuration file for vmware background services written in \ -stage3 setup" > /mnt/etc/vmware/slxvmconfig +stage3 setup" > ${PLUGINCONFDIR}/vmware.conf if [ "$vmware_bridge" = 1 ] ; then - echo "vmnet0=true" >> /mnt/etc/vmware/slxvmconfig + echo "vmnet0=true" >> ${PLUGINCONFDIR}/vmware.conf fi # write the common dhcpd.conf header for vmnet1,8 if [ -n "$vmware_vmnet1" -o -n "$vmware_vmnet8" ] ; then @@ -76,8 +80,8 @@ stage3 setup" > /mnt/etc/vmware/slxvmconfig local vmip=${vmnet1%/*} # x.x.x.x/yy => 'x.x.x.x'"> local vmpx=${vmnet1#*/} # x.x.x.x/yy => 'yy' local vmsub=$(echo $vmip |sed 's,\(.*\)\..*,\1,') # x.x.x.x => x.x.x - echo -e "vmnet1=$vmnet1" >> /mnt/etc/vmware/slxvmconfig - [ -n "$vmnat" ] && echo "vmnet1nat=true" >> /mnt/etc/vmware/slxvmconfig + echo -e "vmnet1=$vmnet1" >> ${PLUGINCONFDIR}/vmware.conf + [ -n "$vmnat" ] && echo "vmnet1nat=true" >> ${PLUGINCONFDIR}/vmware.conf echo -e "\n# definition for virtual vmnet1 interface" \ >> /mnt/etc/vmware/dhcpd-vmnet1.conf echo -e "subnet $(ipcalc -n $vmnet1|sed s/.*=//) netmask \ @@ -105,7 +109,7 @@ $(ipcalc -m $vmnet1|sed s/.*=//) {" \ # vmnet is user for config files nat.conf/dhcp local vmip="${vmsub}.1" local vmnet="${vmsub}.2" - echo -e "vmnet8=$vmip/$vmpx" >> /mnt/etc/vmware/slxvmconfig + echo -e "vmnet8=$vmip/$vmpx" >>${PLUGINCONFDIR}/vmware.conf echo -e "\n# definition for virtual vmnet8 interface" \ >> /mnt/etc/vmware/dhcpd-vmnet8.conf echo -e "subnet $(ipcalc -n $vmip/$vmpx|sed s/.*=//) netmask \ @@ -141,14 +145,13 @@ $(ipcalc -m $vmip/$vmpx|sed s/.*=//) {" \ mknod /dev/vmnet8 c 119 8 fi # copy the runlevel script to the proper place and activate it - sed "s/eth0/$nwif/g" \ - /mnt/opt/openslx/plugin-repo/vmware/${vmware_kind}/vmware.init \ + sed "s/eth0/$nwif/g" ${PLUGINDIR}/${vmware_kind}/vmware.init \ > /mnt/etc/init.d/vmware-env \ || echo " * Error copying runlevel script. Shouldn't happen." chmod a+x /mnt/etc/init.d/vmware-env rllinker "vmware-env" 20 2 - ############################################################################# + ############################################################################ # vmware stuff first part: two scenarios # * VM images in /usr/share/vmware - then simply link # * VM images via additional mount (mount source NFS, NBD, ...) @@ -168,15 +171,8 @@ $(ipcalc -m $vmip/$vmpx|sed s/.*=//) {" \ ${vmware_imagesrc}." nonfatal fi - ############################################################################# + ############################################################################ # vmware stuff second part: setting up the environment - - # create needed directories and files - for i in /var/run/vmware /etc/vmware/loopimg \ - /etc/vmware/fd-loop /var/X11R6/bin; do - testmkd /mnt/$i - done - # make vmware dhcpd more silent touch /mnt/var/run/vmware/dhcpd-vmnet1.leases \ /mnt/var/run/vmware/dhcpd-vmnet8.leases @@ -188,7 +184,6 @@ ${vmware_imagesrc}." nonfatal done chmod 0700 /dev/vmnet* - chmod 1777 /mnt/var/run/vmware echo -e "usbfs\t\t/proc/bus/usb\tusbfs\t\tauto\t\t 0 0" >> /mnt/etc/fstab # needed for VMware 5.5.4 and versions below @@ -202,25 +197,21 @@ prefvmx.useRecommendedLockedMemSize = "TRUE"' | sed -e "s/^ *//" \ # copy version depending files - the vmchooser expects for every virtua- # lization plugin a file named after it (here run-vmware.include) - cp /mnt/opt/openslx/plugin-repo/vmware/run-virt.include \ - ${ETCDIR}/run-vmware.include + cp ${PLUGINDIR}/run-virt.include \ + ${PLUGINCONFDIR}/../vmchooser/run-vmware.include # copy version depending files - cp /mnt/opt/openslx/plugin-repo/vmware/${vmware_kind}/vmplayer \ - /mnt/var/X11R6/bin/vmplayer - if [ -e /mnt/opt/openslx/plugin-repo/vmware/${vmware_kind}/vmware ]; then - cp /mnt/opt/openslx/plugin-repo/vmware/${vmware_kind}/vmware \ - /mnt/var/X11R6/bin/vmware + cp ${PLUGINDIR}/${vmware_kind}/vmplayer ${BINDIR}/vmplayer + if [ -e ${PLUGINDIR}/${vmware_kind}/vmware ]; then + cp ${PLUGINDIR}/${vmware_kind}/vmware ${BINDIR}/vmware fi # affects only kernel and config depending configuration of not # local installed versions - cat /mnt/opt/openslx/plugin-repo/vmware/${vmware_kind}/config \ - >>/mnt/etc/vmware/config + cat ${PLUGINDIR}/${vmware_kind}/config >>/mnt/etc/vmware/config chmod 644 /mnt/etc/vmware/config echo "# stage1 variables produced during plugin install" \ - >>/mnt/etc/vmware/slxvmconfig - cat /mnt/opt/openslx/plugin-repo/vmware/${vmware_kind}/slxvmconfig \ - >>/mnt/etc/vmware/slxvmconfig + >>${PLUGINCONFDIR}/vmware.conf + cat ${PLUGINDIR}/${vmware_kind}/vmware.conf >>${PLUGINCONFDIR}/vmware.conf # if /tmp resides on nfs: create an empty container file for vmware *.vmem # it does not like to live on NFS exports (still needed??) diff --git a/os-plugins/plugins/vmware/files/run-virt.include b/os-plugins/plugins/vmware/files/run-virt.include index a148442c..e3da346e 100644 --- a/os-plugins/plugins/vmware/files/run-virt.include +++ b/os-plugins/plugins/vmware/files/run-virt.include @@ -18,7 +18,7 @@ # include default directories . /etc/opt/openslx/openslx.conf # include general configuration from vmchooser -. /etc/opt/openslx/run-virt.include +. ${OPENSLX_DEFAULT_CONFDIR}/plugins/vmchooser/run-virt.include # configuration writer functions @@ -29,31 +29,51 @@ runvmwareconfheader () echo "# This configuration file was generated by $0" >${conffile} case "$vmversion" in - 1.0|5.5) + *) + svga_autodetect="TRUE" + numvcpus="1" shared_folder="FALSE" - echo " -# version specific stuff + echo ".encoding = \"UTF-8\" +# version specific stuff - all versions config.version = \"8\"" >>${conffile} ;; - 2.0|6.0) +esac +case "$vmversion" in + 2.*|3.*|6.*|7.*) shared_folder="TRUE" echo " -# version specific stuff -config.version = \"8\" +# version specific stuff - ver. 2.*|3.*|6.*|7.* sharedFolder.option = \"alwaysEnabled\"" >>${conffile} ;; - 2.5|6.5) - shared_folder="TRUE" - cap3d="TRUE" +esac +case "$vmversion" in + 2.5|3.*|6.5|7.*) + cap3d="TRUE" # helper var for loging output echo " -# version specific stuff -config.version = \"8\" +# version specific stuff - ver. 2.5|3.*|6.5|7.* pref.hotkey.gui = \"true\" ehci.present = \"TRUE\" -sharedFolder.option = \"alwaysEnabled\" mks.enable3d = \"${enable3d}\"" >>${conffile} ;; esac +case "$vmversion" in + 3.*|7.*) + nunumvcpus=$(expr ${cpu_cores} \* ${cpu_cores}) + # svga_autodetect="FALSE" # if defined manual, see below + echo " +# version specific stuff - ver. 3.*|7.* +cpuid.coresPerSocket = \"${cpu_cores}\" +maxvcpus = \"4\" +# svga.numDisplays = "2" +# svgy.maxWidth = "2560" +# svga.maxHeight = "2048" +# svga.vramSize = "134217728" +monitor.virtual_mmu = \"automatic\" +monitor.virtual_exec = \"automatic\" +floppy1.clientDevice = \"FALSE\" +floppy1.readonly = \"TRUE\"" >>${conffile} + ;; +esac echo " # id @@ -62,10 +82,10 @@ displayName = \"${displayname}\" guestOS = \"${vmostype}\" # CPU/MEM +numvcpus = \"${nunumvcpus}\" memsize = \"${mem}\" MemAllowAutoScaleDown = \"FALSE\" MemTrimRate = \"-1\" -numvcpus = \"1\" # ide-disks ide0:0.present = \"${ide}\" @@ -114,7 +134,7 @@ sound.fileName = \"-1\" sound.autodetect = \"TRUE\" # svga -svga.autodetect = \"TRUE\" +svga.autodetect = \"${svga_autodetect}\" # usb usb.present = \"TRUE\" @@ -162,6 +182,7 @@ echo ".encoding = \"UTF-8\" # updates/tips webUpdate.enabled = \"FALSE\" +pref.downloadPermission = \"deny\" pref.vmplayer.webUpdateOnStartup = \"FALSE\" pref.tip.startup = \"FALSE\" hints.hideAll = \"TRUE\" @@ -182,6 +203,7 @@ gui.restricted = \"true\" pref.fullscreen.toolbarPixels = \"0\" pref.vmplayer.fullscreen.autohide = \"TRUE\" pref.grabOnMouseClick = \"TRUE\" +pref.grabOnKeyPress = \"FALSE\" pref.motionGrab = \"TRUE\" pref.motionUngrab = \"TRUE\" pref.hideCursorOnUngrab = \"TRUE\" @@ -314,7 +336,7 @@ fdtest=${floppy_0:+"TRUE"} # if $fdtest not set floppy0="FALSE", else "TRUE" floppy0=${fdtest:-"FALSE"} floppy1="TRUE" -floppy1name="/var/lib/virt/vmchooser/loopimg/fd.img" +floppy1name="${OPENSLX_DEFAULT_CONFDIR}/plugins/vmchooser/loopimg/fd.img" # if $cdrom_0 from run-virt.include set then cdtest="TRUE" cdtest= cdtest=${cdrom_0:+"TRUE"} -- cgit v1.2.3-55-g7522