Al instalar VMware Workstation Pro/Workstation Player en nuestro sistema GNU/Linux, si utilizamos nuevas versiones del kernel, podemos encontrarnos con errores al compilar los módulos del kernel VMMON y VMNET que se incluyen en el paquete de instalación de VMware Workstation Pro/Workstation Player. En este artículo veremos una solución a dichos errores aportada por Michael Kubecek.
- Introducción (Volver al índice General)
Las nuevas versiones del kernel tienen problemas con la compilación de los módulos del kernel VMMON y VMNET. Esto puede ocurrir con la serie de kernels 5.4.x.En la solución aportada por Michael Kubecek, tendremos que descargar el archivo apropiado en función de la versión que hayamos instalado de VMware Workstation Pro/Workstation Player. Este ejemplo se basa en la versión 15.5.1. En tu caso, tendrás que descargar los archivos de reemplazo correspondientes a tu versión.
- Solución (Volver al índice General)
Los pasos a seguir para evitar errores al compilar los modulos VMMON y VMNET, son los siguientes:- Descargamos los archivos de reemplazo correspondientes a nuestra versión:
$ wget https://github.com/mkubecek/vmware-host-modules/archive/workstation-15.5.1.tar.gz
Si nuestra versión fuese la 17.0.0, descargaríamos el archivo
workstation-17.0.0.tar.gz
- Extraemos los archivos:
$ tar -xzf workstation-15.5.1.tar.gz
- Hacemos
cd
al directorio creado tras la extracción:$ cd vmware-host-modules-workstation-15.5.1/
- Creamos los archivos tar de los módulos:
$ tar -cf vmmon.tar vmmon-only $ tar -cf vmnet.tar vmnet-only
- Copiamos los archivos
tar
a/usr/lib/vmware/modules/source/
:$ sudo cp -v vmmon.tar vmnet.tar /usr/lib/vmware/modules/source/
- Finalmente, instalamos los módulos:
$ sudo vmware-modconfig --console --install-all
Deberíamos obtener un resultado similar al siguiente:
Stopping VMware services: VMware Authentication Daemon done VM communication interface socket family done Virtual machine communication interface done Virtual machine monitor done Blocking file system done make: Entering directory '/tmp/modconfig-ySDgLm/vmmon-only' Using kernel build system. /usr/bin/make -C /lib/modules/5.4.0-14-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= modules make[1]: Entering directory '/usr/src/linux-headers-5.4.0-14-generic' CC [M] /tmp/modconfig-ySDgLm/vmmon-only/linux/driver.o CC [M] /tmp/modconfig-ySDgLm/vmmon-only/linux/hostif.o CC [M] /tmp/modconfig-ySDgLm/vmmon-only/linux/driverLog.o CC [M] /tmp/modconfig-ySDgLm/vmmon-only/common/memtrack.o CC [M] /tmp/modconfig-ySDgLm/vmmon-only/common/apic.o CC [M] /tmp/modconfig-ySDgLm/vmmon-only/common/statVarsVmmon.o CC [M] /tmp/modconfig-ySDgLm/vmmon-only/common/vmx86.o CC [M] /tmp/modconfig-ySDgLm/vmmon-only/common/sharedAreaVmmon.o CC [M] /tmp/modconfig-ySDgLm/vmmon-only/common/cpuid.o CC [M] /tmp/modconfig-ySDgLm/vmmon-only/common/task.o CC [M] /tmp/modconfig-ySDgLm/vmmon-only/common/comport.o CC [M] /tmp/modconfig-ySDgLm/vmmon-only/common/phystrack.o CC [M] /tmp/modconfig-ySDgLm/vmmon-only/vmcore/moduleloop.o CC [M] /tmp/modconfig-ySDgLm/vmmon-only/bootstrap/monLoaderVmmon.o CC [M] /tmp/modconfig-ySDgLm/vmmon-only/bootstrap/monLoader.o CC [M] /tmp/modconfig-ySDgLm/vmmon-only/bootstrap/vmmblob.o CC [M] /tmp/modconfig-ySDgLm/vmmon-only/bootstrap/bootstrap.o LD [M] /tmp/modconfig-ySDgLm/vmmon-only/vmmon.o Building modules, stage 2. MODPOST 1 modules CC [M] /tmp/modconfig-ySDgLm/vmmon-only/vmmon.mod.o LD [M] /tmp/modconfig-ySDgLm/vmmon-only/vmmon.ko make[1]: Leaving directory '/usr/src/linux-headers-5.4.0-14-generic' /usr/bin/make -C $PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= postbuild make[1]: Entering directory '/tmp/modconfig-ySDgLm/vmmon-only' make[1]: 'postbuild' is up to date. make[1]: Leaving directory '/tmp/modconfig-ySDgLm/vmmon-only' cp -f vmmon.ko ./../vmmon.o make: Leaving directory '/tmp/modconfig-ySDgLm/vmmon-only' make: Entering directory '/tmp/modconfig-ySDgLm/vmnet-only' Using kernel build system. /usr/bin/make -C /lib/modules/5.4.0-14-generic/build/include/.. M=$PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= modules make[1]: Entering directory '/usr/src/linux-headers-5.4.0-14-generic' CC [M] /tmp/modconfig-ySDgLm/vmnet-only/driver.o CC [M] /tmp/modconfig-ySDgLm/vmnet-only/hub.o CC [M] /tmp/modconfig-ySDgLm/vmnet-only/userif.o CC [M] /tmp/modconfig-ySDgLm/vmnet-only/netif.o CC [M] /tmp/modconfig-ySDgLm/vmnet-only/bridge.o CC [M] /tmp/modconfig-ySDgLm/vmnet-only/procfs.o CC [M] /tmp/modconfig-ySDgLm/vmnet-only/smac_compat.o CC [M] /tmp/modconfig-ySDgLm/vmnet-only/smac.o CC [M] /tmp/modconfig-ySDgLm/vmnet-only/vnetEvent.o CC [M] /tmp/modconfig-ySDgLm/vmnet-only/vnetUserListener.o LD [M] /tmp/modconfig-ySDgLm/vmnet-only/vmnet.o Building modules, stage 2. MODPOST 1 modules CC [M] /tmp/modconfig-ySDgLm/vmnet-only/vmnet.mod.o LD [M] /tmp/modconfig-ySDgLm/vmnet-only/vmnet.ko make[1]: Leaving directory '/usr/src/linux-headers-5.4.0-14-generic' /usr/bin/make -C $PWD SRCROOT=$PWD/. \ MODULEBUILDDIR= postbuild make[1]: Entering directory '/tmp/modconfig-ySDgLm/vmnet-only' make[1]: 'postbuild' is up to date. make[1]: Leaving directory '/tmp/modconfig-ySDgLm/vmnet-only' cp -f vmnet.ko ./../vmnet.o make: Leaving directory '/tmp/modconfig-ySDgLm/vmnet-only' Starting VMware services: Virtual machine monitor done Virtual machine communication interface done VM communication interface socket family done Blocking file system done Virtual ethernet done VMware Authentication Daemon done Shared Memory Available done
En este punto, deberíamos poder ejecutar VMware Workstation Pro/Workstation Player.
- Descargamos los archivos de reemplazo correspondientes a nuestra versión:
Espero que este artículo os haya sido de utilidad. Si pensáis que podéis colaborar para mejorar este artículo, que hay algo erróneo en él o simplemente deseáis comentarlo, por favor, dejad vuestra opinión más abajo.
Deja una respuesta