Instalando VMWare no Slackware

Publicado por Elvis Chinen da Silva em 30/06/2008

[ Hits: 7.302 ]

 


Instalando VMWare no Slackware



Primeiro crie as pastas /etc/rcSS e dentro dela crie as pastas init.d rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d:

# mkdir /etc/rcSS
# cd /etc/rcSS
# mkdir init.d rc0.d rc1.d rc2.d rc3.d rc4.d rc5.d rc6.d


Depois descompacte o pacote VMWare e inicie o instalador dele:

# tar zxvf VMware-workstation-X.X.X-xxxxx.xxx.tar.gz
# cd vmware-distrib/
# ./vmware-install.pl


Nas respostas, mude os padrões das perguntas 2 e 3, respondendo respectivamente a /etc/rcSS e a /etc/rcSS/init.d.

Provavelmente se você estiver usando kernel 2.6.25.X dará erros nos módulos vmmon, vmblock e vmnet. Encontrei soluções na net para o vmmon e o vmnet. Primeiramente, vá à pasta /usr/lib/vmware/modules/source/ e descompacte os arquivos vmmon.tar e vmnet.tar.

No vmmon: Edite o aquivo vmmon-only/include/vcpuset.h e edite a linha 74 correspondente a:

#include "asm/bitops.h"

e deixe como:

#include "linux/bitops.h"

Salve e saia. Agora vamos compactar a pasta vmmon-only para vmmon.tar, lembrando que é sempre bom deixar criado um backup do original.

# cp vmmon.tar vmmon.tar.orig
# rm vmmon.tar
# tar cf vmmon.tar vmmon-only


Agora no vmnet: edite o arquivo /usr/src/linux-2.6.25.X/include/net/sock.h, onde X corresponde a sua versão, adicione as seguintes linhas:

static inline void sock_valbool_flag(struct sock *sk, int bit, int valbool)
{
if (valbool)
       sock_set_flag (sk, bit);
else
       sock_reset_flag (sk, bit);
}

Salve e saia. Descompacte o arquivo vmnet.tar e edite o arquivo /usr/local/lib/vmware/modules/source/vmnet-only/filter.c nas seguintes linhas: 48, 53 e 233. Deverá ficar assim:

static struct nf_hook_ops vmnet_nf_ops[] = {
{  .hook = VNetFilterHookFn,
compat_nf_hook_owner
.pf = PF_INET,
/*48---->>*/   .hooknum = 1,
.priority = NF_IP_PRI_FILTER - 1, },
{  .hook = VNetFilterHookFn,
compat_nf_hook_owner
.pf = PF_INET,
/*53----->>*/   .hooknum = 4,
.priority = NF_IP_PRI_FILTER - 1, }
};

/*233---->>*/   transmit = (hooknum == 4);

Salve e saia. Após isso compacte a pasta vmnet-only para vmnet.tar.

# tar -cvf vmnet.tar vmnet-only/

Agora execute novamente o comando:

# vmware-config.pl

Esse procedimento foi usado baseando-se no seguinte erro:

Building the vmnet module.

Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config39/vmnet-only'
make -C /lib/modules/2.6.25.4/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-2.6.25.4'
CC [M] /tmp/vmware-config39/vmnet-only/driver.o
CC [M] /tmp/vmware-config39/vmnet-only/hub.o
CC [M] /tmp/vmware-config39/vmnet-only/userif.o
CC [M] /tmp/vmware-config39/vmnet-only/netif.o
CC [M] /tmp/vmware-config39/vmnet-only/bridge.o
/tmp/vmware-config39/vmnet-only/bridge.c: In function 'VNetBridgeUp':
/tmp/vmware-config39/vmnet-only/bridge.c:947: error: implicit declaration of function 'sock_valbool_flag'
/tmp/vmware-config39/vmnet-only/bridge.c:1478:2: error: #endif without #if
make[2]: *** [/tmp/vmware-config39/vmnet-only/bridge.o] Error 1
make[1]: *** [_module_/tmp/vmware-config39/vmnet-only] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.25.4'
make: *** [vmnet.ko] Error 2
make: Leaving directory `/tmp/vmware-config39/vmnet-only'
Unable to build the vmnet module.Building the vmnet module.


-----------------------------------------------------------

Building the vmnet module.

Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config90/vmnet-only'
make -C /lib/modules/2.6.25.4/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-2.6.25.4'
CC [M] /tmp/vmware-config90/vmnet-only/driver.o
CC [M] /tmp/vmware-config90/vmnet-only/hub.o
CC [M] /tmp/vmware-config90/vmnet-only/userif.o
CC [M] /tmp/vmware-config90/vmnet-only/netif.o
CC [M] /tmp/vmware-config90/vmnet-only/bridge.o
CC [M] /tmp/vmware-config90/vmnet-only/filter.o
/tmp/vmware-config90/vmnet-only/filter.c:48: error: 'NF_IP_LOCAL_IN' undeclared here (not in a function)
/tmp/vmware-config90/vmnet-only/filter.c:53: error: 'NF_IP_POST_ROUTING' undeclared here (not in a function)
/tmp/vmware-config90/vmnet-only/filter.c: In function 'VNetFilterHookFn':
/tmp/vmware-config90/vmnet-only/filter.c:233: warning: comparison between pointer and integer
make[2]: *** [/tmp/vmware-config90/vmnet-only/filter.o] Error 1
make[1]: *** [_module_/tmp/vmware-config90/vmnet-only] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.25.4'
make: *** [vmnet.ko] Error 2
make: Leaving directory `/tmp/vmware-config90/vmnet-only'
Unable to build the vmnet module.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

2a. Semana do Software Livre da UERJ

Instalando Zoom Client no Fedora Linux

CentOS 6.x - Imagens de instalação

Removendo barra de título ao maximizar programas no Ubuntu

Shockweaver - IDE para desenvolvimento em Flash

  

Comentários
[1] Comentário enviado por removido em 01/07/2008 - 20:11h

Uso o Slackware 12.1 e o VMWare Workstation 6.0.4 e não precisei fazer nada disso. Na versão 6.0.3 do VMWare, tinha um problema que evitava que os módulos do kernel compilassem corretamente em kernels mais novos, mas tinha uma boa solução, no fórum do Ubuntu, se não me engano. O Slackware também implementou uma camada de compatibilidade com o sistema de inicialização SysV, e funciona muito bem com o VMWare.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts