Installing VMWARE server on CentOS 5 or Red hat enterprise Linux 64 bit version

by Vivek Gite · 24 comments

VMware virtualization software is an excllent choice for x86-compatible computers. They have both commercial and free version. I received few email regarding VMWARE on 64 bit Linux. Installing VMWARE server on CentOS 5 or Red hat enterprise Linux 64 bit version is a tricky business. In this small howto I will explain vmware installation on 64 bit Linux server without facing any dependencies problem.

Following instructions are tested on both RHEL 5 and CentOS 5 running 64 bit Intel / AMD hardware and software. My kernel:
$ uname -mrs
Output:

Linux 2.6.18-8.1.6.el5 x86_64

My RHEL 5 release (same kernel for CentOS):
$ cat /etc/redhat-release
Output:

Red Hat Enterprise Linux Server release 5 (Tikanga)

Make sure you have following software installed:

  • Full gcc compiler and development environment
  • Kernel headers and devel packages for current kernel (i.e. kernel-headers and kernel-devel)

Step # 1: Download vmware server

You can download VMWARE server here. Use wget command to download:
$ wget http://download3...

Step # 2: Install vmware server

Once downloaded use RPM command to install vmware sever, enter:
# rpm -ivh VMware-server-1.0.3-44356.i386.rpm
Output:

Preparing...                ########################################### [100%]
   1:VMware-server          ########################################### [100%]

Step # 3:Install required files / libraries

You need to install following development package / files on server:

  1. libXtst-devel : X.Org X11 libXtst development package
  2. libXrender-devel : X.Org X11 libXrender development package

Simply use yum command to install packages:
# yum install libXtst-devel libXrender-devel kernel-devel
Output:

Loading "rhnplugin" plugin
Loading "installonlyn" plugin
Setting up Install Process
Setting up repositories
rhel-x86_64-server-vt-5   100% |=========================| 1.2 kB    00:00
rhel-x86_64-server-5      100% |=========================| 1.2 kB    00:00
Reading repository metadata in from local files
Parsing package install arguments
...........
....
...
Running Transaction
  Installing: libXtst                      ######################### [1/8]
  Installing: libXau-devel                 ######################### [2/8]
  Installing: xorg-x11-proto-devel         ######################### [3/8]
  Installing: libX11-devel                 ######################### [4/8]
  Installing: libXdmcp-devel               ######################### [5/8]
  Installing: libXtst-devel                ######################### [6/8]
  Installing: libXtst-devel                ######################### [7/8]
  Installing: mesa-libGL-devel             ######################### [8/8] 

Installed: libXtst-devel.x86_64 0:1.0.1-3.1 libXtst-devel.i386 0:1.0.1-3.1
Dependency Installed: libX11-devel.x86_64 0:1.0.3-8.0.1.el5 libXau-devel.x86_64 0:1.0.1-3.1 libXdmcp-devel.x86_64 0:1.0.1-2.1 libXtst.i386 0:1.0.1-3.1 mesa-libGL-devel.x86_64 0:6.5.1-7.2.el5 xorg-x11-proto-devel.x86_64 0:7.1-9.fc6
Complete!

Step # 4: Install xinetd

You need xinetd the extended Internet services daemon / service in order to use VMWARE console from remote computer. Use yum command to install xinetd:
# yum install xinetd

Step # 5: Configure VMWARE server

Use vmware-config.pl script to configure VMWARE networking and other aspects.
# vmware-config.pl
Output (make sure you setup VMWARE as per your requirments, following is just a sample output):

Making sure services for VMware Server are stopped.

Stopping VMware services:
   Virtual machine monitor                                 [  OK  ]

You must read and accept the End User License Agreement to continue.
Press enter to display it.
......
......
will provide you with a copy of our
distribution agreement for your signature.   

Do you accept? (yes/no)    yes

Thank you.

Configuring fallback GTK+ 2.4 libraries.

In which directory do you want to install the mime type icons?
[/usr/share/icons] 

What directory contains your desktop menu entry files? These files have a
.desktop file extension. [/usr/share/applications]
In which directory do you want to install the application's icon?
[/usr/share/pixmaps] 

Trying to find a suitable vmmon module for your running kernel.

None of the pre-built vmmon modules for VMware Server is suitable for your
running kernel.  Do you want this program to try to build the vmmon module for
your system (you need to have a C compiler installed on your system)? [yes] 

Using compiler "/usr/bin/gcc". Use environment variable CC to override.

What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.18-8.1.6.el5/build/include] 

Extracting the sources of the vmmon module.

Building the vmmon module.

Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vmmon-only'
make -C /lib/modules/2.6.18-8.1.6.el5/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/kernels/2.6.18-8.1.6.el5-x86_64'
  CC [M]  /tmp/vmware-config0/vmmon-only/linux/driver.o
  CC [M]  /tmp/vmware-config0/vmmon-only/linux/hostif.o
  CC [M]  /tmp/vmware-config0/vmmon-only/common/cpuid.o
  CC [M]  /tmp/vmware-config0/vmmon-only/common/hash.o
  CC [M]  /tmp/vmware-config0/vmmon-only/common/memtrack.o
  CC [M]  /tmp/vmware-config0/vmmon-only/common/phystrack.o
  CC [M]  /tmp/vmware-config0/vmmon-only/common/task.o
  CC [M]  /tmp/vmware-config0/vmmon-only/common/vmx86.o
  CC [M]  /tmp/vmware-config0/vmmon-only/vmcore/moduleloop.o
  LD [M]  /tmp/vmware-config0/vmmon-only/vmmon.o
  Building modules, stage 2.
  MODPOST
  CC      /tmp/vmware-config0/vmmon-only/vmmon.mod.o
  LD [M]  /tmp/vmware-config0/vmmon-only/vmmon.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.18-8.1.6.el5-x86_64'
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory `/tmp/vmware-config0/vmmon-only'
The module loads perfectly in the running kernel.

Do you want networking for your virtual machines? (yes/no/help) [yes] 

Configuring a bridged network for vmnet0.

Your computer has multiple ethernet network interfaces available: eth0, eth1.
Which one do you want to bridge to vmnet0? [eth0] eth1

The following bridged networks have been defined:

. vmnet0 is bridged to eth1

Do you wish to configure another bridged network? (yes/no) [no] 

Do you want to be able to use NAT networking in your virtual machines? (yes/no)
[yes] no

Do you want to be able to use host-only networking in your virtual machines?
[no] 

Extracting the sources of the vmnet module.

Building the vmnet module.

Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vmnet-only'
make -C /lib/modules/2.6.18-8.1.6.el5/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/kernels/2.6.18-8.1.6.el5-x86_64'
  CC [M]  /tmp/vmware-config0/vmnet-only/driver.o
  CC [M]  /tmp/vmware-config0/vmnet-only/hub.o
  CC [M]  /tmp/vmware-config0/vmnet-only/userif.o
  CC [M]  /tmp/vmware-config0/vmnet-only/netif.o
  CC [M]  /tmp/vmware-config0/vmnet-only/bridge.o
  CC [M]  /tmp/vmware-config0/vmnet-only/procfs.o
  CC [M]  /tmp/vmware-config0/vmnet-only/smac_compat.o
  SHIPPED /tmp/vmware-config0/vmnet-only/smac_linux.x86_64.o
  LD [M]  /tmp/vmware-config0/vmnet-only/vmnet.o
  Building modules, stage 2.
  MODPOST
WARNING: could not find /tmp/vmware-config0/vmnet-only/.smac_linux.x86_64.o.cmd for /tmp/vmware-config0/vmnet-only/smac_linux.x86_64.o
  CC      /tmp/vmware-config0/vmnet-only/vmnet.mod.o
  LD [M]  /tmp/vmware-config0/vmnet-only/vmnet.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.18-8.1.6.el5-x86_64'
cp -f vmnet.ko ./../vmnet.o
make: Leaving directory `/tmp/vmware-config0/vmnet-only'
The module loads perfectly in the running kernel.

The default port : 902 is not free. We have selected a suitable alternative
port for VMware Server use. You may override this value now.
Remember to use this port when connecting to this server.
Please specify a port for remote console connections to use [904] 

WARNING: VMware Server has been configured to run on a port different from the
default port. Remember to use this port when connecting to this server.
Stopping xinetd:                                           [  OK  ]
Starting xinetd:                                           [  OK  ]
Configuring the VMware VmPerl Scripting API.

Building the VMware VmPerl Scripting API.

Using compiler "/usr/bin/gcc". Use environment variable CC to override.

Installing the VMware VmPerl Scripting API.

The installation of the VMware VmPerl Scripting API succeeded.

Generating SSL Server Certificate

In which directory do you want to keep your virtual machine files?
[/var/lib/vmware/Virtual Machines] 

The path "/var/lib/vmware/Virtual Machines" does not exist currently. This
program is going to create it, including needed parent directories. Is this
what you want? [yes] 

Please enter your 20-character serial number.

Type XXXXX-XXXXX-XXXXX-XXXXX or 'Enter' to cancel:  XYZZZ-XYZZZ-XYZZZ-ABC91

Starting VMware services:
   Virtual machine monitor                                 [  OK  ]
   Virtual ethernet                                        [  OK  ]
   Bridged networking on /dev/vmnet0                       [  OK  ]

The configuration of VMware Server 1.0.3 build-44356 for Linux for this running
kernel completed successfully.

How do I manage my VMWARE server remotely?

You can now connect from local computer using vmware-server-console program to:

  • Configure VM Guest oses
  • Configure VM hardware
  • Install new VPS / VM guest oses such as FreeBSD, Windows or any other operating systems etc

$ vmware-server-console &
You need to enter host name ip:port, username and password to access vmware server.
vmware-server-console

See also:

Featured Articles:

Want to read Linux tips and tricks, but don't have time to check our blog everyday? Subscribe to our daily email newsletter to make sure you don't miss a single tip/tricks. Subscribe to our weekly newsletter here!

{ 24 comments… read them below or add one }

1 Erik Bussink 07.12.07 at 9:07 pm

VMware products (Workstation & Server) are installed for you’re current kernel. This means you need to have the corresponding kernel-devel.

Additional, when you’re kernel is updated, instead of lauching the vmware-config.pl and answer all the questions again, just use

vmware-config.pl -default

2 Raj 07.12.07 at 9:44 pm

Erik Bussink Says: vmware-config.pl -default

You have no idea how many times I went through reconfiguring everything. No more reconfiguration :) heh

fanx

3 Rad 08.20.07 at 2:41 am

Hey, Thank you for sharing this :)
I have a Question
Does this work with Centos 4.5 32 bit ?

4 vivek 08.20.07 at 6:15 am

Yes it does works on RHEL 4.5 / CentOS 4.5

HTH

5 Guido 09.24.07 at 10:48 pm

Every think done … but when I try to activate any vm all system hangs and reboot … Using vmware server 1.0.3 and 1.0.4 on Centos 5 x86_64 (thought was a version failure, I installed the new one) all reboots.

What information do you need to check where are the failure?

Any other ideas?

6 vivek 09.27.07 at 4:17 pm

Check out VMWare log file @ /var/log/vmware directory.

7 German 01.07.08 at 10:22 pm

Hi there! Nice info! and Thanks!

I’ll be installing RHEL 5 on 2 ibm x-Series x346 running a RAID0 for the OS with 72GB and RAID5 of 360GB for APPS/DATA/ETC..

The main purpose of this installation is because we (at work) have seen the performance improvements from running VMware Server on Linux(fedora actually) rather than on the current Windows Server 2003. The differences are really noticeable.

Would anyone recommend or quote something about it.? Some performance/tuning tip for the up coming new RHEL5 and VMware Server?

Thank you all!

8 Tim 01.16.08 at 12:39 am

Read so many FAQs and this was the one that fixed my problem

Thanks for sharing

9 Alex Wolk 01.23.08 at 8:23 pm

I have CENTOS 5. When I try to set the location of the directory of C header files, there is no /build/include dir under /lib/modules/2.6.18-53.el5, only what looks like a file called build. Please help as this is driving me crazy

10 albert 01.24.08 at 9:57 am

Hey Alex,

You need to install the kernel-devel

11 Benjamin 01.28.08 at 8:08 pm

Nice instructions. I have one registered copy. However, I wonder how non-RHN registered machines are supposed to get the 3 required packages installed.

12 amri 02.15.08 at 2:48 am

like alex problems .. it can be solved by

#yum update

make sure the kernel-devel and kernel-header is the same version you used for your kernel. check it by

#uname -r

btw .. thank you very much for this gr8 tutorial. very usefull one

13 Ahmet Nuri 06.21.08 at 6:53 pm

Thanks for this document. it is very usefull for me

14 Dave Hildebrand 07.04.08 at 9:28 pm

Awesome instructions. Even a Linux newbie was able to follow along and get my CentOS 5.2 VMWare server up and running in very little time.

15 Hector 08.06.08 at 8:28 pm

I have installed my centOS 5.2 on a Dell PowerEdge 2950 III (64 bits). Then i installed vmware-server 1.0.6 without any problem.
But, unfortunatelly, when i started any virtual machine, nothing happens, i.e. the v.m. never finish his startup process.
The host machine (the real one) still functioning without any problem, but the virtual ones nothing.
There is no particular message in any logs.
Any one had suffer something like this?.
Any ideas?.
Sorry for my english.

16 Mr-lol 09.11.08 at 9:09 am

Any idea? OS Centos 5.2 : VMware 1.0.7

……….
Using compiler “/usr/bin/gcc”. Use environment variable CC to override.

What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.18-92.1.10.el5/build/include]

Extracting the sources of the vmmon module.

Building the vmmon module.

Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config1/vmmon-only’
make -C /lib/modules/2.6.18-92.1.10.el5/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/kernels/2.6.18-92.1.10.el5-i686′
CC [M] /tmp/vmware-config1/vmmon-only/linux/driver.o
/tmp/vmware-config1/vmmon-only/linux/driver.c:201: warning: ‘struct vm_fault’ declared inside parameter list
/tmp/vmware-config1/vmmon-only/linux/driver.c:201: warning: its scope is only this definition or declaration, which is probably not what you want
/tmp/vmware-config1/vmmon-only/linux/driver.c:204: error: unknown field ‘fault’ specified in initializer
/tmp/vmware-config1/vmmon-only/linux/driver.c:205: warning: initialization from incompatible pointer type
/tmp/vmware-config1/vmmon-only/linux/driver.c:1225: warning: ‘struct vm_fault’ declared inside parameter list
/tmp/vmware-config1/vmmon-only/linux/driver.c:1226: error: conflicting types for ‘LinuxDriverNoPage’
/tmp/vmware-config1/vmmon-only/linux/driver.c:201: error: previous declaration of ‘LinuxDriverNoPage’ was here
/tmp/vmware-config1/vmmon-only/linux/driver.c: In function ‘LinuxDriverNoPage’:
/tmp/vmware-config1/vmmon-only/linux/driver.c:1231: error: dereferencing pointer to incomplete type
/tmp/vmware-config1/vmmon-only/linux/driver.c:1238: error: dereferencing pointer to incomplete type
make[2]: *** [/tmp/vmware-config1/vmmon-only/linux/driver.o] Error 1
make[1]: *** [_module_/tmp/vmware-config1/vmmon-only] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.18-92.1.10.el5-i686′
make: *** [vmmon.ko] Error 2
make: Leaving directory `/tmp/vmware-config1/vmmon-only’
Unable to build the vmmon module.

For more information on how to troubleshoot module-related problems, please
visit our Web site at “http://www.vmware.com/download/modules/modules.html” and
“http://www.vmware.com/support/reference/linux/prebuilt_modules_linux.html”.

Execution aborted.

17 scott 09.12.08 at 4:45 pm

I have tried this, but get an error with (I think) gcc. I have all the required stuff installed but get this:

Building for VMware Server 1.0.0.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config11/vmmon-only’
make -C /usr/src/kernels/2.6.18-92.1.10.el5-i686/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/kernels/2.6.18-92.1.10.el5-i686′
CC [M] /tmp/vmware-config11/vmmon-only/linux/driver.o
In file included from /tmp/vmware-config11/vmmon-only/linux/driver.c:15:
./include/linux/kernel.h:10:20: error: stdarg.h: No such file or directory
In file included from /tmp/vmware-config11/vmmon-only/linux/driver.c:15:
./include/linux/kernel.h:126: error: expected declaration specifiers or ‘…’ before ‘va_list’
./include/linux/kernel.h:130: error: expected declaration specifiers or ‘…’ before ‘va_list’
./include/linux/kernel.h:134: error: expected declaration specifiers or ‘…’ before ‘va_list’
./include/linux/kernel.h:141: error: expected declaration specifiers or ‘…’ before ‘va_list’
./include/linux/kernel.h:156: error: expected declaration specifiers or ‘…’ before ‘va_list’
make[2]: *** [/tmp/vmware-config11/vmmon-only/linux/driver.o] Error 1
make[1]: *** [_module_/tmp/vmware-config11/vmmon-only] Error 2
make[1]: Leaving directory `/usr/src/kernels/2.6.18-92.1.10.el5-i686′
make: *** [vmmon.ko] Error 2
make: Leaving directory `/tmp/vmware-config11/vmmon-only’
Unable to build the vmmon module.

18 Mr-lol 09.15.08 at 11:44 am

Managed to complete VMware Server 1.0.7 installation on Centos 5.2 kernel uname -r
2.6.18-92.1.10.el5.

Unfortunately I had to re-install Linux and the followed the installation instructions given Vivek Gite, thanks a mil to him :)

19 Scott 09.15.08 at 4:05 pm

Actually I got it to work. Just had to copy the file stdarg.h from my gcc lib directory, into the vmware directory and it worked!

20 Luis 10.27.08 at 12:53 pm

Hi all,

I have installed the Centos5.1 64 and VMware Server 2 64 bits too and when I try create a new VM in 64 bits mode, the installation it’s not possible because the boot installation of UBuntu 64 or other Operating System in 64bits mode not recognize the 64 bits system. The message is that the hardware it’s in 32 bits only.

Anybody have any idea about this?

Thank’s
Luis

21 vivek 10.27.08 at 2:56 pm

Luis,

Make Intel Virtualization Technology (VT) / AMD VT enabled in system bios and yiu should able to load 64 bit guest oses.

22 Marlon Guzman 02.12.09 at 8:38 am

What typical installation should I do for CentOS 5.2 (64 bit) in order to install VMWare? I did a base install (no apache, mysql and php).

23 Marc 03.25.09 at 7:50 pm

Hi,

Having issues with the location of the C header files required by vmware-config.pl running on Centos5

Kernel and kernel-devel packages appear to match:

#uname -r
2.6.18-92.1.22.el5

# yum list kernel-devel
Loading \fastestmirror\ plugin
Loading mirror speeds from cached hostfile
* base: mirror.raystedman.net
* updates: http://ftp.usf.edu
* addons: centos.cogentcloud.com
* extras: linux.mirrors.es.net
Installed Packages
kernel-devel.i686 2.6.18-92.1.22.el5 installed

However, I can’t find the location of the include directory for 2.6.18-92.1.22.e15:

# pwd
/lib/modules/2.6.18-92.1.22.el5
# ls
build modules.dep modules.pcimap updates
extra modules.ieee1394map modules.seriomap weak-updates
kernel modules.inputmap modules.symbols
modules.alias modules.isapnpmap modules.usbmap
modules.ccwmap modules.ofmap source
# file build
build: broken symbolic link to `../../../usr/src/kernels/2.6.18-92.1.22.el5-i686′

# ls /usr/src/kernels/
2.6.18-92.el5

Any help would be greatly appreciated.

Cheers,

Marc

24 Amir 04.17.09 at 6:21 am

thanks dude

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Previous post:

Next post: