How To Install VMware Server 1.0.x On A Kubuntu 10.04 Desktop - Page 2

On this page

  1. Links

Next do this:

cd /home/mum/Downloads
wget -c
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:

apt-get install linux-source-2.6.32

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

apt-get 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:


Now become root again:

sudo su

Next do this:

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

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

kate arch/x86/kernel/init_task.c

... and add the line


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;

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@KubuMuM1004lts:/usr/src# ls -l
totale 105304
drwxrwsr-x 6 root src 4096 2010-05-17 12:36 .
drwxr-xr-x 11 root root 4096 2010-05-10 10:14 ..
drwxr-xr-x 24 root root 4096 2010-05-17 12:36 linux-headers-
-rw-r--r-- 1 root src 6506940 2010-05-17 12:27 linux-headers-
drwxr-xr-x 24 root root 4096 2010-05-13 13:46 linux-headers-2.6.32-22
drwxr-xr-x 7 root root 4096 2010-05-13 13:47 linux-headers-2.6.32-22-generic
-rw-r--r-- 1 root src 35487712 2010-05-17 12:26 linux-image-
drwxr-xr-x 26 root root 4096 2010-05-17 17:29 linux-source-2.6.32
-rw-r--r-- 1 root root 65806761 2010-04-28 20:17 linux-source-2.6.32.tar.bz2

Install both packages as follows...

dpkg -i linux-image- linux-headers-

Check at this time if the initrd image of your freshly compiled kernel is present in the /boot directory, running:

cd /boot
ls -l

totale 56120
-rw-r--r-- 1 root root 634929 2010-04-16 13:32 abi-2.6.32-21-generic
-rw-r--r-- 1 root root 634929 2010-04-28 18:50 abi-2.6.32-22-generic
-rw-r--r-- 1 root root 110372 2010-05-17 10:28 config-
-rw-r--r-- 1 root root 110365 2010-04-16 13:32 config-2.6.32-21-generic
-rw-r--r-- 1 root root 110365 2010-04-28 18:50 config-2.6.32-22-generic
drwxr-xr-x 3 root root 4096 2010-05-17 14:56 grub
-rw-r--r-- 1 root root 14393788 2010-05-17 14:53 initrd.img-
-rw-r--r-- 1 root root 8327398 2010-05-07 23:09 initrd.img-2.6.32-21-generic
-rw-r--r-- 1 root root 14447659 2010-05-13 16:32 initrd.img-2.6.32-22-generic
-rw-r--r-- 1 root root 160280 2010-03-23 10:40 memtest86+.bin
-rw-r--r-- 1 root root 2101323 2010-05-17 12:25
-rw-r--r-- 1 root root 2152657 2010-04-16 13:32
-rw-r--r-- 1 root root 2152657 2010-04-28 18:50
-rw-r--r-- 1 root root 1336 2010-04-16 13:35 vmcoreinfo-2.6.32-21-generic
-rw-r--r-- 1 root root 1336 2010-04-28 18:53 vmcoreinfo-2.6.32-22-generic
-rw-r--r-- 1 root root 4008960 2010-05-17 12:25 vmlinuz-
-rw-r--r-- 1 root root 4037888 2010-04-16 13:32 vmlinuz-2.6.32-21-generic
-rw-r--r-- 1 root root 4038080 2010-04-28 18:50 vmlinuz-2.6.32-22-generic

And if not, then run:

sudo mkinitramfs -k -o /tmp/initramfs-

sudo update-initramfs -c -k

Check again if your /boot directory is correctly formed ... and then reboot the system:


Afterwards, run

uname -a

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

mum@KubuMuM1004lts:~$ uname -a
Linux KubuMuM1004lts #1 SMP Mon May 17 10:55:41 CEST 2010 x86_64 GNU/Linux

Now we can continue with the VMware Server installation:

cd /home/mum/Downloads/vmware-update*/
sudo ./

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/". 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/mum/Downloads
rm -f VMware-server*
rm -fr vmware-server-distrib/
rm -fr vmware-update*

You will now find VMware Server under Applications > Lost Objects > 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):

Note: May be necessary, sometimes, run it with "sudo" rights. To do so at "application launch", do:


and add to the command line the gksudo command:

Then save and close the kmenuedit window.

(For installing gksudo if you don't have it, run:

sudo apt-get install gksu


From the next lauch on, before VMware starts, the system will ask for your password for "sudo" privileges.


Share this page:

10 Comment(s)

Add comment


From: bifferos

VirtualBox is, indeed slower for certain applications, however most users won't notice the difference, and when it comes down to Linux installs, VirtualBox installation is *significantly* easier, I'd say 'trivial'.  My own benchmarks indicate VirtualBox as much as 20% slower for compilation tasks, but it makes up for this with a seemingly more responsive GUI. Not sure where the 'unusable' part comes in, that's certainly not been my experience - I use it daily!

I was a keen VMWare 1.0 user, but once they brought out VMWare server 2.0 I switched to VirtualBox, and apart from a few rather dodgy versions they put out in the beginning (release early, release often mentality) it's been good.

There is only one reason to use VMWare server as far as I'm concerned and that's for operating systems that don't run on VirtualBox.  VMWare server still has the edge in terms of accuracy of virtualisation - NetBSD worked with that, but not with the latest version of VB.  VB requires AMD-V/VT-x extensions to accurately virtualise, whereas VMWare does a better job without.

From: Innocent Bystander

VMWare Server is a very old product. I strongly advise to use Virtualbox version 3.18. If you start from scratch, Virtualbox is the way to go, the learning curve is equivalent or may be even easier. VB has Open Source version and a also binary ready to install. It's all free and better yet, in terms of performance and features, it is way superior to VMWare Server.

In VMWare the product that compares to Virtualbox is VMWare Workstation version 7.x (cost $200).


From: Luc

Virtual Box is terribly slow!It's so slow it's borderline unusable. No wonder so many people still prefer VMWare.

From: krisum

VMware server 1.0.x is far too much hassle and building new kernel etc. is very dicey particularly since users will need to redo this once a new bugfix/security fix comes out for a kernel version. I think you should strongly recommend using the latest VMware player instead of VMware server for desktop machines since that now provides option to create a new machine (with all options that are in VMware server 1.0.x) with extra stuff for desktop machines like sharing directories, unity desktop. A large number of linux users may be mislead upon reading this while a much more straightword option exists which is now better for desktops in every way.


Hi all.

I'd like let anyone "choose" what they prefer...

And if they prefer to still use "old" Vmware server 1.x, I'd like help them to do it...

Do You think I'm wrong?


From: Tony Heskett

Thanks, that was extremely helpful (saved me hours :-)


BTW, I use VMware server 1.x because:

- it's fast and easy

- no learning required, and my friends understand it ("it's old" helps :-)

- it's worked nicely, in setups where VirtualBox and Xen have hung

- VMware server 2.0 is fat and hence slow.

VMware Workstation would require me to pay, for just the same features I'm using for free, so there's no point in switching.

From: MaxPower

Thank you very very very much for this article, I was looking for this on the web months ago and didn't find a clue, but finally it works. The only thing I had to do additionally is to run "update-grub" after creating the initrd for the new kernel. Just wanted to say that if someone else is having trouble booting up ("Kernel Panic - not syncing: VFS: Unable to mount root fs")

From: Anonymous

I get a kernel panic error after rebooting with the new compiled kernel:

Kernel panic: VFS: Unable to mount root fs

My filesystem for / is ext4 and I thing it is supported in this kernel.

 Any help please?

From: Anonymous

I got this too and was able to work around it by changing one of the SATA modules to be compiled-in, in the .config. Just search for CONFIG_SATA_AHCI and make sure it =y instead of =m before compiling.

From: Fritz

Works. Thank you! Have followed the process and although compiling the kernel takes ages my I have VMware server 10.09 running on Ubuntu 10.04. Unfortunately I was unable to connect and login to remotely to the vmware serverFound several solutions that involved editing /etc/pam.d/vmware-auth but none worked.... but this fixed the problem:
//change contents /etc/pam.d/vmware-auth from

auth       sufficient       /lib/security/ shadow nullok
auth       required         /lib/security/ shadow nullok
account    sufficient       /lib/security/
account    required         /lib/security/


auth       sufficient       /lib/security/ shadow nullok
auth       required         /lib/security/ shadow nullok
account    sufficient       /lib/security/
account    required         /lib/security/


Hope this helps someone!