Install VMware Server 2.02 in SLES 11 SP1

Result:
I managed to install the vmware server 2.02 in SLES 11 SP1 x86_64 Kernel 2.6.32.29-0.3-default

Problems:

Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vmmon-only’
make -C /lib/modules/2.6.32.12-0.7-default/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-2.6.32.12-0.7-obj/x86_64/default’
make -C ../../../linux-2.6.32.12-0.7 O=/usr/src/linux-2.6.32.12-0.7-obj/x86_64/default/. modules
CC vmware-config.pl (VMware-server-2.0.2 ) fails on SLES11 /tmp/vmware-config0/vmmon-only/linux/driver.o
In file included from /tmp/vmware-config0/vmmon-only/linux/driver.c:31:
/tmp/vmware-config0/vmmon-only/./include/compat_wait.h:78: error: conflicting types for ‘poll_initwait’
/usr/src/linux-2.6.32.12-0.7/include/linux/poll.h:70: error: previous declaration of ‘poll_initwait’ was here
In file included from /tmp/vmware-config0/vmmon-only/./common/vmx86.h:32,
from /tmp/vmware-config0/vmmon-only/linux/driver.h:29,
from /tmp/vmware-config0/vmmon-only/linux/driver.c:101:
/tmp/vmware-config0/vmmon-only/./include/x86msr.h:164:1: warning: “MSR_THERM2_CTL” redefined
In file included from include2/asm/msr.h:4,
from include2/asm/processor.h:21,
from /usr/src/linux-2.6.32.12-0.7/include/linux/prefetch.h:14,
from /usr/src/linux-2.6.32.12-0.7/include/linux/list.h:6,
from /usr/src/linux-2.6.32.12-0.7/include/linux/module.h:9,
from /tmp/vmware-config0/vmmon-only/./include/compat_module.h:27,
from /tmp/vmware-config0/vmmon-only/linux/driver.c:26:
include2/asm/msr-index.h:228:1: warning: this is the location of the previous definition
/tmp/vmware-config0/vmmon-only/linux/driver.c: In function ‘LinuxDriverSyncCallOnEachCPU’:
/tmp/vmware-config0/vmmon-only/linux/driver.c:1423: error: too many arguments to function ‘smp_call_function’
/tmp/vmware-config0/vmmon-only/linux/driver.c: In function ‘LinuxDriver_Ioctl’:
/tmp/vmware-config0/vmmon-only/linux/driver.c:1987: error: ‘struct task_struct’ has no member named ‘euid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1987: error: ‘struct task_struct’ has no member named ‘uid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1988: error: ‘struct task_struct’ has no member named ‘fsuid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1988: error: ‘struct task_struct’ has no member named ‘uid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1989: error: ‘struct task_struct’ has no member named ‘egid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1989: error: ‘struct task_struct’ has no member named ‘gid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1990: error: ‘struct task_struct’ has no member named ‘fsgid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:1990: error: ‘struct task_struct’ has no member named ‘gid’
/tmp/vmware-config0/vmmon-only/linux/driver.c:2007: error: too many arguments to function ‘smp_call_function’
make[4]: *** /tmp/vmware-config0/vmmon-only/linux/driver.o Error 1
make[3]: *** vmware-config.pl (VMware-server-2.0.2 ) fails on SLES11 Error 2
make[2]: *** vmware-config.pl (VMware-server-2.0.2 ) fails on SLES11 Error 2
make[1]: *** vmware-config.pl (VMware-server-2.0.2 ) fails on SLES11 Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.32.12-0.7-obj/x86_64/default’
make: *** http://vmmon.ko Error 2
make: Leaving directory `/tmp/vmware-config0/vmmon-only’
Unable to build the vmmon module.

Solution:
Radu Cotescu has written a script that automates a build, configure and install on machines with new kernels:
http://radu.cotescu.com/2010/02/21/how-to-install-vmware-server-kernel-2-6-32/

  1. remove the rpm install: rpm -e VMware-server
  2. Download the script, extract it, place the vmware server 2.02 source tar (not the RPM) in the same directory, DO NOT extract the tar.
  3. chmod +x vmware-server-2.0.x-kernel-2.6.3x-install.sh
  4. then run the script: “vmware-server-2.0.x-kernel-2.6.3x-install.sh ./”
  5. If it is not working for your x64  maschine
    download the VMware-server-2.0.2-203138-update-2.patch from http://risesecurity.org/2010/04/02/vmware-server-2-0-2-update-patch-2/
  6. copy/save VMware-server-2.0.2-203138-update-2.patch to the same directory where your vmware-server-2.0.x-kernel-2.6.3x-install.sh is.
  7. modify the vmware-server-2.0.x-kernel-2.6.3x-install.sh with an editor (e.g. vi)
  8. Change the line: patch=”vmware-server-2.0.2-203138-update.patch” in wmare-server-2.0.x-kernel-2.6.3x-install.sh to: patch=”VMware-server-2.0.2-203138-update-2.patch”
  9. Save the change and run “vmware-server-2.0.x-kernel-2.6.3x-install.sh ./” again ( i ran the installer as ROOT)
    This will extract the tar ball, check your system, download any files you need from the repositories you have configured, (I have some SLES 11 sp1 online repositories) then patch the source and build and install VMware.

VMware Server Configurations:

Once the installation of VMware Server is done, it will run the config perl script automatically. You can also call the config file manually to change the settings with: “./usr/bin/wmware-config.pl”

Ignore the complains about the C complier, (say “yes”) it’s a VMware issue, the compiler will be fine. It will then compile the kernel modules, this will produce a few warnings, this is nothing to worry about either.

It will then ask you lots of questions about network, etc. I just followed the defaults, except the one about where do I want to put the virtual machines? I took the default location

Then you give it your serial number, and it finalises the install.

Advertisements

About yingding wang
i am looking forward to innovation in IT and Robotics

Comments are closed.

%d bloggers like this: