Programação e Linux.

sábado, 26 de junho de 2010

VMWare Workstation e VMWare Player no Ubuntu 9.10

Toda vez que atualizo o Ubuntu a mesma coisa, o VMWare para de funcionar...

Bem, primeiro a instalação, simplesmente ele trava na instalação porque não consegue compilar os módulos no kernel 2.6.32. Para resolver é só pedir para instalar sem os módulos, assim:
export VMWARE_SKIP_MODULES=true
sh ./VMware-Workstation-6.5.4-246459.x86_64.bundle --console


O mesmo vale para o VMWare player, apenas troque o executável.

Resolvida esta etapa agora vamos para a segunda, alterar os fontes para poder compilar, entre no diretório do módulos:
cd /usr/lib/vmware/modules/source/

Crie BACKUPS
mkdir BACKUP
cp vmnet.tar vmci.tar BACKUP/

Agora alteremos o vmnet, descompacte o vmnet.tar
tar xf vmnet.tar

Abra o arquivo vmnet-only/vnetUserListener.c e adicione:
#include "compat_sched.h"

Ficará assim:
--- vnetUserListener.c.orig 2010-06-26 21:29:00.211616293 -0300
+++ vnetUserListener.c 2010-06-26 21:29:13.682020616 -0300
@@ -33,6 +33,7 @@
#include
#include "compat_skbuff.h"
#include "compat_wait.h"
+#include "compat_sched.h"
#include "vnetInt.h"
Compacte-o novamente:
tar cf vmnet.tar vmnet-only/

Apague o diretório vmnet-only:
rm -Rf vmnet-only/

Depois o vmci, descompacte o vmci.tar
tar xf vmci.tar

Abra o arquivo vmci-only/include/pgtbl.h e adicione:
#include "compat_sched.h"

Ficará assim:
--- vmci-only/include/pgtbl.h.orig 2010-06-26 21:33:04.354440359 -0300
+++ vmci-only/include/pgtbl.h 2010-06-26 21:33:23.934592340 -0300
@@ -24,6 +24,7 @@
#include "compat_pgtable.h"
#include "compat_spinlock.h"
#include "compat_page.h"
+#include "compat_sched.h"

#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 3, 11)
# define compat_active_mm mm
Compacte-o novamente:
tar cf vmci.tar vmci-only/

Apague o diretório vmci-only:
rm -Rf vmci-only/

Finalmente vamos compilar os módulos:
vmware-modconfig --console --install-all

Outro problema que pode ocorrer é mouse (ponteiro) ficar maluco no VMWare, perder foco, aparecer dois ponteiros, etc... Para resolver crie ou edite o arquivo /etc/vmware/bootstrap para ter o seguinte conteúdo:
export VMWARE_USE_SHIPPED_GTK="force"