summaryrefslogtreecommitdiffstats
path: root/os-plugins
diff options
context:
space:
mode:
authorVolker Uhrig2008-10-10 22:07:01 +0200
committerVolker Uhrig2008-10-10 22:07:01 +0200
commitc5db8d35d59cb3c7848de9b3a51fc8eb0f74c278 (patch)
tree99d19a5eb11ff91e39bab7aac7c1fdd5191de258 /os-plugins
parent* added dependency (diff)
downloadcore-c5db8d35d59cb3c7848de9b3a51fc8eb0f74c278.tar.gz
core-c5db8d35d59cb3c7848de9b3a51fc8eb0f74c278.tar.xz
core-c5db8d35d59cb3c7848de9b3a51fc8eb0f74c278.zip
* Some more preparation. Mainly kernel and plugin config
git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2285 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'os-plugins')
-rw-r--r--os-plugins/plugins/vmware/OpenSLX/Distro/Base.pm31
-rw-r--r--os-plugins/plugins/vmware/OpenSLX/Distro/Debian.pm28
-rw-r--r--os-plugins/plugins/vmware/OpenSLX/Distro/Gentoo.pm31
-rw-r--r--os-plugins/plugins/vmware/OpenSLX/Distro/Suse.pm30
-rw-r--r--os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm9
-rw-r--r--os-plugins/plugins/vmware/XX_vmware.sh9
-rw-r--r--os-plugins/plugins/vmware/files/install-vmpl.sh2
7 files changed, 95 insertions, 45 deletions
diff --git a/os-plugins/plugins/vmware/OpenSLX/Distro/Base.pm b/os-plugins/plugins/vmware/OpenSLX/Distro/Base.pm
index 88860c1d..833a7654 100644
--- a/os-plugins/plugins/vmware/OpenSLX/Distro/Base.pm
+++ b/os-plugins/plugins/vmware/OpenSLX/Distro/Base.pm
@@ -72,15 +72,13 @@ sub fillRunlevelScript
if ($kind eq 'local') {
$script .= unshiftHereDoc(<<" End-of-Here");
# to be filled in via the stage1 configuration script
- # if we don't have vmmon and vmnet it should print out
- # an error. vmblock depends on version
insmod /lib/modules/\$(uname -r)/misc/vmmon.ko || return 1
insmod /lib/modules/\$(uname -r)/misc/vmnet.ko || return 1
insmod /lib/modules/\$(uname -r)/misc/vmblock.ko 2>/dev/null || return 0
# most probably nobody wants to run the parallel port driver ...
#modprobe vm...
End-of-Here
- } else {
+ } elsif ($kind eq 'vmpl1.0') {
$script .= unshiftHereDoc(<<" End-of-Here");
# load module manuall
vmware_kind_path=/opt/openslx/plugin-repo/vmware/\${vmware_kind}/
@@ -88,11 +86,25 @@ sub fillRunlevelScript
insmod \${module_src_path}/vmmon.ko
insmod \${module_src_path}/vmnet.ko
End-of-Here
- if ($kind ne "vmpl1.0") {
- $script .= unshiftHereDoc(<<" End-of-Here");
- insmod \${module_src_path}/vmblock.ko
- End-of-Here
- }
+ } elsif ($kind ne "vmpl2.0") {
+ $script .= unshiftHereDoc(<<" End-of-Here");
+ # load module manuall
+ vmware_kind_path=/opt/openslx/plugin-repo/vmware/\${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
+ End-of-Here
+ } elsif ($kind eq 'vmpl2.5') {
+ $script .= unshiftHereDoc(<<" End-of-Here");
+ # load module manuall
+ vmware_kind_path=/opt/openslx/plugin-repo/vmware/\${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}/vmci.ko
+ insmod \${module_src_path}/vmmon.ko
+ End-of-Here
}
# unload modules
@@ -102,7 +114,8 @@ sub fillRunlevelScript
unload_modules() {
# to be filled with the proper list within via the stage1
# configuration script
- rmmod vmmon vmblock vmnet 2>/dev/null
+ rmmod vmmon vmblock vmnet vmci vmmon 2>/dev/null
+
}
End-of-Here
diff --git a/os-plugins/plugins/vmware/OpenSLX/Distro/Debian.pm b/os-plugins/plugins/vmware/OpenSLX/Distro/Debian.pm
index 637562db..5597612b 100644
--- a/os-plugins/plugins/vmware/OpenSLX/Distro/Debian.pm
+++ b/os-plugins/plugins/vmware/OpenSLX/Distro/Debian.pm
@@ -65,7 +65,7 @@ sub fillRunlevelScript
# most probably nobody wants to run the parallel port driver ...
#modprobe vm...
End-of-Here
- } else {
+ } elsif ($kind eq 'vmpl1.0') {
$script .= unshiftHereDoc(<<" End-of-Here");
# load module manuall
vmware_kind_path=/opt/openslx/plugin-repo/vmware/\${vmware_kind}/
@@ -73,11 +73,25 @@ sub fillRunlevelScript
insmod \${module_src_path}/vmmon.ko
insmod \${module_src_path}/vmnet.ko
End-of-Here
- if ($kind ne "vmpl1.0") {
- $script .= unshiftHereDoc(<<" End-of-Here");
- insmod \${module_src_path}/vmblock.ko
- End-of-Here
- }
+ } elsif ($kind ne "vmpl2.0") {
+ $script .= unshiftHereDoc(<<" End-of-Here");
+ # load module manuall
+ vmware_kind_path=/opt/openslx/plugin-repo/vmware/\${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
+ End-of-Here
+ } elsif ($kind eq 'vmpl2.5') {
+ $script .= unshiftHereDoc(<<" End-of-Here");
+ # load module manuall
+ vmware_kind_path=/opt/openslx/plugin-repo/vmware/\${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}/vmci.ko
+ insmod \${module_src_path}/vmmon.ko
+ End-of-Here
}
# unload modules
@@ -87,7 +101,7 @@ sub fillRunlevelScript
unload_modules() {
# to be filled with the proper list within via the stage1
# configuration script
- rmmod vmmon vmblock vmnet 2>/dev/null
+ rmmod vmmon vmblock vmnet vmci vmmon 2>/dev/null
}
End-of-Here
diff --git a/os-plugins/plugins/vmware/OpenSLX/Distro/Gentoo.pm b/os-plugins/plugins/vmware/OpenSLX/Distro/Gentoo.pm
index dbeedd70..d42646c9 100644
--- a/os-plugins/plugins/vmware/OpenSLX/Distro/Gentoo.pm
+++ b/os-plugins/plugins/vmware/OpenSLX/Distro/Gentoo.pm
@@ -51,18 +51,17 @@ sub fillRunlevelScript
load_modules() {
End-of-Here
+ # load modules
if ($kind eq 'local') {
$script .= unshiftHereDoc(<<" End-of-Here");
# to be filled in via the stage1 configuration script
- # if we don't have vmmon and vmnet it should print out
- # an error. vmblock depends on version
insmod /lib/modules/\$(uname -r)/misc/vmmon.ko || return 1
insmod /lib/modules/\$(uname -r)/misc/vmnet.ko || return 1
insmod /lib/modules/\$(uname -r)/misc/vmblock.ko 2>/dev/null || return 0
# most probably nobody wants to run the parallel port driver ...
#modprobe vm...
End-of-Here
- } else {
+ } elsif ($kind eq 'vmpl1.0') {
$script .= unshiftHereDoc(<<" End-of-Here");
# load module manuall
vmware_kind_path=/opt/openslx/plugin-repo/vmware/\${vmware_kind}/
@@ -70,11 +69,25 @@ sub fillRunlevelScript
insmod \${module_src_path}/vmmon.ko
insmod \${module_src_path}/vmnet.ko
End-of-Here
- if ($kind ne "vmpl1.0") {
- $script .= unshiftHereDoc(<<" End-of-Here");
- insmod \${module_src_path}/vmblock.ko
- End-of-Here
- }
+ } elsif ($kind ne "vmpl2.0") {
+ $script .= unshiftHereDoc(<<" End-of-Here");
+ # load module manuall
+ vmware_kind_path=/opt/openslx/plugin-repo/vmware/\${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
+ End-of-Here
+ } elsif ($kind eq 'vmpl2.5') {
+ $script .= unshiftHereDoc(<<" End-of-Here");
+ # load module manuall
+ vmware_kind_path=/opt/openslx/plugin-repo/vmware/\${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}/vmci.ko
+ insmod \${module_src_path}/vmmon.ko
+ End-of-Here
}
# unload modules
@@ -84,7 +97,7 @@ sub fillRunlevelScript
unload_modules() {
# to be filled with the proper list within via the stage1
# configuration script
- rmmod vmmon vmblock vmnet 2>/dev/null
+ rmmod vmmon vmblock vmnet vmci vmmon 2>/dev/null
}
End-of-Here
diff --git a/os-plugins/plugins/vmware/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/vmware/OpenSLX/Distro/Suse.pm
index b5ae39f4..97d0f4f7 100644
--- a/os-plugins/plugins/vmware/OpenSLX/Distro/Suse.pm
+++ b/os-plugins/plugins/vmware/OpenSLX/Distro/Suse.pm
@@ -60,15 +60,13 @@ sub fillRunlevelScript
if ($kind eq 'local') {
$script .= unshiftHereDoc(<<" End-of-Here");
# to be filled in via the stage1 configuration script
- # if we don't have vmmon and vmnet it should print out
- # an error. vmblock depends on version
insmod /lib/modules/\$(uname -r)/misc/vmmon.ko || return 1
insmod /lib/modules/\$(uname -r)/misc/vmnet.ko || return 1
insmod /lib/modules/\$(uname -r)/misc/vmblock.ko 2>/dev/null || return 0
# most probably nobody wants to run the parallel port driver ...
#modprobe vm...
End-of-Here
- } else {
+ } elsif ($kind eq 'vmpl1.0') {
$script .= unshiftHereDoc(<<" End-of-Here");
# load module manuall
vmware_kind_path=/opt/openslx/plugin-repo/vmware/\${vmware_kind}/
@@ -76,11 +74,25 @@ sub fillRunlevelScript
insmod \${module_src_path}/vmmon.ko
insmod \${module_src_path}/vmnet.ko
End-of-Here
- if ($kind ne 'vmpl1.0') {
- $script .= unshiftHereDoc(<<" End-of-Here");
- insmod \${module_src_path}/vmblock.ko
- End-of-Here
- }
+ } elsif ($kind ne "vmpl2.0") {
+ $script .= unshiftHereDoc(<<" End-of-Here");
+ # load module manuall
+ vmware_kind_path=/opt/openslx/plugin-repo/vmware/\${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
+ End-of-Here
+ } elsif ($kind eq 'vmpl2.5') {
+ $script .= unshiftHereDoc(<<" End-of-Here");
+ # load module manuall
+ vmware_kind_path=/opt/openslx/plugin-repo/vmware/\${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}/vmci.ko
+ insmod \${module_src_path}/vmmon.ko
+ End-of-Here
}
# unload modules
@@ -90,7 +102,7 @@ sub fillRunlevelScript
unload_modules() {
# to be filled with the proper list within via the stage1
# configuration script
- rmmod vmmon vmblock vmnet 2>/dev/null
+ rmmod vmmon vmblock vmnet vmci vmmon 2>/dev/null
}
End-of-Here
diff --git a/os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm b/os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm
index 6daf8b5a..93a1262f 100644
--- a/os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm
+++ b/os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm
@@ -130,13 +130,13 @@ sub getAttrInfo
applies_to_systems => 1,
applies_to_clients => 1,
description => unshiftHereDoc(<<' End-of-Here'),
- Which set of VMware binaries to use: installed (local) or provided by an
- other plugin (e.g. Workstation 5.5: vmws5.5, Player 2.0: vmpl2.0, ...)
+ Which set of VMware binaries to use: installed (local) or provided by the
+ plugin itself (vmpl1.0, vmpl2.0, vmpl2.5)?
End-of-Here
# only allow the supported once...
# TODO: modify if we know which of them work
#content_regex => qr{^(local|vmws(5\.5|6.0)|vmpl(1\.0|2\.0))$},
- content_regex => qr{^(local|vmpl2\.0|vmpl1\.0)$},
+ content_regex => qr{^(local|vmpl2\.0|vmpl1\.0|vmpl2\.5)$},
content_descr => 'Allowed values: local, vmpl2.0',
#TODO: what if we don't have a local installation. default
# is still local. Someone has a clue how to test
@@ -227,11 +227,12 @@ sub preInstallationPhase()
my $vmpl25 = $self->{attrs}->{'vmware::vmpl2.5'};
my $local = $self->{attrs}->{'vmware::local'};
- if ($local == 0 && $vmpl10 == 0 && $vmpl20 == 0 && $vmpl20 == 0) {
+ if ($local == 0 && $vmpl10 == 0 && $vmpl20 == 0 && $vmpl25 == 0) {
print "\n\n * At least one kind needs to get installed/activated:\n";
print " vmware::local=1 or\n";
print " vmware::vmpl1.0=1 or\n";
print " vmware::vmpl2.0=1\n";
+ print " vmware::vmpl2.5=1\n";
print " * vmware plugin was not installed!\n\n";
exit 1;
}
diff --git a/os-plugins/plugins/vmware/XX_vmware.sh b/os-plugins/plugins/vmware/XX_vmware.sh
index 123e1bbc..92c8c347 100644
--- a/os-plugins/plugins/vmware/XX_vmware.sh
+++ b/os-plugins/plugins/vmware/XX_vmware.sh
@@ -30,13 +30,6 @@ if [ -e /initramfs/plugin-conf/vmware.conf ]; then
# Load general configuration
. /initramfs/machine-setup
- # prepare all needed vmware configuration files
- if [ -d /mnt/etc/vmware ] ; then
- rm -rf /mnt/etc/vmware/*
- else
- testmkd /mnt/etc/vmware
- fi
-
# write the /etc/vmware/slxvmconfig file
# check for the several variables and write the several files:
# dhcpd.conf for vmnet* interfaces
@@ -255,6 +248,8 @@ $(ipcalc -m $vmip/$vmpx|sed s/.*=//) {" \
echo "vmplversion=1" > /mnt/etc/vmware/version
elif [ "${vmware_kind}" = "vmpl2.0" ]; then
echo "vmplversion=2" > /mnt/etc/vmware/version
+ elif [ "${vmware_kind}" = "vmpl2.5" ]; then
+ echo "vmplversion=2.5" > /mnt/etc/vmware/version
elif [ "${vmware_kind}" = "local" ]; then
version=$(strings /mnt/usr/lib/vmware/bin/vmplayer|grep -e '^[12]\.[0-9]\.[0-9]'|head -n 1|cut -c 1)
echo "vmplversion=${version}" > /mnt/etc/vmware/version
diff --git a/os-plugins/plugins/vmware/files/install-vmpl.sh b/os-plugins/plugins/vmware/files/install-vmpl.sh
index 19caaabe..ba1d9c3f 100644
--- a/os-plugins/plugins/vmware/files/install-vmpl.sh
+++ b/os-plugins/plugins/vmware/files/install-vmpl.sh
@@ -93,6 +93,7 @@ if [ "${vmplversion}" != "vmpl2.5" ]; then
vmroot/lib/vmware/libconf/etc/pango/pangorc
echo " * creating /etc/vmware"
+ rm -rf /etc/vmware
mkdir -p /etc/vmware
echo " * unpacking kernel modules"
@@ -242,6 +243,7 @@ else
vmroot/lib/vmware/libconf/etc/pango/pangorc
echo " * creating /etc/vmware"
+ rm -rf /etc/vmware
mkdir -p /etc/vmware
echo " * unpacking kernel modules"