?HOWTO: Run VMware Player under Debian GNU/Linux

VMware PlayerVMware has made available VMware Player for free for a few months now. I had been having problems making it run under the latest kernels in Debian GNU/Linux until I found out about the Czech University vmware-any-any patch. Of course, this is unsupported, so YMMV.

A typical installation run would go like this:

$ cd /tmp
$ wget http://download3.vmware.com/software/vmplayer/VMware-player-1.0.2-29634.tar.gz
$ tar -zxvf VMware-player-1.0.2-29634.tar.gz
$ cd vmware-player-distrib
$ sudo ./vmware-install.pl

Answer the questions about installation directories, initscript dirs and such, but *do not configure VMware yet*. I repeat: do not configure VMware yet.

Now we’ll patch the source with vmware-any-any

$ cd /tmp
$ wget http://ftp.cvut.cz/vmware/vmware-any-any-update104.tar.gz
$ tar -zxvf vmware-any-any-update104.tar.gz
$ cd vmware-any-any-update104
$ sudo ./runme.pl

This will patch the vmware-config.pl script, the kernel modules source code and the VMware binary itself if necessary. Now you may run vmware-config.pl when prompted. Please note that for this you must install the linux-tree-2.6.xx package for your current kernel version, and the source must be unpacked under /usr/src/linux. This is supposed to work fine when you have installed just the kernel headers instead, but I always go for the full kernel because -as you may have noticed- I compile a bunch of stuff into my kernel anyway.
After module compilation vmware-config.pl will prompt for network configuration and prompt to enable the Google searchbar (!). The last lines in the configuration should be something like this:

The configuration of VMware Player 1.0.2 build-29634 for Linux for this running
kernel completed successfully.

You can now run VMware Player by invoking the following command:


--the VMware team

Now you may head back to VMWare’s site to download a pre-configured appliance to run in your brand-new VMware player installation. Or go to EasyVMX to build your very own virtual machine. In any case, remember to drop a line to thank VMware for releasing this kick-ass product for free!

[tags]VMware, virtualization, debian, linux[/tags]

2 comments on “?HOWTO: Run VMware Player under Debian GNU/Linux
  1. Jackie says:

    Ok, so what about VMWare-Player 2.0.2? The same problem exists. An install doesn’t seem to be there for people who don’t rebuild their own kernels…

  2. Kevin says:

    Chances are, vmware-config.pl complained something about /usr/src/linux/include/linux/version.h, right?

    I did the following on a Debian ‘Etch’ system (4.0r2 or thereabouts), which seems to have worked (so far). By that, I mean all the required kernel modules built successfully and vmware-config.pl has stopped complaining. Keep in mind, this was undoubtedly the brute-force way to do it, because I don’t know any better. I probably could’ve whipped up a version.h with the appropriate magic in it and saved a lot of trouble, but who knows what other kernel pieces the VMWare modules needed…

    This all assumes that you’re using a “stock” kernel (for Etch, it’s currently 2.6.18), because if you’d built your own and the source tree still exists, the VMWare installer probably wouldn’t be complaining.

    * Install the linux-tree package which exactly corresponds to your running kernel (for me, linux-tree-2.6.18, which brings linux-source-2.6.18-5-686 and other required packages with it) The dpkg scripts should extract the sources and apply any patches.
    * Create a symlink from the kernel source directory (e.g., /usr/src/linux/linux-source-2.6.18) to /usr/src/linux, like so:

    cd /usr/src
    ln -s linux-source-2.6.18 linux

    * Copy the kernel config file for your running kernel from /boot to a file called .config within the newly-extracted source tree:

    cd /boot
    cp config-2.6.18-5-686 /usr/src/linux/.config

    This makes it so you don’t have to go through the usual rigamarole of make menuconfig. DON’T do this if you already have a hand-crafted kernel configuration or you’ll WIPE it, replacing it with the stock kernel’s configuration!

    * ‘cd’ into the source tree and type make modules && make bzImage (the make bzImage part may be superfluous, I didn’t try without)
    * Now, run vmware-config.pl as before and the VMWare kernel modules should build successfully!

    Again, note that this is as far as I’ve gotten; I don’t know if VMWare actually runs with the built modules. I’ll post a retraction if it doesn’t work.