domingo, 18 de enero de 2015

Instalando VMware Player en Ubuntu 14.04 // Fixeando issues.

Volviendo a jugar con mi Linux y actualizando el ubuntu a la ultima version 14.04, experimente que el VMware Player (6.0.1 build-1379776), en mi caso el que tomo como ejemplo y uso, tenia ciertos inconvenientes y no bastaba con la instalación desde cero para que funcionara. (Idea basada en la de Garrett Skjelstad's)

Al iniciarlo, el VMware Player arrojaba el siguiente cartel:

"Before you can run vmware several modules must be compiled and loaded into the running kernel"

Por lo que vamos a optar a resolverlo de la siguiente manera.
Una vez bajamos el bundle desde la pagina lo instalamos normalmente:

$> chmod +x VMware-Player-6.0.1-1379776.i386.bundle
$> sudo ./VMware-Player-6.0.1-1379776.i386.bundle

Luego que finaliza la instalación satisfactoria, nos damos cuenta de este error, por lo tanto vamos a crear un archivo "patch" para resolver esto, lo copiamos y pegamos en un archivo de texto y lo guardaremos asi: "filter.c.diff":


> #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
206a208,210
> #else
> VNetFilterHookFn(const struct nf_hook_ops *ops,        // IN:
> #endif
255c259,263
<    transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
---
>    #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
>       transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
>    #else
>       transmit = (ops->hooknum == VMW_NF_INET_POST_ROUTING);
>    #endif


En mi caso lo deje en la carpeta temporal /tmp/filter.c.diff.

Vamos a proceder a aplicar dicho parche sobre un archivo que se encuentra comprimido en la carpeta de modulos del vmware. Hacemos lo siguiente en un terminal:

Nos hacemos root:
$> sudo su

Nos dirigimos al modulo comentado:
$> cd /usr/lib/vmware/modules/source/

Realizamos un backup por las dudas del tar que contiene el archivo a modificar:
$> cp vmnet.tar vmnet.tar.backup

Extraemos del archivo comprimido vmnet.tar el archivo filter.c que vamos a fixear con nuestro filter.c.diff:
$> tar xvf vmnet.tar vmnet-only/filter.c

Fixeamos el archivo filter.c con nuestro archivo que habíamos creado en /tmp/filter.c.diff:
$> patch vmnet-only/filter.c < /tmp/filter.c.diff

Por ultimo, volvemos a compactar el archivo ya fixeado:
$> tar -uvf vmnet.tar vmnet-only/filter.c

Limpiamos la carpeta creada..
$>rm -rf vmnet-only/

Volvemos a ejecutar el VMware-Player y deberia estar resuelto el inconveniente.

No hay comentarios:

Publicar un comentario

Deja un comentario..