diff options
author | Volker Uhrig | 2008-10-10 22:07:01 +0200 |
---|---|---|
committer | Volker Uhrig | 2008-10-10 22:07:01 +0200 |
commit | c5db8d35d59cb3c7848de9b3a51fc8eb0f74c278 (patch) | |
tree | 99d19a5eb11ff91e39bab7aac7c1fdd5191de258 /os-plugins | |
parent | * added dependency (diff) | |
download | core-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.pm | 31 | ||||
-rw-r--r-- | os-plugins/plugins/vmware/OpenSLX/Distro/Debian.pm | 28 | ||||
-rw-r--r-- | os-plugins/plugins/vmware/OpenSLX/Distro/Gentoo.pm | 31 | ||||
-rw-r--r-- | os-plugins/plugins/vmware/OpenSLX/Distro/Suse.pm | 30 | ||||
-rw-r--r-- | os-plugins/plugins/vmware/OpenSLX/OSPlugin/vmware.pm | 9 | ||||
-rw-r--r-- | os-plugins/plugins/vmware/XX_vmware.sh | 9 | ||||
-rw-r--r-- | os-plugins/plugins/vmware/files/install-vmpl.sh | 2 |
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" |