Install VMWare-Tools (from Vmware server)

posted Sep 15, 2010, 9:51 PM by David Cole   [ updated Jun 22, 2011, 1:38 PM ]
Using VMware Server, click the "Install VMWare Tools"

Start up a terminal window and do the following to ensure that you have the required packages for building VMware Tools or your kernel.

sudo apt-get install build-essential linux-headers-`uname -r` psmisc

NOTE: linux-headers-uname -r is not required on a default build as these headers already exist. They are listed here in case you have made kernel modifications.

From the VMware menu, choose VM->Install VMware Tools. You should see a mounted CD image show up on the desktop. In the File Browser that pops up, right-click the VMwareTools*.tar.gz file and extract to the Desktop.

If the cdrom was not automatically mounted, mount the cdrom (in your guest OS) by doing

# make a mount point if needed :
sudo mkdir /media/cdrom

# Mount the CD
sudo mount /dev/cdrom /media/cdrom

# Copy and extract VMWareTools

cd /tmp
tar xvf /media/cdrom/VMwareTools*.tar.gz

# Install as below

Open a terminal window, and run the following commands.

cd /tmp/vmware-tools-distrib
sudo ./

During, choose the default answers to everything (just hit the <enter> key).

You can configure the tools as root

Problems configuring vmware-tools with Ubuntu 11.04 - What is the location of the directory of C header files that match your running kernel?

Using VMWare, if you create an Ubuntu 11.04 virtual machine, you may struggle to configure vmware-tools once it has been installed due to a problem with finding the installed kernel C header files. You might find you get errors like the following half way through the installation :

What is the location of the directory of C header files that match your running
kernel? [/usr/src/linux/include] : YOU ENTER PATHS HERE THAT SUIT YOUR SETUP

The directory of kernel headers (version @@VMWARE@@ UTS_RELEASE) does not match
your running kernel (version 2.6.38-8-virtual). Even if the module were to
compile successfully, it would not load into the running kernel.

To fix, you need to create a couple of symlinks :

sudo ln -s /lib/modules/YourInstalledKernel/build/include/generated/utsrelease.h /lib/modules/YourInstalledKernel/build/include/linux/utsrelease.h

sudo ln -s /lib/modules/YourInstalledKernel/build/include/generated/autoconf.h /lib/modules/YourInstalledKernel/build/include/linux/autoconf.h

So, for example, I had to do the following:

sudo ln -s /lib/modules/2.6.38-9-generic/build/include/generated/utsrelease.h /lib/modules/2.6.38-9-generic/build/include/linux/utsrelease.h

sudo ln -s /lib/modules/2.6.38-9-generic/build/include/generated/autoconf.h /lib/modules/2.6.38-9-generic/build/include/linux/autoconf.h

Further info :