Posted by: reformedmusings | August 12, 2008

Fixing VMWare Tools for a Linux Guest

VMWare tools enhances the performance of VMWare virtual machines. As I have expanded my use of Linux guest virtual machines in VMWorkstation 6.x under Kubuntu Hardy Heron (Kubuntu 8.04.1), I couldn’t help but notice a few problems, though. First, the VMWare Tools installation process can be a bit daunting for beginners. Second, the host file-sharing and network drivers (at the least) don’t install properly and haven’t for some time according to posts across the web. The file sharing module refused to compile for me in the configuration script. The network issue is more subtle, because the vmxnet module compiles OK in the configuration script but it doesn’t automatically connect to my network in operation. The fixed version works fine. These errors persist in VMWare Tools 6.0.4-93057, the most current version as of this post.

I have had a lot of practice with creating new virtual machines (VMs) over the last few days and believe that I pretty much have a quick system to get VMWare Tools installed correctly in Linux guest VMs. Except for the install and configuration script executions, I did it all using GUI programs.

First, when you select “Install VMWare Tools” from the VM menu, you won’t start an installation program. What happens is that your virtual CD player is directed to a virtual CD that contains two files. One is an RPM package which will install natively in Linux guest distributions that support that format. Note that would not be a good choice since it contains the flawed modules. The other file is a compressed .tar.gz archive that will install on any Linux system. It is also easy fix, so we’ll use that one.

I’ve seen some solutions that involve editing specific scripts. I tried one such solution, but it didn’t work. I have found it more effective and reliable to simply replace the included modules with ones that work “out of the box” because script edits that work in some kernels won’t in others.

VMWare put their VMWare Tools into the open source domain about a year ago. That was a great move on their part, because it enabled the larger Linux community to maintain the package and keep it updated for a variety of systems and new kernels. I have found that all the open source tool modules work fine. You can find the latest open source version here.

We will also use an empty temporary directory under your user directory. I will call that location /home/username/temp in this post.

Before you start, you must make sure that you have the system packages necessary for compiling the source files. Newer distributions install these by default, but it wouldn’t hurt to check. The package is called build-essential, and it can be installed from your package manager or the console, the latter with:

sudo aptitude install build-essential

I cover two situations here, one for if you haven’t installed VMWare Tools yet, and one if you have tried to install it but something didn’t work. My instructions will be written for VMWorkstation 6.x under *ubuntu 8.04.1, but should be close to those needed for other VMWare products and Linux distributions.

VMWare Tools not installed yet
Now here are the steps that I believe provide the easiest way to get VMWare Tools installed under Linux, starting at the beginning. Don’t be put off by the number of steps, as I’ve tried to include even minor details, plus offer both GUI and console approaches:

1. In the VMWorkstation menu, select VM then Install VMWare Tools…
2. Wait for your CD to open in your default file manager. If it doesn’t, open the CD yourself.

VMware Tools CD contents

VMware Tools CD contents

3. Double-click on the VMWareTools*.tar.gz file on the CD to open it in your default archive manager GUI. See under 4 below for the console approach.
4. Select the vmware-tools-distrib directory in the archive and extract it to /tmp (either right click it and select Extract or click on Archive/Extract from the menu).

VMWare Tools archive contents

VMWare Tools archive contents

If you use the console, then type (assuming that your CD is cdrom0):

tar xzf /media/cdrom0/VMwareTools*.gz /tmp

5. Download the open source VMware Tools from here.
6. Using your file manager, double-click on the open source archive you just downloaded to open it in your default archive manager.
7. Navigate down the directory tree in the archive to /modules/linux

Open Source VMWare tools archive contents

Open Source VMWare tools archive contents

8. Extract all the directories under /module/linux (all start with ‘v’ like vmblock) to an empty temp directory, creating that directory if necessary.

NOTE: Read this post for more information before proceeding.

9. Rename all the v* directories that you just copied to your temp directory from v* to v*-only (e.g., vmxnet to vmxnet-only). If using the console, you can do this in bulk (thanks to Peter Cooper) after changing into that directory:

cd /home/username/temp
for i in *; do mv ${i} ${i}-only; tar -cf ${i}.tar ${i}-only; done

10. Now replace the VMWare distribution virtual-module source files you extracted in Step 4 above with the archives you just created from the open source package. You can either copy them from your temp directory to /tmp/vmware-tools-distrib/modules/linux/source with your file manager:

Copy the open source modules to the install directory

Copy the open source modules to the install directory

or you can use the console:

cp /home/username/temp/*.tar /tmp/vmware-tools-distrib/lib/modules/source/

11. The fixes are now done. The only thing left is to run the VMware Tools install and configuration scripts from the console:

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

Accept the defaults for all the questions. After it completes, the install script will offer to run the configuration script. Go ahead and run it, because the fixes are set. When the configuration script completes, you should restart the VM.

Again, this seems like a lot of steps, but I tried to be detailed enough for a noobie to follow. I also tried to concentrate on using the GUI rather than the console.

VMTools already installed
If you have already installed VMWare Tools but it failed in places, you do not have to start over again. Simply execute steps 6-9 above as described. Then, copy the open source v*.tar files to /usr/lib/vmware-tools/modules/source, noting that you’ll need root privileges this time:

sudo cp /home/username/temp/*.tar /usr/lib/vmware-tools/modules/source

or use your file manager to copy the files over:

Copy the open source tars to the VMTools library

Copy the open source tars over the previously-installed VMTools library

Then execute the configuration script in the console:

cd /usr/bin/
sudo ./vmware-config-tools.pl

Everything should compile and install fine.

Again, these steps may seem daunting at first, but it’s very easy once you run throught it a time or two. I’ve done it enough times now that I can run through the process in just about a minute. Now that’s a quick fix!

Advertisements

Responses

  1. […] what else would I want to test for deployment? And 6.04 worked fine with Intrepid guests with a simple workaround for VMWare Tools. VMWare seems to be constantly behind in operating system support, which worries […]

  2. Thank you!

    This was a fabulous description of the fix I needed! I am running Kubuntu 8.10 on VMWare Fusion and this did the trick for me – and seemed to help with the odd screen resolution issues as well.

    Many thanks,

    Aaron

  3. Aaron,

    You’re very welcome. I’m glad that it worked out for you.

    Bob

  4. […] module. So, I downloaded the updated open source VMWare Tools and tried again, this time using my original instructions here replacing ALL the tar files in the Tools installation. The latter worked fine, although the tiny […]

  5. […] a restart to bring it up to date. Since it is in a virtual machine, I installed VMWare Tools using this fix. This gave me a solid Kubuntu Hardy setup with KDE 3.5.9 from which to work. I always install […]


Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: