Moduł vmhgfs nie jest kompatybilny z VMware Tools 9.9.0 (Fusion7.1) i VMware Tools 9.9.2 (Fusion7.1.1 Build 2496486) po aktualizacji jądra Ubuntu Linux do wersji 3.13.0-46-generic (Febr. 2015) (Funkcja folderów współdzielonych narzędzi VMware nie działa w Ubuntu 14.04 LTS (gość) na MacOSX Yosemite (host))?
Witaj Społeczność i zespół programistów VMware,
13 lutego 2015 r. Utraciliśmy funkcję folderów współdzielonych między Ubuntu i MacOSX. Prawdopodobnie aktualizacja jądra Linuksa do wersji 3.13.0-46-generic spowodowała ten problem (chociaż istniejący, skompilowany moduł vmhgfs Narzędzi VMware w Ubuntu nie zostałby uszkodzony przez aktualizację jądra Linux!). Używamy VMware Fusion 7.0.0 z Ubuntu 14.04 LTS i MacOSX przez rok bez problemów ze starszymi jądrami Linuksa. Zaktualizowaliśmy do VMware Fusion 7.1.0 i Fusion7.1.1 Build 2496486 z VMware Tools 9.9.2 w nadziei, że rozwiążemy problem funkcji folderów współdzielonych, który pojawił się jako pierwszy w wersji versus. 7.0.0
Możemy przypuszczać, że istnieje niezgodność między skompilowanym modułem vmhgfs a nowym jądrem Linuksa 3.13.0-46-generic.
Próbowaliśmy ponownie zainstalować narzędzia VMware 9.9.0 i nowsze. 9.9.2, ale moduł vmhgfs nie mógł zostać skompilowany, a funkcja folderu współdzielonego nie działa. Wszystkie pozostałe funkcje narzędzia VMware działają poprawnie.
W Ubuntu 14.04 LTS polecenie terminalu lsmod | grep "vm." nie wyświetla modułu vmhgfs
Podczas kompilacji modułu vmhgfs było kilka „błędów” w pobliżu ”/ vmhgfs-only /” i „make []:”
Oto jeden z naszych dzienników terminalowych dla Ciebie:
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'
A / mnt / hgfs jest pusty, ale udostępnianie folderów jest włączone na przykład w katalogu „Dokumenty” Maca. Jeśli uruchomimy vmware-hgfsclient w terminalu, otrzymamy listę folderów współdzielonych, ale / mnt / hgfs jest pusty.
Czy możesz naprawić niezgodność między modułem vmhgfs a nowym jądrem Linux 3.13.0-46-generic, proszę?
Z poważaniem,
Toni
Odpowiedzi:
Narzędzia można załatać ręcznie. W vmhgfs.tar, inode.c
d_alias
należy zmienić nad_u.d_alias
, umieścić z powrotem w tar, a następnie ponownie skompilować narzędzia.Skrypt, który to robi (testowany na 32-bitowym Ubuntu 14.04, vmware workstation 11.1 na hoście Windows) jest tutaj:
UWAGA: powoduje to, że narzędzia są niekompatybilne ze starszymi wersjami jądra, tj. 3.13.0-45.
źródło
Miałem to samo doświadczenie po aktualizacji do jądra 3.13.0-46. Według łat vmware-tools-patch nie jest dostępna łatka.
Naprawiłem
vmhgfs
przez:źródło
Podobnie jak w przypadku odpowiedzi @Will Wolcott, ostatnie zmiany w łatkach vmware-tools- działają wokół mnie 14.04 z jądrem 3.13.
źródło