VMware 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: "/opt/vmware-player-1.0.2-29634/vmplayer". Enjoy, --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]
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…
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.