After many hours of messing about and trying to get stuff to work, VMWare Workstation is finally running successfully on my Ubuntu Desktop 8.04 LTS box.
I would like to thank my friend for all the help he gave in sorting this out, he knows who he is, although not a member of this forum.
Just a quick disclaimer - back your stuff up before following anything here, I take no responsibility if any of this stuff breaks your server and you have to reinstall.
This is also a modified version specifically for the "ready to use" Ubuntu Destkop 8.04 LTS installation that OVH provides, of the guide IainK posted about kernel compiling
here.
Open a Terminal:
Code:
sudo apt-get install ncurses-dev
cd /usr/src
You will need to run the following using sudo (or as root):
Code:
sudo wget http://www.eu.kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.tar.bz2
sudo tar xf linux-2.6.25.tar.bz2
sudo cd linux-2.6.25/
sudo make mrproper
sudo wget ftp://ftp.ovh.net/made-in-ovh/bzImage/2.6-config-xxxx-std-ipv4-32
sudo mv 2.6-config-xxxx-std-ipv4-32 .config
sudo make menuconfig
You should now have a menu where you can edit the configuration file. Select General Setup and you should see the "local version" of the kernel (-xxxx-std-ipv4-32). This kernel will include modules so rename it to -xxxx-std-ipv4-32-mod (just add -mod to the end).
Go to exit so you are back at the main menu, go down to "Enable loadable module support" and press "Y" to enable it. Then press enter and enable "Module unloading" by pressing "Y". A new option will appear for forcing modules, enable this too and then exit. Press exit again and you will be prompted to save, save it with the name ".config" so it overwrites our current config.
Once this is done type:
The kernel is now compiling and this may take a few minutes to complete depending on your processor speed.
Once this is complete:
Code:
sudo cp arch/i386/boot/bzImage /boot/bzImage-`uname -r`-mod
Now you should have a file named bzImage-2.6.24.5-xxxx-std-ipv4-32-mod in your /boot/ directory. If you don't, follow the steps again because we are about to edit LILO, and if this file doesn't exist, your server will not boot.
Code:
sudo gedit /etc/lilo.conf
You should see a line near the bottom that reads:
Code:
image=/boot/bzImage-2.6.24.5-xxxx-std-ipv4-32
Simply add -mod to the end of this so it reads:
Code:
image=/boot/bzImage-2.6.24.5-xxxx-std-ipv4-32-mod
Save the file and exit gedit.
Now comes the big moment where you reboot and hope that everything went as planned.
Code:
sudo shutdown -r now
Your system should now reboot and come back online with the new kernel (you will still be able to access it as usual through NX). If your system does come back online, skip this section, if it does not, here is what you can do to restore your old kernel:
Boot into rescue pro mode through the manager and issue a hard reboot so the server boots into that mode. Wait for your password to come through for SSH and login using something like PuTTY.
The following commands are for a Kimsufi 2XL, if your drive names are different then you need to change them for mounting:
Code:
mount /dev/sda1 /mnt/
chroot /mnt/
cd /etc
nano lilo.conf
The lilo.conf file should open in your SSH window, move your cursor down and delete the "-mod" from the end, then hit Ctrl+O to save, followed by enter, then do Ctrl+X to exit nano. Now issue:
Now reboot the server from the HD again and it should boot to your old kernel.
---------
Once your system has booted onto the new kernel open a terminal and do:
It should return 2.6.24.5-xxxx-std-ipv4-32-mod if everything has been done correctly.
Code:
cd /usr/src/linux-2.6.25/
sudo make headers_install
That command may take a few minutes to run as well and it is generating headers which is what VMWare Workstation/Player needs.
Code:
sudo mkdir /lib/modules/`uname -r`
This makes a directory so VMWare isn't confused about where to store the modules for this kernel. Now download your .bundle package for Workstation/Player, in this example I'll use Workstation, and I have downloaded the .bundle to my /home/admin directory.
Code:
cd /home/admin
gksudo bash ./VMware-Workstation-6.5.0-118166.i386.bundle
That will launch the graphical installer and install the relevant program. Once this is done go to Applications -> System Tools -> VMWare Workstation (or Player). You will get the message that it's unable to find kernel headers to compile what it needs to, this is no problem for us now.
Give the VMWare installer the following path for kernel headers:
Code:
/usr/src/linux-2.6.25/include
Providing you have followed all instructions then VMWare should be able to compile what it needs and launch.
Hope these instructions helped some people - good luck.
UPDATE : 02/12/2009
How to assign your failover IP to your Virtual Machine.
Ensure your Virtual IP is available to you in your Manager but is NOT bound to one of your interfaces.
When editing the virtual machine settings, tell it to use "Custom: Specific virtual network" and select
/dev/vmnet1
If you have more than one virtual machine you can choose /dev/vmnet2 etc.
To bind your failover IP to this interface type this command as root in your host machine:
Code:
/sbin/route add 123.123.123.123 dev vmnet1
Where 123.123.123.123 is your failover IP address, and vmnet1 is the name of the interface (as selected above).
Your guest machine should now have connectivity using the failover IP to both send and receive. All traffic to the failover IP will be routed directly through to the guest machine.