El módulo vmhgfs no es compatible con VMware Tools 9.9.0 (Fusion7.1) y VMware Tools 9.9.2 (Fusion7.1.1 Build 2496486) después de la actualización del kernel de Ubuntu Linux a 3.13.0-46-generic (febrero de 2015) (Función de carpeta compartida de VMware Tools no funciona en Ubuntu 14.04 LTS (Invitado) en MacOSX Yosemite (Host))?
Hola comunidad y el equipo de desarrolladores de VMware,
El 13 de febrero de 2015, perdimos la función de carpeta compartida entre Ubuntu y MacOSX. Probablemente, la actualización del kernel de Linux a 3.13.0-46-generic causó este problema (aunque la actualización del kernel de Linux no dañaría el módulo vmhgfs compilado de VMware Tools en Ubuntu). Utilizamos VMware Fusion 7.0.0 con Ubuntu 14.04 LTS y MacOSX durante un año sin problemas con los núcleos de Linux más antiguos. Actualizamos a VMware Fusion 7.1.0 y Fusion7.1.1 Build 2496486 con VMware Tools 9.9.2 con la esperanza de solucionar el problema de la función de carpeta compartida que ocurrió primero en vers. 7.0.0.
Podemos suponer que existe una incompatibilidad entre el módulo compilado vmhgfs y el nuevo kernel de Linux 3.13.0-46-generic.
Intentamos reinstalar las herramientas VMware 9.9.0 y vers. 9.9.2 pero el módulo vmhgfs no se pudo compilar y la función de carpeta compartida no funciona. Todas las demás funciones de la herramienta VMware funcionan bien.
En Ubuntu 14.04 LTS, el comando de terminal lsmod | grep "vm" no enumera ningún módulo vmhgfs
Durante la compilación del módulo vmhgfs hubo varios "errores" cerca de "/ vmhgfs-only /" y "make []:"
Aquí está uno de nuestros diarios terminales para usted:
include/linux/compiler-gcc4.h:14:34: error: ‘struct dentry’ has no member named ‘d_alias’
#define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
^
include/linux/stddef.h:17:31: note: in expansion of macro ‘__compiler_offsetof’
#define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER)
^
include/linux/kernel.h:794:29: note: in expansion of macro ‘offsetof’
(type *)( (char *)__mptr - offsetof(type,member) );})
^
include/linux/list.h:687:40: note: in expansion of macro ‘container_of’
#define hlist_entry(ptr, type, member) container_of(ptr,type,member)
^
include/linux/list.h:698:15: note: in expansion of macro ‘hlist_entry’
____ptr ? hlist_entry(____ptr, type, member) : NULL; \
^
include/linux/list.h:710:13: note: in expansion of macro ‘hlist_entry_safe’
pos = hlist_entry_safe((pos)->member.next, typeof(*(pos)), member))
^
/tmp/modconfig-h4Zwi0/vmhgfs-only/inode.c:1920:7: note: in expansion of macro ‘hlist_for_each_entry’
hlist_for_each_entry(dentry,
^
make[2]: *** [/tmp/modconfig-h4Zwi0/vmhgfs-only/inode.o] Error 1
make[1]: *** [_module_/tmp/modconfig-h4Zwi0/vmhgfs-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-3.13.0-46-generic'
make: *** [vmhgfs.ko] Error 2
make: Leaving directory `/tmp/modconfig-h4Zwi0/vmhgfs-only'
Y / mnt / hgfs está vacío, pero el uso compartido de carpetas está habilitado para el directorio "Documentos" de Mac, por ejemplo. Si ejecutamos vmware-hgfsclient en un terminal, obtenemos la lista de carpetas compartidas pero / mnt / hgfs está vacío.
¿Podría solucionar la incompatibilidad entre el módulo vmhgfs y el nuevo kernel de Linux 3.13.0-46-generic, por favor?
Atentamente,
Toni
Respuestas:
Las herramientas se pueden parchear manualmente. En vmhgfs.tar, inode.c
d_alias
debe cambiarse ad_u.d_alias
, volver al tar y luego volver a compilar las herramientas.Un script que hace eso (probado en ubuntu 14.04 de 32 bits, estación de trabajo vmware 11.1 en un host de Windows) está aquí:
NOTA: esto hace que las herramientas sean incompatibles con versiones anteriores del núcleo, es decir, 3.13.0-45.
fuente
Tuve la misma experiencia después de actualizar al kernel 3.13.0-46. Según vmware-tools-parches , no hay un parche disponible.
Lo arreglé
vmhgfs
por:fuente
De manera similar a la respuesta de @Will Wolcott, los cambios recientes en vmware-tools-parches me resuelven el problema el 14.04 con el kernel 3.13.
fuente