Moduł vmhgfs nie jest kompatybilny z VMware Tools 9.9.0 (Fusion7.1) po aktualizacji jądra Ubuntu Linux do wersji 3.13.0-46-generic?

12

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


Ecoplacehunter
źródło
Cześć, witamy w askubuntu! Chcielibyśmy pomóc w rozwiązaniu tego problemu, jednak to pytanie jest naprawdę trudne do odczytania. Spróbuj sformatować swoje pytanie, aby było jaśniejsze i bardziej uporządkowane. Pomoc dotycząca formatowania: askubuntu.com/help/formatting
Merlijn Sebrechts
Witaj Społeczność, nasz członek „DJ” odpowiedział już na mój post. Ma ten sam problem z modułem vmhgfs i funkcją folderu współdzielonego w VMware Fusion i zakłada niezgodność między modułem vmhgfs a nowym jądrem Linux 3.13.0-46-generic. „DJ” zasugerował także kompatybilną wersję jądra Linuksa. Czy ktoś ma doświadczenie z najnowszą kompatybilną wersją jądra Linux dotyczącą modułu vmhgfs? „DJ”, czy mógłbyś ponownie opublikować swoje polecenie? Możemy uzyskać moduł vmhgfs pracujący z obniżeniem wersji do najnowszej kompatybilnej wersji jądra Linuksa. Z pozdrowieniami, Toni
Ecoplacehunter
Aktualizacja VMware Fusion Pro do wersji 7.1.1 Build 2496486 na Mac OS X Yosemite i próba ponownej instalacji narzędzi Vmware VMwareTools-9.9.2-2496486 dla Ubuntu nie mogła rozwiązać problemu z modułem vmhgfs. VMwareTools-9.9.2-2496486 jest także niezgodny z nowym jądrem Linux 3.13.0-46-generic
Ecoplacehunter

Odpowiedzi:

13

Narzędzia można załatać ręcznie. W vmhgfs.tar, inode.c d_aliasnależy zmienić na d_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:

#!/bin/sh -x
cd /usr/lib/vmware-tools/modules/source
tar xf vmhgfs.tar
grep -q d_u.d_alias vmhgfs-only/inode.c && echo "already patched" && exit 0
sed -i -e s/d_alias/d_u.d_alias/ vmhgfs-only/inode.c
cp -p vmhgfs.tar vmhgfs.tar.orig
tar cf vmhgfs.tar vmhgfs-only
vmware-config-tools.pl -d -m

UWAGA: powoduje to, że narzędzia są niekompatybilne ze starszymi wersjami jądra, tj. 3.13.0-45.

Viljo Viitanen
źródło
To rozwiązanie działało dla mnie z hostem Windows 8.1 i 32-bitowym gościem Ubuntu 14.04.2 LTS przy użyciu VMware player 7.1.0 build-2496824. Dzięki!
Taylor T. Johnson
Hyvä Viljo !!! Najkrótsza, najczystsza i najłatwiejsza łatka w porównaniu ze wszystkimi hackymi zwariowanymi instrukcjami: google.fi/…
Yordan Georgiev
Wygląda na to, że naprawili to w vmware-tools-9.9.3
Didar_Uranov
Mogę potwierdzić, że ta poprawka działa na jądrze Ubuntu 14.04.2 LTS 3.13.0-48-generic, celując w VMwareTools-9.6.5-2700074 dostarczany z VMWare Workstation 10.0.7.
Ryan M