Logo vmware

Error al compilar los modulos VMMON y VMNET

 
 

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.

 
Índice General

  1. Introducción
  2. Solución
     

  1. 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.

  2.  

  3. Solución (Volver al índice General)
    Los pasos a seguir para evitar errores al compilar los modulos VMMON y VMNET, son los siguientes:

    1. 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

    2. Extraemos los archivos:
      $ tar -xzf workstation-15.5.1.tar.gz
    3. Hacemos cd al directorio creado tras la extracción:
      $ cd vmware-host-modules-workstation-15.5.1/
    4. Creamos los archivos tar de los módulos:
      $ tar -cf vmmon.tar vmmon-only
      $ tar -cf vmnet.tar vmnet-only
    5. Copiamos los archivos tar a /usr/lib/vmware/modules/source/:
      $ sudo cp -v vmmon.tar vmnet.tar /usr/lib/vmware/modules/source/
    6. 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.

 

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.
 
Seguir J. Carlos:

Técnico Informático - Desarrollo Web - Administración de Redes

Técnico Informático. Desarrollo Web. Administración de redes.

Últimas publicaciones de

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.