diff options
author | Volker Uhrig | 2008-10-13 12:47:15 +0200 |
---|---|---|
committer | Volker Uhrig | 2008-10-13 12:47:15 +0200 |
commit | 0d17461cb57bfe150b57e6bbfb6913b3b149cfae (patch) | |
tree | 584d1117587ff9a1d799f1ca1c0be7460f92ed61 /os-plugins | |
parent | * Some more preparation. Mainly kernel and plugin config (diff) | |
download | core-0d17461cb57bfe150b57e6bbfb6913b3b149cfae.tar.gz core-0d17461cb57bfe150b57e6bbfb6913b3b149cfae.tar.xz core-0d17461cb57bfe150b57e6bbfb6913b3b149cfae.zip |
* got vmplayer running without their installer and like on our vmware system
* not tested on an OpenSLX Client yet!
* kernel modules can become ugly
git-svn-id: http://svn.openslx.org/svn/openslx/openslx/trunk@2286 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'os-plugins')
-rw-r--r-- | os-plugins/plugins/vmware/OpenSLX/Distro/Base.pm | 33 | ||||
-rw-r--r-- | os-plugins/plugins/vmware/OpenSLX/Distro/Debian.pm | 34 | ||||
-rw-r--r-- | os-plugins/plugins/vmware/OpenSLX/Distro/Gentoo.pm | 33 | ||||
-rw-r--r-- | os-plugins/plugins/vmware/OpenSLX/Distro/Suse.pm | 36 | ||||
-rw-r--r-- | os-plugins/plugins/vmware/XX_vmware.sh | 11 | ||||
-rw-r--r-- | os-plugins/plugins/vmware/files/install-vmpl.sh | 38 |
6 files changed, 101 insertions, 84 deletions
diff --git a/os-plugins/plugins/vmware/OpenSLX/Distro/Base.pm b/os-plugins/plugins/vmware/OpenSLX/Distro/Base.pm index 833a7654..04c72ca4 100644 --- a/os-plugins/plugins/vmware/OpenSLX/Distro/Base.pm +++ b/os-plugins/plugins/vmware/OpenSLX/Distro/Base.pm @@ -72,9 +72,10 @@ sub fillRunlevelScript if ($kind eq 'local') { $script .= unshiftHereDoc(<<" End-of-Here"); # to be filled in via the stage1 configuration script - 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 + insmod /lib/modules/\$(uname -r)/misc/vmmon.o || return 1 + insmod /lib/modules/\$(uname -r)/misc/vmnet.o || return 1 + insmod /lib/modules/\$(uname -r)/misc/vmblock.o 2>/dev/null || return 0 + #insmod /lib/modules/\$(uname -r)/misc/vmci.o 2>/dev/null || return 0 # most probably nobody wants to run the parallel port driver ... #modprobe vm... End-of-Here @@ -83,27 +84,27 @@ sub fillRunlevelScript # 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}/vmmon.o + insmod \${module_src_path}/vmnet.o 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 + insmod \${module_src_path}/vmmon.o + insmod \${module_src_path}/vmnet.o + insmod \${module_src_path}/vmblock.o 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 + insmod \${module_src_path}/vmmon.o + insmod \${module_src_path}/vmnet.o + #insmod \${module_src_path}/vmci.o + insmod \${module_src_path}/vmmon.o End-of-Here } @@ -129,7 +130,13 @@ sub fillRunlevelScript setup_vmnet0() { if [ -n "\$vmnet0" ] ; then # the path might be directly point to the plugin dir - $location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid /dev/vmnet0 eth0 + End-of-Here + if ($kind eq 'vmpl2.5') { + $script .= "\$location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid -n 0"; + } else { + $script .= "\$location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid /dev/vmnet0 eth0"; + } + $script .= unshiftHereDoc(<<" End-of-Here"); fi } # we definately prefer the hostonly interface for NATed operation too diff --git a/os-plugins/plugins/vmware/OpenSLX/Distro/Debian.pm b/os-plugins/plugins/vmware/OpenSLX/Distro/Debian.pm index 5597612b..54047aca 100644 --- a/os-plugins/plugins/vmware/OpenSLX/Distro/Debian.pm +++ b/os-plugins/plugins/vmware/OpenSLX/Distro/Debian.pm @@ -59,9 +59,10 @@ sub fillRunlevelScript if ($kind eq 'local') { $script .= unshiftHereDoc(<<" End-of-Here"); # to be filled in via the stage1 configuration script - 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 + insmod /lib/modules/\$(uname -r)/misc/vmmon.o || return 1 + insmod /lib/modules/\$(uname -r)/misc/vmnet.o || return 1 + insmod /lib/modules/\$(uname -r)/misc/vmblock.o 2>/dev/null || return 0 + #insmod /lib/modules/\$(uname -r)/misc/vmci.o 2>/dev/null || return 0 # most probably nobody wants to run the parallel port driver ... #modprobe vm... End-of-Here @@ -70,27 +71,27 @@ sub fillRunlevelScript # 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}/vmmon.o + insmod \${module_src_path}/vmnet.o 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 + insmod \${module_src_path}/vmmon.o + insmod \${module_src_path}/vmnet.o + insmod \${module_src_path}/vmblock.o 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 + insmod \${module_src_path}/vmmon.o + insmod \${module_src_path}/vmnet.o + #insmod \${module_src_path}/vmci.o + insmod \${module_src_path}/vmmon.o End-of-Here } @@ -114,7 +115,14 @@ sub fillRunlevelScript setup_vmnet0() { if [ -n "\$vmnet0" ] ; then # the path might be directly point to the plugin dir - $location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid /dev/vmnet0 eth0 + End-of-Here + if ($kind eq 'vmpl2.5') { + $script .= "\$location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid -n 0"; + } else { + $script .= "\$location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid /dev/vmnet0 eth0"; + } + $script .= unshiftHereDoc(<<" End-of-Here"); + exit 0 fi } # we definately prefer the hostonly interface for NATed operation too diff --git a/os-plugins/plugins/vmware/OpenSLX/Distro/Gentoo.pm b/os-plugins/plugins/vmware/OpenSLX/Distro/Gentoo.pm index d42646c9..ea734467 100644 --- a/os-plugins/plugins/vmware/OpenSLX/Distro/Gentoo.pm +++ b/os-plugins/plugins/vmware/OpenSLX/Distro/Gentoo.pm @@ -55,9 +55,10 @@ sub fillRunlevelScript if ($kind eq 'local') { $script .= unshiftHereDoc(<<" End-of-Here"); # to be filled in via the stage1 configuration script - 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 + insmod /lib/modules/\$(uname -r)/misc/vmmon.o || return 1 + insmod /lib/modules/\$(uname -r)/misc/vmnet.o || return 1 + insmod /lib/modules/\$(uname -r)/misc/vmblock.o 2>/dev/null || return 0 + #insmod /lib/modules/\$(uname -r)/misc/vmci.o 2>/dev/null || return 0 # most probably nobody wants to run the parallel port driver ... #modprobe vm... End-of-Here @@ -66,27 +67,27 @@ sub fillRunlevelScript # 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}/vmmon.o + insmod \${module_src_path}/vmnet.o 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 + insmod \${module_src_path}/vmmon.o + insmod \${module_src_path}/vmnet.o + insmod \${module_src_path}/vmblock.o 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 + insmod \${module_src_path}/vmmon.o + insmod \${module_src_path}/vmnet.o + #insmod \${module_src_path}/vmci.o + insmod \${module_src_path}/vmmon.o End-of-Here } @@ -112,7 +113,13 @@ sub fillRunlevelScript setup_vmnet0() { if [ -n "\$vmnet0" ] ; then # the path might be directly point to the plugin dir - $location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid /dev/vmnet0 eth0 + End-of-Here + if ($kind eq 'vmpl2.5') { + $script .= "\$location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid -n 0"; + } else { + $script .= "\$location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid /dev/vmnet0 eth0"; + } + $script .= unshiftHereDoc(<<" End-of-Here"); fi } # we definately prefer the hostonly interface for NATed operation too diff --git a/os-plugins/plugins/vmware/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/vmware/OpenSLX/Distro/Suse.pm index 97d0f4f7..e9b8f121 100644 --- a/os-plugins/plugins/vmware/OpenSLX/Distro/Suse.pm +++ b/os-plugins/plugins/vmware/OpenSLX/Distro/Suse.pm @@ -60,9 +60,10 @@ sub fillRunlevelScript if ($kind eq 'local') { $script .= unshiftHereDoc(<<" End-of-Here"); # to be filled in via the stage1 configuration script - 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 + insmod /lib/modules/\$(uname -r)/misc/vmmon.o || return 1 + insmod /lib/modules/\$(uname -r)/misc/vmnet.o || return 1 + insmod /lib/modules/\$(uname -r)/misc/vmblock.o 2>/dev/null || return 0 + #insmod /lib/modules/\$(uname -r)/misc/vmci.o 2>/dev/null || return 0 # most probably nobody wants to run the parallel port driver ... #modprobe vm... End-of-Here @@ -71,27 +72,27 @@ sub fillRunlevelScript # 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}/vmmon.o + insmod \${module_src_path}/vmnet.o 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 + insmod \${module_src_path}/vmmon.o + insmod \${module_src_path}/vmnet.o + insmod \${module_src_path}/vmblock.o 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 + insmod \${module_src_path}/vmmon.o + insmod \${module_src_path}/vmnet.o + #insmod \${module_src_path}/vmci.o + insmod \${module_src_path}/vmmon.o End-of-Here } @@ -115,9 +116,14 @@ sub fillRunlevelScript setup_vmnet0() { if [ -n "\$vmnet0" ] ; then # the path might be directly point to the plugin dir - $location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid /dev/vmnet0 eth0 - # new style (v6.5) - #$location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid -n 0 + End-of-Here + if ($kind eq 'vmpl2.5') { + $script .= "\$location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid -n 0"; + } else { + $script .= "\$location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid /dev/vmnet0 eth0"; + } + $script .= unshiftHereDoc(<<" End-of-Here"); + exit 0 fi } # we definately prefer the hostonly interface for NATed operation too diff --git a/os-plugins/plugins/vmware/XX_vmware.sh b/os-plugins/plugins/vmware/XX_vmware.sh index 92c8c347..88a9b683 100644 --- a/os-plugins/plugins/vmware/XX_vmware.sh +++ b/os-plugins/plugins/vmware/XX_vmware.sh @@ -192,6 +192,17 @@ $(ipcalc -m $vmip/$vmpx|sed s/.*=//) {" \ for i in "/dev/vmnet0 c 119 0" "/dev/vmmon c 10 165"; do mknod $i done + # looks like it gets created by insmod + # but permission wasnt correct. 666 was on a testclient + # won't work here. two systems, to different node informations + # we have to run it after vmci is loaded + # and we don't need vmci, because its just for communications + # between more as one VM + #if [ "${vmware_kind}" = "vmpl2.5" && ! -e /dev/vmci ]; then + # mknod --mode=666 /dev/vmci c 10 $(cat /proc/misc|grep vmci|awk '{print $1}') + #elsif [ "${vmware_kind}" == "vmpl2.5" ]; then + # chmod 666 /dev/vmci + #fi chmod 0700 /dev/vmnet* chmod 1777 /mnt/etc/vmware/fd-loop diff --git a/os-plugins/plugins/vmware/files/install-vmpl.sh b/os-plugins/plugins/vmware/files/install-vmpl.sh index ba1d9c3f..e0795b30 100644 --- a/os-plugins/plugins/vmware/files/install-vmpl.sh +++ b/os-plugins/plugins/vmware/files/install-vmpl.sh @@ -176,21 +176,11 @@ else mkdir -p vmroot/lib/vmware/setup mv temp/vmware-player-setup/vmware-config vmroot/lib/vmware/setup mv temp/vmware-player/doc vmroot/ - # files that differ so far... yes the normal hack we know from v1ŮŽ/v2a - # .../installer/ shouldn't be needed, too - #vmroot/lib/vmware/installer/lib/libconf/etc/gtk-2.0/gdk-pixbuf.loaders - #vmroot/lib/vmware/installer/lib/libconf/etc/gtk-2.0/gtk.immodules - #vmroot/lib/vmware/installer/lib/libconf/etc/pango/pango.modules - #vmroot/lib/vmware/installer/lib/libconf/etc/pango/pangorc - #vmroot/lib/vmware/libconf/etc/gtk-2.0/gdk-pixbuf.loaders - #vmroot/lib/vmware/libconf/etc/gtk-2.0/gtk.immodules - #vmroot/lib/vmware/libconf/etc/pango/pango.modules - #vmroot/lib/vmware/libconf/etc/pango/pangorc + mv temp/vmware-player/bin vmroot/ ## ## left files/dirs ## - # temp/vmware-player/bin => /usr/bin # temp/vmware-player/files/index.theme ... hopefully not needed, # temp/vmware-player/share => /usr/share ... icons # temp/vmware-player/etc/... => /etc @@ -209,9 +199,12 @@ else # vmnet(1|8) => we know it from v1/v2 echo " * fixing file permission" + chmod 755 vmroot/lib/vmware/bin/* chmod 04755 vmroot/lib/vmware/bin/vmware-vmx - chmod 04755 vmroot/lib/vmware/bin/vmware-debug - chmod 04755 vmroot/lib/vmware/bin/vmware-stats + chmod 04755 vmroot/lib/vmware/bin/vmware-vmx-debug + chmod 04755 vmroot/lib/vmware/bin/vmware-vmx-stats + chmod 755 vmroot/bin/* + chmod 755 vmroot/lib/vmware/lib/wrapper-gtk24.sh # I don't want to understand what vmware is doing, but without this # step we need to have LD_LIBRARY_PATH with 53 entrys. welcome to @@ -251,8 +244,8 @@ else tar xf vmnet.tar tar xf vmmon.tar tar xf vmblock.tar - tar xf vmci.tar - tar xf vmppuser.tar + #tar xf vmci.tar # just for 2 or more VMs => not needed + #tar xf vmppuser.tar # we don't need it tar xf vsock.tar echo " * building vmblock module" @@ -276,21 +269,6 @@ else mv vmnet.ko vmnet.o ../../../../../modules cd .. - echo " * building vmci module" - cd vmci-only - sed -i "s%^VM_UNAME = .*%VM_UNAME = $(find /boot/vmlinuz* -maxdepth 0|sed 's,/boot/vmlinuz-,,g'|sort|tail -n 1)%" Makefile - make -s - mv vmci.ko vmci.o ../../../../../modules - cd .. - - # This module is optional and compilation can become painful - #echo " * building vmppuser module" - #cd vmppuser-only - #sed -i "s%^VM_UNAME = .*%VM_UNAME = $(find /boot/vmlinuz* -maxdepth 0|sed 's,/boot/vmlinuz-,,g'|sort|tail -n 1)%" Makefile - #make -s - #mv vmppuser.ko vmppuser.o ../../../../../modules - #cd .. - echo " * building vmsock module" cd vsock-only sed -i "s%^VM_UNAME = .*%VM_UNAME = $(find /boot/vmlinuz* -maxdepth 0|sed 's,/boot/vmlinuz-,,g'|sort|tail -n 1)%" Makefile |