Ubuntu 17.10 Обновление Broke VMWare Workstation 12.5
Привет после обновления до Ubuntu 17.10, vmware теперь не запускается.
Я получаю сообщение:
/usr/lib/vmware/bin/vmware-modconfig: Relink `/lib/x86_64-linux-gnu/libbsd.so.0' with `/lib/x86_64-linux-gnu/librt.so.1' for IFUNC symbol `clock_gettime'
Я знаю, что есть доступные исправления, и я пытаюсь применить их и перекомпилировать. Я бежал от решения в https://communities.vmware.com/thread/571370:
cd ~
#Copy the vmmon source tar ball to your temporary location
cp /usr/lib/vmware/modules/source/vmmon.tar .
#Extract the tar ball
tar xf vmmon.tar
#Download the modified file that mkubecek posted and overwrite the one from the tar ball for VMware Workstation 12.5:
wget -O ./vmmon-only/linux/hostif.c https://raw.githubusercontent.com/mkubecek/vmware-host-modules/b50848c985f1a6c0a341187346d77f0119d0a835/vmmon-only/linux/hostif.c
#Wrap up the newly modified files into a tar ball replacing the original one
sudo tar cf /usr/lib/vmware/modules/source/vmmon.tar vmmon-only
#Rebuild the VMware kernel modules
sudo vmware-modconfig --console --install-all
Failed to get gcc information.
gcc --version
gcc (Ubuntu 7.2.0-8ubuntu3) 7.2.0 ...
К сожалению, vmware-modconfig терпит неудачу из-за зависимости, которая кажется определенной версией gcc. Я на правильном пути? Любая помощь с этим вопросом будет высоко ценится.
РЕДАКТИРОВАТЬ Спасибо, Стив, ниже снова заработал vmware. Я включил незначительные исправления. Протестировано и подтверждено, что я могу запустить виртуальную машину.
sudo su
# do all below as root
cd /usr/lib/vmware/modules/source
tar xvf vmmon.tar
tar xvf vmnet.tar
wget -O ./vmmon-only/linux/hostif.c https://raw.githubusercontent.com/mkubecek/vmware-host-modules/b50848c985f1a6c0a341187346d77f0119d0a835/vmmon-only/linux/hostif.c
vim vmnet-only/bridge.c
cd vmmon-only/
make
cd ../vmnet-only/
make
cd ..
mkdir /lib/modules/4.13.0-16-generic/misc
cp *.o /lib/modules/4.13.0-16-generic/misc
insmod /lib/modules/4.13.0-16-generic/misc/vmmon.o
insmod /lib/modules/4.13.0-16-generic/misc/vmnet.o
rm /usr/lib/vmware/lib/libz.so.1/libz.so.1
ln -s /lib/x86_64-linux-gnu/libz.so.1 /usr/lib/vmware/lib/libz.so.1/libz.so.1
vmware-networks --start
exit
# run vmware as normal user
/usr/lib/vmware/bin/vmware
4 ответа
Мне удалось заставить VMWare Workstation 12.5.7 работать на Kubuntu 17.10.
В /usr/lib/vmware/modules/source
:
экстракт
vmmon.tar
а такжеvmnet.tar
sudo tar -xf vmmon.tar sudo tar -xf vmnet.tar
Это создаст
vmmon-only
а такжеvmnet-only
каталоги.Получить исправленный
hostif.c
sudo wget -O vmmon-only/linux/hostif.c https://raw.githubusercontent.com/mkubecek/vmware-host-modules/b50848c985f1a6c0a341187346d77f0119d0a835/vmmon-only/linux/hostif.c
(примечание: https://communities.vmware.com/thread/571370 - также содержит аналогичное исправление для VMWare Workstation 14)
редактировать
vmnet-only/bridge.c
:639c639 < atomic_inc(&clone->users); --- > atomic_inc((atomic_t*)&clone->users);
Бежать
make -C vmmon-only make -C vmnet-only cp -t /lib/modules/4.13.0-16-generic/misc *.ko modprobe -r vmmon insmod /lib/modules/4.13.0-16-generic/misc/vmmon.ko rm /usr/lib/vmware/lib/libz.so.1/libz.so.1 ln -s /lib/x86_64-linux-gnu/libz.so.1 /usr/lib/vmware/lib/libz.so.1/libz.so.1 # see https://communities.vmware.com/thread/572259 vmware-networks --start # see https://forum.chakralinux.org/viewtopic.php?id=8579
Как пользователь:
/usr/lib/vmware/bin/vmware
(чтобы он не работал
vmware-modconfig
)
Я пробовал примерно все другие решения, но ничего не получалось. Но эти шаги работали для меня на Ubuntu 18.04, VMware 12.5.9
git clone https://github.com/mkubecek/vmware-host-modules.git
cd vmware-host-modules
git checkout workstation-12.5.9 (change it to your version. it's important)
make && sudo make install
cd /usr/lib/vmware/lib/libz.so.1
sudo mv libz.so.1 libz.so.1.old
sudo ln -s /lib/x86_64-linux-gnu/libz.so.1 .
sudo depmod -a
sudo /etc/init.d/vmware restart
Ссылка:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1715552
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1715552/comments/29
Исправление, описанное: Стивен приводит многих к другой ошибке: "Не удалось получить информацию gcc".
Самое простое решение - скачать рабочую станцию vmware player 14.1.
Установка его вместо версии 12.5 решает проблемы, описанные выше.
Для этого просто бегите
chmod +x VMware-Player-14.1.1-7528167.x86_64.bundle
sudo ./VMware-Player-14.1.1-7528167.x86_64.bundle
И следуйте инструкциям в графическом установщике.
В дополнение к ответу Стивена Вассела, если вы все еще работаете с версией VM Workstation 12.5.x, вам нужно будет перекомпилировать .ko
для каждого патча ядра.. что много..
Вы можете увидеть эту ошибку: (Неверный формат модуля)
# insmod /lib/modules/4.13.0-31-generic/misc/vmnet.ko
insmod: ERROR: could not insert module /lib/modules/4.13.0-31-generic/misc/vmnet.ko: Invalid module format
Вот инструмент для обновления модулей ядра для ubuntu-flavour-distros после обновления ядра.
https://gist.github.com/shadowbq/5897002b620b093ca7578b5f13c3f3a1
Я также включил простую обертку.sh
что вы можете использовать замену для запуска рабочей станции vmware, чтобы быть уверенным, что она каждый раз соответствующим образом загружает модули ядра vm-network и vm-mon.
Примечание: этот скрипт не будет расширять 'tar' или 'patch' исходные файлы, он предназначен для автоматической перекомпиляции модулей ядра после исправления ядра, следуя шагам оригинала Стивена Васселла.