Модуль vmhgfs не компилируется для VMware Tools 9.9.0 (Fusion7.1) после обновления ядра Ubuntu Linux до версии 3.13.0-46-generic?

12

Модуль 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


Ecoplacehunter
источник
Привет, добро пожаловать в Askubuntu! Мы хотели бы помочь вам с этой проблемой, однако этот вопрос действительно трудно прочитать. Пожалуйста, попробуйте отформатировать свой вопрос, чтобы сделать его более четким и структурированным. Справка по
Мерлин Себрехтс
Здравствуйте, сообщество, наш участник "DJ" уже ответил на мой пост. У него та же проблема с модулем vmhgfs и функцией общих папок в VMware Fusion, и он предполагает несовместимость между модулем vmhgfs и новым ядром Linux 3.13.0-46-generic. «DJ» также сделал предложения для совместимой версии ядра Linux. Кто-нибудь сталкивался с последней совместимой версией ядра Linux, касающейся модуля vmhgfs? "DJ" не могли бы вы опубликовать свою команду снова, пожалуйста? Мы могли бы заставить модуль vmhgfs работать с понижением до последней совместимой версии ядра Linux. С наилучшими пожеланиями, Тони
Ecoplacehunter
Обновление VMware Fusion Pro до 7.1.1 Build 2496486 на Mac OS X Yosemite и попытка переустановить инструменты Vmware VMwareTools-9.9.2-2496486 для Ubuntu не смогли решить проблему с модулем vmhgfs. VMwareTools-9.9.2-2496486 также несовместим с новым ядром Linux 3.13.0-46-generic
Ecoplacehunter,

Ответы:

13

Инструменты могут быть исправлены вручную. В vmhgfs.tar d_aliasнеобходимо изменить inode.c d_u.d_alias, вернуть его обратно в tar и затем перекомпилировать инструменты.

Сценарий, который делает это (протестирован на 32-битной Ubuntu 14.04, рабочая станция vmware 11.1 на хосте Windows) находится здесь:

#!/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

ПРИМЕЧАНИЕ: это делает инструменты несовместимыми с более старыми версиями ядра, т.е. 3.13.0-45.

Вильо Виитанен
источник
Это решение работало для меня с хостом Windows 8.1 и 32-битным гостем Ubuntu 14.04.2 LTS с использованием VMware player 7.1.0 build-2496824. Благодарность!
Тейлор Т. Джонсон
Hyvä Viljo !!! Самое короткое, чистое и простое исправление патча по сравнению со всеми хакерскими дурацкими инструкциями там: google.fi/…
Йордан Георгиев
Кажется, они исправили это в vmware-tools-9.9.3
Didar_Uranov
Я могу подтвердить, что этот патч работает на ядре Ubuntu 14.04.2 LTS 3.13.0-48-generic, ориентирован на VMwareTools-9.6.5-2700074, поставляемый с VMWare Workstation 10.0.7.
Райан М
1

У меня был такой же опыт после обновления до ядра 3.13.0-46. Согласно vmware-tools-patches , патча нет.

Патчи еще не применяются успешно со следующими ядрами Linux:

3.13.x

Я исправил vmhgfs:

  1. Откат к версии ядра 3.13.0-45, либо путем загрузки в более старую версию или отката ядра обновления затем
  2. переустановите vmware-tools .
Биллиам Ваткотт
источник