summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Janczyk2009-11-03 18:08:39 +0100
committerMichael Janczyk2009-11-03 18:08:39 +0100
commit841a2d9b44e1e12332fe12bf25aea667f1758668 (patch)
treefc8d9a5ccece0604241084a4642fa04b74114606
parentdefault directories introduced. please test and say what you think. examples ... (diff)
downloadcore-841a2d9b44e1e12332fe12bf25aea667f1758668.tar.gz
core-841a2d9b44e1e12332fe12bf25aea667f1758668.tar.xz
core-841a2d9b44e1e12332fe12bf25aea667f1758668.zip
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
-rw-r--r--installer/OpenSLX/OSSetup/Engine.pm6
-rw-r--r--os-plugins/plugins/vmchooser/XX_vmchooser.sh42
-rw-r--r--os-plugins/plugins/vmware/OpenSLX/Distro/Debian.pm23
-rw-r--r--os-plugins/plugins/vmware/OpenSLX/Distro/Gentoo.pm23
-rw-r--r--os-plugins/plugins/vmware/OpenSLX/Distro/Suse.pm23
-rw-r--r--os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm6
-rw-r--r--os-plugins/plugins/vmware/XX_vmware.sh57
-rw-r--r--os-plugins/plugins/vmware/files/run-virt.include54
8 files changed, 156 insertions, 78 deletions
diff --git a/installer/OpenSLX/OSSetup/Engine.pm b/installer/OpenSLX/OSSetup/Engine.pm
index f5a27ee7..a46000ea 100644
--- a/installer/OpenSLX/OSSetup/Engine.pm
+++ b/installer/OpenSLX/OSSetup/Engine.pm
@@ -1122,6 +1122,12 @@ sub _generateDefaultDirs
spitFile("$targetRoot/$OPENSLX_DEFAULT_CONFDIR/openslx.conf",
"$openslxConfig");
+
+ # add BINDIR to PATH
+ my $openslxDefaultPath = "PATH=\$PATH:$OPENSLX_DEFAULT_BINDIR\n";
+ $openslxDefaultPath .= "export PATH";
+ spitFile("$targetRoot/etc/profile.d/openslx-binpath.sh",
+ "$openslxDefaultPath");
}
sub _copyUclibcRootfs
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"}