VMware Workstation 6.5.2 en Fedora Core 10 64bits

Llevo desde principios de año, muy satisfecho con las alternativas de virtualización que tenemos disponibles para el escritorio en Linux: Sun VirtaulBox y QEmu+KVM. Esta semana tengo que montar un piloto para un cliente y desgraciadamente, he necesitado instalar VMware Worstation en Fedora Core 10 64bits, de la cual, también estoy bastante satisfecho, y ya casi no recuerdo lo mal que lo pasé con las versiones anteriores cuando lo comparaba con Ubuntu.
El problema ha sido, lo mal acostumbrados que nos tiene VMware a los usuarios de Linux, porque hasta hoy, no había tenido problemas para instalar y hacer funcionar ninguna de las versiones de Workstation. Hoy sí: después de instalar VMware-Workstation-6.5.1-126130.x86_64, no hay forma de que funcione. He buscado en los foros, y no he encontrado nada que me funcione bien, no se si por usar los 64bits, por tener módulos de virtualización de otros sistemas o por lo que es, pero nada me ha funcionado.
Al final he detectado que se debía a un problema con la compilación de los módulos que trae VMware, y lo he solucionado de la siguiente forma siendo el usuario root:

  1. Instalar los include del kernel y el compilador, y renombrar la carpeta con los módulos precompilados que trae:
    yum install kernel-headers kernel-devel gcc
    mv /usr/lib/vmware/modules/binary /usr/lib/vmware/modules/binary.old
  2. Descomprimir el código fuente de los módulos de VMware
    cd /usr/lib/vmware/modules/source/
    mkdir `uname -r`
    cd `uname -r`

    for i in ../vmblock.tar ../vmci.tar ../vmmon.tar ../vsock.tar ../vmnet.tar
    do
    tar xvf $i
    done
  3. Compilar los módulos de VMware
    cd /usr/lib/vmware/modules/source/`uname -r`

    for i in vmblock-only vmci-only vmmon-only vsock-only vmnet-only
    do
    cd $i
    make
    cd ..
    done
  4. Instalar en mi sistema los módulos recién compilados ejecutando:
    cd /usr/lib/vmware/modules/source/`uname -r`

    for i in *.o
    do
    k=`basename $i .o`
    /bin/cp $i /lib/modules/`uname -r`/kernel/drivers/misc/$k.ko
    done
    depmod -a
  5. Descargar del kernel los módulos de KVM
    rmmod kvm_intel
    rmmod kvm
    rmmod vsock
    rmmod vmblock
    rmmod vmci
  6. y por último, cargar los módulos de Vmware Workstation que hemos compilado.
    /etc/init.d/vmware stop
    modprobe vmnet
    modprobe vmmon

    insmod /lib/modules/`uname -r`/kernel/drivers/misc/vmci.ko
    insmod /lib/modules/`uname -r`/kernel/drivers/misc/vsock.ko
    insmod /lib/modules/`uname -r`/kernel/drivers/misc/vmblock.ko

Estos dos últimos pasos tengo que ejecutarlos cada vez que quiero usar VMware Workstation, pero tampoco me importa mucho, porque apenas lo uso, excepto para el piloto de este cliente. Pienso seguir usando las VirtualBox y QEmu+KVM, ya que no tenemos soporte de Dom0 para Xen a partir de Fedora Core 7.
Cuando iniciemos VMware, deberíamos ir a Edit->Virtual Network Editor, editar las propiedades y dejar solo las tarjetas fisicas configuradas (evitando las virtualizadas de KVM o VirtualBox), y después arrancar la máquina virtual.
La foto la he sacado del album de nobihaya en flickr.

No hay comentarios: