How To Install VMware Server 1.0.x On An Ubuntu 9.10 Desktop - Page 2

Next do this:

cd /home/falko/Downloads
wget -c http://www.insecure.ws/warehouse/vmware-update-2.6.31-5.5.9.tar.bz2
tar xvfj vmware-update*.tar.bz2

Before we finish the VMware Server installation, we must build a new kernel with the init_mm feature enabled. Become root...

sudo su

... and install the kernel source:

aptitude install linux-source-2.6.31

Next we install a few packages that we need to build the kernel:

aptitude install fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge linux libncurses5-dev kernel-package

If you notice that a new kernel gets installed during this command, please reboot the system:

reboot

Now become root again:

sudo su

Next do this:

cd /usr/src
tar xvfj linux-source-2.6.31.tar.bz2
cd linux-source-2.6.31

Open arch/x86/kernel/init_task.c...

gedit arch/x86/kernel/init_task.c

... and add the line EXPORT_UNUSED_SYMBOL(init_mm); right at the end of the file, behind DEFINE_PER_CPU_SHARED_ALIGNED(struct tss_struct, init_tss) = INIT_TSS;:

[...]
DEFINE_PER_CPU_SHARED_ALIGNED(struct tss_struct, init_tss) = INIT_TSS;
EXPORT_UNUSED_SYMBOL(init_mm);

Then copy the kernel configuration of the current kernel into the kernel source directory...

cp /boot/config-`uname -r` .config

... and run:

make menuconfig

In the kernel configuration menu, go to Load an Alternate Configuration File...

... fill in .config and select Ok:

Next select Exit in the main kernel configuration menu...

... and then Yes when you're asked: Do you wish to save your new kernel configuration?

Then run

make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers

to build the new kernel. This can take a lot of time so be patient.

Afterwards you can find a linux-image and a linux-headers .deb package in the /usr/src/ directory:

cd /usr/src/
ls -l

root@falko-desktop:/usr/src# ls -l
total 461180
drwxr-xr-x 23 root root      4096 2009-10-27 19:16 linux-headers-2.6.31-14
drwxr-xr-x  7 root root      4096 2009-10-27 19:16 linux-headers-2.6.31-14-generic
drwxr-xr-x 23 root root      4096 2009-12-11 16:57 linux-headers-2.6.31-16
drwxr-xr-x  7 root root      4096 2009-12-11 16:57 linux-headers-2.6.31-16-generic
-rw-r--r--  1 root src    6319116 2009-12-11 19:51 linux-headers-2.6.31.4-custom_2.6.31.4-custom-10.00.Custom_amd64.deb
-rw-r--r--  1 root src  403726102 2009-12-11 19:48 linux-image-2.6.31.4-custom_2.6.31.4-custom-10.00.Custom_amd64.deb
drwxr-xr-x 26 root root      4096 2009-12-11 19:48 linux-source-2.6.31
-rw-r--r--  1 root root  62176632 2009-12-08 09:02 linux-source-2.6.31.tar.bz2
root@falko-desktop:/usr/src#

Install both packages as follows...

dpkg -i linux-image-2.6.31.4-custom_2.6.31.4-custom-10.00.Custom_amd64.deb linux-headers-2.6.31.4-custom_2.6.31.4-custom-10.00.Custom_amd64.deb

... and then reboot the system:

reboot

Afterwards, run

uname -a

... as a normal user, and you should see your new kernel:

falko@falko-desktop:~$ uname -a
Linux falko-desktop 2.6.31.4-custom #1 SMP Fri Dec 11 17:36:56 CET 2009 x86_64 GNU/Linux
falko@falko-desktop:~$

Now we can continue with the VMware Server installation:

cd /home/falko/Downloads/vmware-update*/
sudo ./runme.pl

Answer the following question with yes:

Before running VMware for the first time after update, you need to configure it
for your running kernel by invoking the following command:
"/usr/bin/vmware-config.pl". Do you want this script to invoke the command for
you now? [no]
<-- yes

Afterwards you can accept the default values simply by hitting <ENTER>.

When the installer asks you

In which directory do you want to keep your virtual machine files?
[/var/lib/vmware/Virtual Machines]

you can either accept the default value or specify a location that has enough free space to store your virtual machines.

At the end of the installation, you will be asked to enter a serial number:

Please enter your 20-character serial number.

Type XXXXX-XXXXX-XXXXX-XXXXX or 'Enter' to cancel:

Fill in your serial number for VMware Server.

After the successful installation, you can delete the VMware Server download file and the installation directory:

cd /home/falko/Downloads
rm -f VMware-server*
rm -fr vmware-server-distrib/
rm -fr vmware-update*

You will now find VMware Server under Applications > Other > VMware Server Console:

When you start it, select Local host:

Afterwards, you can create virtual machines (or import your virtual Windows machine that you created with VMware Converter):

 

Links

Share this page:

6 Comment(s)

Add comment

Comments

From: droszi at: 2009-12-16 14:45:47

Very good step-by-step howto. Worked for the first try. Thanks!

From: Anonymous at: 2010-03-02 19:51:31

gracias, me ha sido de gran ayuda

From: none at: 2009-12-17 20:10:29

Very good !!

What about If I use ubuntu 9.10 server ?

 

From: Matthew Firth at: 2010-01-02 12:47:21

Hi,

Thanks for this - it's a great guide.

 Two notes:

 1/  Your new kernel package that is built & installed will be huge - the initrd may blow out ten-fold (from 8MB to 80MB).  This is because the kernel config in /boot has debug enabled.  You'll probably want to turn this off and there is info elsewhere on the web on how to do it.

 2/  I couldn't start any VMs after following your howto.  /var/log/vmware/vmware-serverd.log has a message:  

 [localized] Version mismatch with vmmon module: expecting 138.0, got 137.0.

 To fix, I unpacked vmmon.tar from vmware-server-1.0.10/lib/vmware/modules/source. 

 Edited include/iocontrols_compat.h:396, changed

"return VMMON_VERSION_V55" to "return VMMON_VERSION_S1B1"

 ...retar into vmmon.tar, re-run vmware-config.pl, and it seems to work ok.

From: Dax at: 2010-01-11 15:11:27

Thanks for the tutorial - Worked Great!

 It's a shame that VMWare can't bother to support ubuntu.

From: David at: 2010-01-30 11:58:40

Before the step that says:

 cp /boot/config-`uname -r` .config

 I believe you need to have:

 cd /usr/src/linux-source-2.6.31 (or whatever kernel number)

 I know that it says "copy into kernel source directory" but everything else is spelled out so precisely that I managed to miss this important step.

Otherwise this is an excellent "howto".  Congratulations. Even *I* got it to work!