Erro ao instalar a estação de trabalho VMware no Ubuntu

14

Estou tentando instalar a vmware workstation 10.1 no Ubuntu 14.04 e tenho erros a seguir.

Como faço para corrigir isso?

   Virtual machine monitor                                             done
   Virtual machine communication interface                             done
   VM communication interface socket family                            done
   Blocking file system                                                done
   Virtual ethernet                                                   failed
   VMware Authentication Daemon                                        done
    
por Qasim 18.04.2014 / 13:15

5 respostas

21
  

Para corrigir isso, precisaremos aplicar esse patch ao filter.c nas origens de módulo do VMware Player.

Etapa 1

crie um arquivo no nome do diretório tmp filter.c.diff e copie o seguinte código init.

nano /tmp/filter.c.diff

205a206
> #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

Etapa 2

sudo -E -s

cd /usr/lib/vmware/modules/source/ 

cp vmnet.tar vmnet.tar.original

tar xvf vmnet.tar vmnet-only/filter.c

patch vmnet-only/filter.c < /tmp/filter.c.diff

tar -uvf vmnet.tar vmnet-only/filter.c

rm -rf vmnet-only/

Depois disso, execute o vmware e ele funcionará bem.

   Starting VMware services:
   Virtual machine monitor                                             done
   Virtual machine communication interface                             done
   VM communication interface socket family                            done
   Blocking file system                                                done
   Virtual ethernet                                                    done
   VMware Authentication Daemon                                        done
   Shared Memory Available                                             done

Nota: Você também precisa chown o diretório .vmware, caso contrário suas alterações no vmware não serão salvas

exemplo

sudo chown -R one:one .vmware

Onde um é meu nome de usuário e um é meu grupo. sudo chown -R $USER:$USER .vmware

HELP

    
por Qasim 18.04.2014 / 13:15
4
  

Para corrigir o problema no kernel do Ubuntu 14.10 3.17.2

Etapa 1

curl http://pastie.org/pastes/9636106/download -o /tmp/vmware-3.17.patch

Etapa 2

Reconstruindo módulos, extrair fontes do módulo:

cd /usr/lib/vmware/modules/source
for i in vmci vmmon vmnet vsock; do tar -xf $i.tar; done

Etapa 3

Aplique o patch:

 patch -p1 -i /tmp/vmware-3.17.patch

Etapa 4

Recrie os arquivos:

for i in *-only; do tar -cf ${i/-only}.tar $i; done

Etapa 5

Remover sobras:

rm -r *-only

Etapa nº 6

Reconstruir módulos:

vmware-modconfig --console --install-all
  

HELP

    
por Qasim 05.11.2014 / 16:02
3

Para corrigir o problema no kernel do Ubuntu 14.x 3.19.x, execute os seguintes passos como Root (em um terminal):

  1. faça login como root (por exemplo, sudo -s)

  2. Digite sua senha de root.

  3. Digite estes comandos:

curl http://pastie.org/pastes/9934018/download -o /tmp/vmnet-3.19.patch
cd /usr/lib/vmware/modules/source
tar -xf vmnet.tar
patch -p0 -i /tmp/vmnet-3.19.patch
mv vmnet.tar vmnet.tar.SAVED
tar -cf vmnet.tar vmnet-only
rm -r vmnet-only
vmware-modconfig --console --install-all
    
por Saddam ZEMMALI 30.05.2015 / 12:37
2

Eu só tive esse mesmo problema. Você também pode criar um script contendo isso:

#!/bin/bash

cat << EOF > /tmp/filter.c.patch
--- vmnet-only/filter.c 2013-10-18 15:11:55.000000000 -0400
+++ vmnet-only/filter.c 2013-12-21 20:15:15.000000000 -0500
@@ -27,6 +27,7 @@
 #include "compat_module.h"
 #include <linux/mutex.h>
 #include <linux/netdevice.h>
 +#include <linux/version.h>
 #if COMPAT_LINUX_VERSION_CHECK_LT(3, 2, 0)
 #   include <linux/module.h>
 #else
@@ -203,7 +204,11 @@
 #endif

 static unsigned int
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
 VNetFilterHookFn(unsigned int hooknum,                 // IN:
+#else
+VNetFilterHookFn(const struct nf_hook_ops *ops,        // IN:
+#endif
 #ifdef VMW_NFHOOK_USES_SKB
                  struct sk_buff *skb,                  // IN:
 #else
@@ -252,7 +257,12 @@

     /* When the host transmits, hooknum is VMW_NF_INET_POST_ROUTING. */
    /* When the host receives, hooknum is VMW_NF_INET_LOCAL_IN. */
 -   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

    packetHeader = compat_skb_network_header(skb);
    ip = (struct iphdr*)packetHeader;
EOF

cd /usr/lib/vmware/modules/source
# untar the vmnet modules
tar -xvf vmnet.tar
#run a the patch you should have just saved earlier
 patch vmnet-only/filter.c < /tmp/filter.c.patch
# re-tar the modules
tar -uvf vmnet.tar vmnet-only
#delete the previous working directory
rm -rf vmnet-only

Apenas certifique-se de executá-lo como root. Em seguida, inicie o VMWARE novamente e ele deverá compilar e executar novamente.

Graças ao link para criar este script.

    
por christopherbrown0317 18.04.2014 / 17:12
1

Este também foi um problema no código-fonte do módulo do kernel entregue com o VMware Player 6.0.1 quando executado no Linux 3.3.13.

A VMware corrigiu o problema em 17 de abril no VMware Player 6.0.2 ( link ) e VMware Workstation 10.02 ( link ).

Atualizar para as versões acima adicionará suporte para o Ubuntu 14.04 para o VMware.

Mikkel

    
por Mikkel Kirkgaard Nielsen 07.05.2014 / 09:54