How To Install VMware Server On Debian Sarge

Want to support HowtoForge? Become a subscriber!
 
Submitted by falko (Contact Author) (Forums) on Thu, 2006-10-12 13:37. :: Debian | VMware | Virtualization

How To Install VMware Server On Debian Sarge

Version 1.0
Author: Falko Timme <ft [at] falkotimme [dot] com>, Till Brehm <t [dot] brehm [at] projektfarm [dot] de>
Last edited 10/12/2006

This tutorial provides step-by-step instructions on how to install the free VMware Server (version 1.0.1) on a Debian Sarge system.

VMware has just released version 1.0 of its free VMware Server. With VMware Server you can create and run guest operating systems ("virtual machines") such as Linux, Windows, FreeBSD, etc. under a host operating system. This has the benefit that you can run multiple operating systems on the same hardware which saves a lot of money, and you can move virtual machines from one VMware Server to the next one (or to a system that has the VMware Player which is also free). In this article we use Debian Sarge (3.1) as the host operating system.

I want to say first that this is not the only way of setting up such a system. There are many ways of achieving this goal but this is the way I take. I do not issue any guarantee that this will work for you!

 

1 Preliminary Note

I assume you have already set up a basic Debian Sarge system. You can set up your system as described on the first two pages of this tutorial: The Perfect Setup - Debian Sarge (3.1).

I use 192.168.0.100 as the IP address and server1.example.com as the hostname of my Debian Sarge system in this tutorial. If your Debian Sarge system does not have a static IP address you should now change its network configuration so that it will have a static IP address in the future:

vi /etc/network/interfaces

# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)

# The loopback interface
auto lo
iface lo inet loopback

# The first network card - this entry was created during the Debian installation
# (network, broadcast and gateway are optional)
auto eth0
iface eth0 inet static
        address 192.168.0.100
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.0.255
        gateway 192.168.0.1

(If you use a different gateway than 192.168.0.1, change the gateway IP address in /etc/network/interfaces.)

Then restart your network:

/etc/init.d/networking restart

Edit /etc/resolv.conf and add some nameservers:

vi /etc/resolv.conf

search server
nameserver 145.253.2.75
nameserver 193.174.32.18
nameserver 194.25.0.60

Edit /etc/hosts and add your new IP address:

vi /etc/hosts

127.0.0.1       localhost.localdomain   localhost
192.168.0.100   server1.example.com     server1


# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

 

2 Installing Required Packages

First we update our package database:

apt-get update

Now we install the packages required by VMware on our Debian Sarge system by running

apt-get install kernel-headers-`uname -r` libx11-6 libx11-dev x-window-system-core x-window-system xspecs libxtst6 xlibs-dev

You will be asked a few questions to which you can answer as follows:

Attempt to autodetect video hardware? <-- No

Select the desired X server driver. <-- vesa

Use kernel framebuffer device interface? <-- Yes

Please select the XKB rule set to use. <-- xfree86

Please select your keyboard model. <-- pc104

Please select your keyboard layout. <-- [Select your keyboard layout, e.g. de, if you have a German keyboard.]

Please select your keyboard variant. <-- [Leave it empty.]

Please select your keyboard options. <-- [Leave it empty.]

Please choose your mouse port. <-- /dev/input/mice

Is your monitor an LCD device? <-- No

Please choose a method for selecting your monitor characteristics. <-- Advanced

Enter your monitor's horizontal sync range. <-- 28-50

Enter your monitor's vertical refresh range. <-- 43-75

Select the video modes you would like the X server to use. <-- 1024x768, 800x600, 640x480

Please select your desired default color depth in bits. <-- 24

Default printer resolution <-- 600

Most of these answers are not really important because we don't want to use the desktop on our Debian Sarge system. We will connect to the VMware Server from our workstation later on which can be a Windows or Linux system which has the VMware Server client package installed.

Next we create the directory /var/vm wehere we want to install our virtual machines later. The virtual machines require much disk space, make sure you have enough free space on your /var partition for the virtual machines.:

mkdir /var/vm

 

3 Getting VMware Server

The VMware server can be downloaded for free from the VMware website: http://www.vmware.com/download/server/
To run the VMware Server software you need a (free) serial number, that can be requested by clicking on the "Register now" button on the download page.

 

4 Downloading The Software

To setup VMWare Server on Debian Sarge, we need the following packages from the VMware downloads page:

VMware Server for linux (Binary tar.gz)
Management Interface (Binary tar.gz)

We want to download the packages to our /tmp directory, therefore we go there:

cd /tmp

For downloading the software to your server, I recommend to use the linux commandline program wget. The wget syntax is as follows:

wget [URL of the VMware Server for linux binary tar.gz package]
wget [URL of the Management Interface binary tar.gz package]

Unpacking the server tar.gz:

tar xvfz VMware-server-*.tar.gz

Running the installer script:

cd vmware-server-distrib
./vmware-install.pl

The installer asks you a few questions. Most of the time you can accept the default value:

Creating a new installer database using the tar3 format.

Installing the content of the package.

In which directory do you want to install the binary files?
[/usr/bin]
<-- /usr/bin

What is the directory that contains the init directories (rc0.d/ to rc6.d/)?
[/etc]
<-- /etc

What is the directory that contains the init scripts?
[/etc/init.d]
<-- /etc/init.d

In which directory do you want to install the daemon files?
[/usr/sbin]
<-- /usr/sbin

In which directory do you want to install the library files?
[/usr/lib/vmware]
<-- /usr/lib/vmware

The path "/usr/lib/vmware" does not exist currently. This program is going to
create it, including needed parent directories. Is this what you want?
[yes]
<-- yes

In which directory do you want to install the manual files?
[/usr/share/man]
<-- /usr/share/man

In which directory do you want to install the documentation files?
[/usr/share/doc/vmware]
<-- /usr/share/doc/vmware

The path "/usr/share/doc/vmware" does not exist currently. This program is
going to create it, including needed parent directories. Is this what you want?
[yes]
<-- yes

The installation of VMware Server 1.0.1 build-29996 for Linux completed
successfully. You can decide to remove this software from your system at any
time by invoking the following command: "/usr/bin/vmware-uninstall.pl".

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

Making sure services for VMware Server are stopped.

Stopping VMware services:
Virtual machine monitor done

You must read and accept the End User License Agreement to continue.
Press enter to display it.
<-- [ENTER]

..... snip [LICENCE TEXT] ......

Do you accept? (yes/no) <-- yes

Configuring fallback GTK+ 2.4 libraries.

In which directory do you want to install the mime type icons?
[/usr/share/icons]
<-- /usr/share/icons

The path "/usr/share/icons" does not exist currently. This program is going to
create it, including needed parent directories. Is this what you want?
[yes]
<-- yes

What directory contains your desktop menu entry files? These files have a
.desktop file extension. [/usr/share/applications]
<-- /usr/share/applications

In which directory do you want to install the application's icon?
[/usr/share/pixmaps]
<-- /usr/share/pixmaps

Trying to find a suitable vmmon module for your running kernel.

None of the pre-built vmmon modules for VMware Server is suitable for your
running kernel. Do you want this program to try to build the vmmon module for
your system (you need to have a C compiler installed on your system)? [yes]
<-- yes

Using compiler "/usr/bin/gcc". Use environment variable CC to override.

What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.8-2-386/build/include]
<-- /lib/modules/2.6.8-2-386/build/include

[...]

Do you want networking for your virtual machines? (yes/no/help) [yes] <-- yes

Configuring a bridged network for vmnet0.

The following bridged networks have been defined:

. vmnet0 is bridged to eth0

Do you wish to configure another bridged network? (yes/no) [no] <-- no

Do you want to be able to use NAT networking in your virtual machines? (yes/no)
[yes]
<-- yes

Configuring a NAT network for vmnet8.

Do you want this program to probe for an unused private subnet? (yes/no/help)
[yes]
<-- yes

Probing for an unused private subnet (this can take some time)...

The subnet 192.168.221.0/255.255.255.0 appears to be unused.

The following NAT networks have been defined:

. vmnet8 is a NAT network on private subnet 192.168.221.0.

Do you wish to configure another NAT network? (yes/no) [no] <-- no

Do you want to be able to use host-only networking in your virtual machines?
[yes]
<-- yes

Configuring a host-only network for vmnet1.

Do you want this program to probe for an unused private subnet? (yes/no/help)
[yes]
<-- yes

Probing for an unused private subnet (this can take some time)...

The subnet 192.168.211.0/255.255.255.0 appears to be unused.

The following host-only networks have been defined:

. vmnet1 is a host-only network on private subnet 192.168.211.0.

Do you wish to configure another host-only network? (yes/no) [no] <-- no

[...]

Please specify a port for remote console connections to use [902] <-- 902

Restarting internet superserver: inetd.
Configuring the VMware VmPerl Scripting API.

Building the VMware VmPerl Scripting API.

Using compiler "/usr/bin/gcc". Use environment variable CC to override.

Installing the VMware VmPerl Scripting API.

The installation of the VMware VmPerl Scripting API succeeded.

Generating SSL Server Certificate

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

Please enter your 20-character serial number.

Type XXXXX-XXXXX-XXXXX-XXXXX or 'Enter' to cancel: <-- your VMware Server serial number

Starting VMware services:
Virtual machine monitor done
Virtual ethernet done
Bridged networking on /dev/vmnet0 done
Host-only networking on /dev/vmnet1 (background) done
Host-only networking on /dev/vmnet8 (background) done
NAT service on /dev/vmnet8 done

The configuration of VMware Server 1.0.1 build-29996 for Linux for this running
kernel completed successfully.

That's it, the VMware Server is installed on our Debian Sarge system. On to the next step...


Please do not use the comment function to ask for help! If you need help, please use our forum.
Comments will be published after administrator approval.
Submitted by derjohn (registered user) on Sun, 2007-03-25 11:22.

Hi all,

I usually run Debian Etch as $ARCH amd64. There are some delicate details you need to know, how to install VMware on that kind of system. I wrote a blog entry about that theme, which can be found here:

VMWare Server install on Debian Etch (amd64)

rgds,

Submitted by thctlo (registered user) on Mon, 2006-10-23 12:24.

apt-get install kernel-headers-`uname -r` libx11-6 libx11-dev x-window-system-core x-window-system xspecs libxtst6 xlibs-dev

can someone tell me way we need Xlibs ?

I installed vmware server bij folowing the howto, but without X .

apt-get install kernel-headers-`uname -r`  is all i did,

if you run a kernel and there are no kernel-headers available, do this.

download the source kernel, exctact it.

copy the config of the kernel from /boot and rename it to .config  (dotconfig)

compile the kernel like this make-kpkg --append-to-version="Your Kernel version"

for me it was 2.6.17-2-amd64  so the append part is -2-amd64 for me.

and i follewed the howto and its working great. thanx for the howto.

the only part i changed was.

What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.8-2-386/build/include

i used the default, /usr/src/linux/include

the because thats the place i compile my kernel.