User Tools

Site Tools


vmware_server_on_ubuntu

VMware_Server_on_Ubuntu

Installation

  • Download VMware Server from VMware's website, and register for a licence key while you're at it.
  • You'll also need a patch (the “any-any” patch) to get VMware to compile its kernel modules on any reasonably modern kernel (anything above about 2.3, in fact). This patch is normally available from http://knihovny.cvut.cz/ftp/pub/vmware/, but as of writing, the only patch version is v155, which doesn't support the latest 2.6.24 kernel (only 2.6.24-rc2 and 2.6.24-rc3), so you'll need the v155a patch from http://rtr.ca/vmware-2.6.24/.
  • Get some more pre-requisites:

apt-get install xinetd perl :xinetd is required because VMware uses (x)inetd to listen on port 902 for VMware Server Console connections. inetd used to be supplied with Ubuntu, but even though it's been removed, its configuration file (/etc/inetd.conf) still exists. VMware's installer sees this file and assumes that inetd is installed, so places its “I want to listen on 902” command in that file, but since inetd isn't installed it never actually listens on that port. By installing xinetd instead, it sees xinetd and uses xinetd's configuration to listen on 902 instead.

  • Extract the VMware Server .tar.gz and the any-any patch .tar.gz into their own directories:

tar -xzf VMware-server-1.0.4-56528.tar.gz tar -xzf vmware-any-any-update115a.tgz

  • Change into the VMware Server directory:

cd vmware-server-distrib

  • Run the installer and follow its instructions:

./vmware-install.pl

  • Part way through the installer - after asking where you want the manual and documentation files to be stored - the installer will ask if you want to run the configuration. Answer “no”.
  • Change into the any-any patch directory:

cd ../vmware-any-any-update115a

  • Run the patch script and follow its instructions:

./runme.pl

  • Run VMware's configuration script and follow its instructions:

vmware-config.pl

Fixing Time on Hosts with Variable Speed CPUs (e.g. SpeedStep)

Hosts with variable speed CPUs (e.g. Intel's SpeedStep) can cause the time on guest OSes to go out of sync - either gaining time or losing time. In my experience this made an Ubuntu guest gain time at a rate of about 40%. The exact cause of this is because of the way in which operating systems keep time (by counting CPU interrupts), and that changing the CPU frequency without the guest OS being made aware of it causes problems. This is technically a bug in VMware, but given the above section we all know how they feel about actually fixing bugs…

Anyway, fixing the problem is easy (run all of these commands on the host system):

  • Find your CPU frequency:

cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq

  • Add some lines to /etc/vmware/config (where 2394000 is the value given by the above
    cat

    command):

host.cpukHz = 2394000 host.noTSC = TRUE ptsc.noTSC = TRUE

  • Restart VMware. Personally, I rebooted instead:

sudo reboot

  • You may also need to set the time again on all of your guest machines, but after that they should keep time properly. Installing VMware Tools is also a good idea, as they contain a time synchronisation feature (if you enable it by adding
    tools.syncTime = "true"

    to each VM's

    .vmx

    file - and then probably rebooting VMware and/or the VMs).

References

vmware_server_on_ubuntu.txt · Last modified: 2014/11/24 01:14 by 0.0.0.0