Модуль vmhgfs не компилируется для VMware Tools 9.9.0 (Fusion7.1) и VMware Tools 9.9.2 (Fusion7.1.1 Build 2496486) после обновления ядра Ubuntu Linux до версии 3.13.0-46 (Febr. 2015) (функция общих папок) VMware Tools не работает в Ubuntu 14.04 LTS (Гость) на MacOSX Yosemite (Хост))?
Привет, сообщество и команда разработчиков VMware,
13 февраля 2015 года мы потеряли функцию общих папок между Ubuntu и MacOSX. Возможно, обновление ядра Linux до версии 3.13.0-46-generic вызвало эту проблему (хотя существующий скомпилированный модуль vmhgfs из VMware Tools в Ubuntu не был бы поврежден обновлением ядра Linux!). Мы используем VMware Fusion 7.0.0 с Ubuntu 14.04 LTS и MacOSX в течение одного года без проблем со старыми ядрами Linux. Мы обновились до VMware Fusion 7.1.0 и Fusion7.1.1 Build 2496486 с VMware Tools 9.9.2 в надежде исправить проблему с функцией общих папок, которая возникла первой в версии. 7.0.0.
Можно предположить, что существует несовместимость между скомпилированным модулем vmhgfs и новым ядром Linux 3.13.0-46-generic.
Мы попытались переустановить инструменты VMware 9.9.0 и более поздние версии. 9.9.2, но модуль vmhgfs не может быть скомпилирован, и функция общей папки не работает. Все остальные функции инструмента VMware работают нормально.
В Ubuntu 14.04 LTS терминальная команда lsmod | grep "vm." не содержит списка модулей vmhgfs
Во время компиляции модуля vmhgfs было несколько «ошибок» рядом с «/ vmhgfs-only /» и «make []:»
Вот один из наших терминальных журналов для вас:
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'
И / mnt / hgfs пуст, но общий доступ к папкам включен, например, для каталога «Документы» Mac. Если мы запустим vmware-hgfsclient в терминале, мы получим список общих папок, но / mnt / hgfs пуст.
Не могли бы вы исправить несовместимость между модулем vmhgfs и новым ядром Linux 3.13.0-46-generic, пожалуйста?
С наилучшими пожеланиями,
Toni
Ответы:
Инструменты могут быть исправлены вручную. В vmhgfs.tar
d_alias
необходимо изменить inode.cd_u.d_alias
, вернуть его обратно в tar и затем перекомпилировать инструменты.Сценарий, который делает это (протестирован на 32-битной Ubuntu 14.04, рабочая станция vmware 11.1 на хосте Windows) находится здесь:
ПРИМЕЧАНИЕ: это делает инструменты несовместимыми с более старыми версиями ядра, т.е. 3.13.0-45.
источник
У меня был такой же опыт после обновления до ядра 3.13.0-46. Согласно vmware-tools-patches , патча нет.
Я исправил
vmhgfs
:источник
Подобно ответу @Will Wolcott, последние изменения в vmware-tools-patches обошли мне проблему 14.04 с ядром 3.13.
источник