Lihuen
RSSRSS AtomAtom

Instalando VMware-server-1.0.4-56528 con kernel 2.6.x

Requisitos

  1. Linux-headers-2.6.x
  2. Linux-source-2.6.x
  3. g++
  4. kernel-package
  5. libnet-dev
  6. buil-essential
  7. xinetd
  8. Gcc x versión distro lihuen o mas reciente también


Bajamos vmware-server

http://www.vmware.com/download/server/

Instalamos

Ya descargado la versión que elijan disponemos a crear una carpeta donde mejor nos convenga para albergar temporalmente el nuestro vmware descargado.

su 
#mkdir /opt/tmp
#cp VMware-server-*.tar.gz /opt/tmp
#tar xvfz VMware-server-*.tar.gz

entramos al directorio

#cd vm*

ejecutamos aquí antes

# export CC=/usr/bin/gcc-version

donde versión sería la que disponen, esto es por precaución si actualmente tienen un kernel > 2.6.24, ahora si.

#./vmware-install.pl

asumimos previo registro con serial obtenido de vmware

http://register.vmware.com/content/registration.html

seguir las instrucciones. aquí una muestra con kernel 2.6.25.

zte:/usr/lib/vmware/modules/source# vmware-config.pl 
Making sure services for VMware Server are stopped.

Stopping VMware services:
   Virtual machine monitor                                             done
   Bridged networking on /dev/vmnet0                                   done
   DHCP server on /dev/vmnet1                                          done
   Host-only networking on /dev/vmnet1                                 done
   DHCP server on /dev/vmnet8                                          done
   NAT service on /dev/vmnet8                                          done
   Host-only networking on /dev/vmnet8                                 done
   Virtual ethernet                                                    done

Configuring fallback GTK+ 2.4 libraries.

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

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

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

/usr/share/applications/vmware-server.desktop: warning: value "vmware-server.png" for key "Icon" in group  "Desktop Entry" is an icon name with an extension, but there should be no extension as described in the  Icon Theme Specification if the value is not an absolute path

/usr/share/applications/vmware-console-uri-handler.desktop: warning: value "vmware-server.png" for key  "Icon" in group "Desktop Entry" is an icon name with an extension, but there should be no extension as described in the Icon Theme Specification if the value is not an absolute path
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] 
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.25-pcchips/build/include] ^C
zte:/usr/lib/vmware/modules/source# export CC=/usr/bin/gcc
gcc         gcc-4.1     gcc-4.3     gccbug-4.1  
zte:/usr/lib/vmware/modules/source# export CC=/usr/bin/gcc
gcc         gcc-4.1     gcc-4.3     gccbug-4.1  
zte:/usr/lib/vmware/modules/source# export CC=/usr/bin/gcc-4.3
zte:/usr/lib/vmware/modules/source# vmware-config.pl 
Making sure services for VMware Server are stopped.

Stopping VMware services:
   Virtual machine monitor                                             done
   Bridged networking on /dev/vmnet0                                   done
   DHCP server on /dev/vmnet1                                          done
   Host-only networking on /dev/vmnet1                                 done
   DHCP server on /dev/vmnet8                                          done
   NAT service on /dev/vmnet8                                          done
   Host-only networking on /dev/vmnet8                                 done
   Virtual ethernet                                                    done

Configuring fallback GTK+ 2.4 libraries. 

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

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

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

/usr/share/applications/vmware-server.desktop: warning: value "vmware-server.png" for key "Icon" in group  "Desktop Entry" is an icon name with an extension, but there should be no extension as described in the   Icon Theme Specification if the value is not an absolute path
/usr/share/applications/vmware-console-uri-handler.desktop: warning: value "vmware-server.png" for key  "Icon" in group "Desktop Entry" is an icon name with an extension, but there should be no extension as  described in the Icon Theme Specification if the value is not an absolute path
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]  

Using compiler "/usr/bin/gcc-4.3". 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.25-pcchips/build/include]  

Extracting the sources of the vmmon module.

Building the vmmon module.

Using 2.6.x kernel build system.
make: se ingresa al directorio `/tmp/vmware-config3/vmmon-only'
make -C /lib/modules/2.6.25-pcchips/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: se ingresa al directorio `/usr/src/linux-source-2.6.25'
  CC [M]  /tmp/vmware-config3/vmmon-only/linux/driver.o
  CC [M]  /tmp/vmware-config3/vmmon-only/linux/hostif.o
  CC [M]  /tmp/vmware-config3/vmmon-only/common/cpuid.o
  CC [M]  /tmp/vmware-config3/vmmon-only/common/hash.o
  CC [M]  /tmp/vmware-config3/vmmon-only/common/memtrack.o
  CC [M]  /tmp/vmware-config3/vmmon-only/common/phystrack.o
  CC [M]  /tmp/vmware-config3/vmmon-only/common/task.o
  CC [M]  /tmp/vmware-config3/vmmon-only/common/vmx86.o
/tmp/vmware-config3/vmmon-only/common/vmx86.c: In function ?Vmx86_GetkHzEstimate?:
/tmp/vmware-config3/vmmon-only/common/vmx86.c:1899: warning: passing argument 4 of ?Div643264? from   incompatible pointer type
/tmp/vmware-config3/vmmon-only/common/vmx86.c:1908: warning: passing argument 4 of ?Div643232? from  incompatible pointer type
  CC [M]  /tmp/vmware-config3/vmmon-only/vmcore/moduleloop.o
  LD [M]  /tmp/vmware-config3/vmmon-only/vmmon.o
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: modpost: module vmmon.ko uses symbol 'init_mm' marked UNUSED
  CC      /tmp/vmware-config3/vmmon-only/vmmon.mod.o
  LD [M]  /tmp/vmware-config3/vmmon-only/vmmon.ko
make[1]: se sale del directorio `/usr/src/linux-source-2.6.25'
cp -f vmmon.ko ./../vmmon.o
make: se sale del directorio `/tmp/vmware-config3/vmmon-only'
The module loads perfectly in the running kernel. 
 
This program previously created the file /dev/parport1, and was about to remove
it.  Somebody else apparently did it already.

This program previously created the file /dev/parport2, and was about to remove
it.  Somebody else apparently did it already. 

This program previously created the file /dev/parport3, and was about to remove
it.  Somebody else apparently did it already.

This program previously created the file /dev/vmnet0, and was about to remove 
it.  Somebody else apparently did it already.

This program previously created the file /dev/vmnet1, and was about to remove 
it.  Somebody else apparently did it already.

This program previously created the file /dev/vmnet8, and was about to remove 
it.  Somebody else apparently did it already.
 
You have already setup networking.

Would you like to skip networking setup and keep your old settings as they are?
(yes/no) [yes] 

Extracting the sources of the vmnet module.

Building the vmnet module.

Using 2.6.x kernel build system.
make: se ingresa al directorio `/tmp/vmware-config3/vmnet-only'
make -C /lib/modules/2.6.25-pcchips/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: se ingresa al directorio `/usr/src/linux-source-2.6.25'
  CC [M]  /tmp/vmware-config3/vmnet-only/driver.o
  CC [M]  /tmp/vmware-config3/vmnet-only/hub.o
  CC [M]  /tmp/vmware-config3/vmnet-only/userif.o
  CC [M]  /tmp/vmware-config3/vmnet-only/netif.o
  CC [M]  /tmp/vmware-config3/vmnet-only/bridge.o
  CC [M]  /tmp/vmware-config3/vmnet-only/procfs.o
  CC [M]  /tmp/vmware-config3/vmnet-only/smac_compat.o
  SHIPPED /tmp/vmware-config3/vmnet-only/smac_linux.x386.o
  LD [M]  /tmp/vmware-config3/vmnet-only/vmnet.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /tmp/vmware-config3/vmnet-only/vmnet.mod.o
  LD [M]  /tmp/vmware-config3/vmnet-only/vmnet.ko 
make[1]: se sale del directorio `/usr/src/linux-source-2.6.25'
cp -f vmnet.ko ./../vmnet.o
make: se sale del directorio `/tmp/vmware-config3/vmnet-only'
The module loads perfectly in the running kernel.

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

You already have an entry for "/usr/sbin/vmware-authd" in the "/etc/inetd.conf"
file.  No change will be made to it.

Hit enter to continue.  

Configuring the VMware VmPerl Scripting API.

Building the VMware VmPerl Scripting API. 

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

Installing the VMware VmPerl Scripting API.

The installation of the VMware VmPerl Scripting API succeeded.

Do you want this program to set up permissions for your registered virtual 
machines?  This will be done by setting new permissions on all files found in 
the "/etc/vmware/vm-list" file. [no] 

Generating SSL Server Certificate

In which directory do you want to keep your virtual machine files? 
[/mnt/linux2/mv/vmware]  

Do you want to enter a serial number now? (yes/no/help) [no]  

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
   Starting VMware virtual machines...                                 done 

The configuration of VMware Server 1.0.4 build-56528 for Linux for this running
kernel completed successfully.

Aquí mostramos una recompilación de los módulos de vmware que es exactamente lo mismo a una instalación, ya que se necesitan la compilación de módulos VMNET VMMON de vmware. Lamentablemente no tiene la facilidad de virtualBox a la hora de actualizar un kernel, porque en virtualBox sólo es necesario llamar

#/etc/init.d/vboxdrv setup

y tenemos nuestros módulos en vmware, hay que aplicar parches exclusivos para los kernel llamados

vmware-any-any-update-1xx.tgz

este archivo debe ser descomprimido, y correr el script de perl que se encuentra dentro

#./runme.pl

este script realiza una recompilación de módulos aplicando los parches respectivos al kernel en cuestión.

NOTA

Si tratan de ejecutar en este momento el vmare-server se darán cuenta de que envía algunos errores. Hay algo más que debemos hacer.

Básicamente vmware necesita algunas librerías de cairo y gcc. Para resolver esto vamos a generar algunos vínculos simbólicos hacia esas librerías:

ln -s /usr/lib/gcc/ixxx-linux-gnu/4.x.x/libgcc_s.so /usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1
ln -s /usr/lib/libpng12.so.0 /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0


Cada nueva recompilación aplica parche sobre los archivos ubicados en:

/usr/lib/vmware/modules

antes de aplicar parche recomiendo copia de seguridad; si tengo kernel 2.6.24 aplico parche vmware-any-any-update116, si actualicé a kernel 2.6.25 debo cargar nuevamente los archivos tar que se encuetran en

/usr/lib/vmware/modules

sobreescribiendo los nuevos. luego volver a aplicar el parche para que no se aplique el parche sobre otro parche, porque sino no funcionará. Los parches deben ser aplicados de 0. También aclaro que de ser posible no usen los headers y usen las fuentes del kernel como link en

/usr/src/linux -> /usr/src/linux-source-2.6.x
/lib/modules/2.6.x/build -> /usr/src/linux 
/lib/modules/2.6.x -> /usr/src/linux

bajen los fuentes del kernel desde los repo de debian o desde la web oficial del kernel. copien los config para no modificar su configuración, los config por lo general se encuentran en

/boot

dicen

config-2.6.x

copien los config

#cp /boot/config-2.6.x /usr/src/linux-source-2.6.x/.config
#make olconfig && make prepare && make modules_prepare

ahora pueden estar seguros de que no verán errores en la compilación para ninguna heramienta que requiera módulos desde vmware,virtualbox,nvidia,ati etc. los headers empaquetados no proveen toda los recursos necesarios para determinadas compilaciones, es razón por la cual debemos realizar estos pasos previos como recomendación.

Parche Kernel 2.6.25

Parche vmware kernel 2.6.25

Parcheando Modulos VMware

#cd /usr/lib/vmware/modules 
#tar -xvf Vmware-parche-2.6.25.tar
#cd sources
#tar -xvf vmmon.tar 
#tar -xvf vmnet.tar
#cd vmmon*
#patch p1 < ../vmmon-2.6.25.patch
#cd ..
#cd vmnet*
#patch p1 < ../vmnet-2.6.25.patch

Ahora corremos nuevamente el script de perl para configurar nuestro vmware.

#vmware-config.pl.

si todo salió ok tendrán los módulos en /lib/modulos/2.6.x/

  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
    Starting VMware virtual machines...                                 done

Referencias

http://www.ubuntu-es.org/index.php?q=node/67027

http://debiantotal.blogspot.com/2007/05/instalar-vmware-server-103-en-debian.html

http://scriptsintheshell.blogspot.com/2007/10/instalar-vmware-server-en-linux-debian.html

 Ante cualquier duda o inconveniente no dudes en escribirnos un email a 
 soportelihuen arroba linti.unlp.edu.ar (Sin los espacios)
 O visitar nuestros Foros.
 http://lihuen.linti.unlp.edu.ar/foros