Instalando VMWare no Slackware

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

[ Hits: 6.897 ]

 


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

Instalando o Java 14 no Ubuntu, Linux Mint e Debian

Instalando o NTOP 4.1.0 no CentOS 5.7

Instalação de Spotify no Ubuntu 15.10

Como converter uma imagem de CD do Nero (.nrg) para ISO no Ubuntu/Debian

p7zip-desktop reformulado para o Linux Mint 20

  

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