Hacia tiempo que no me encontraba con problemas de instalación de VMware Workstation en kernels linux modernos como pasaba en tiempos de los primeros 3.x o últimos 2.6

Hoy me he actualizado el ordenador de trabajo a Ubuntu 15.04 y me he encontrado con problemas a la hora de actualizar los modulos de VMware Workstation 11 en Ubuntu 15.04. En concreto esta era la salida del log del instalador:

javi@trabajo:~/Downloads$ sudo cat /tmp/vmware-root/vmware-11038.log
2015-04-27T11:04:05.751+02:00| vthread-4| I120: Log for VMware Workstation pid=11038 version=11.1.0 build=build-2496824 option=Release
2015-04-27T11:04:05.751+02:00| vthread-4| I120: The process is 64-bit.
2015-04-27T11:04:05.751+02:00| vthread-4| I120: Host codepage=UTF-8 encoding=UTF-8
2015-04-27T11:04:05.751+02:00| vthread-4| I120: Host is Linux 3.19.0-15-generic Ubuntu 15.04
2015-04-27T11:04:05.750+02:00| vthread-4| I120: DictionaryLoad: Cannot open file "/usr/lib/vmware/settings": No such file or directory.
2015-04-27T11:04:05.750+02:00| vthread-4| I120: Msg_Reset:
2015-04-27T11:04:05.750+02:00| vthread-4| I120: [msg.dictionary.load.openFailed] Cannot open file "/usr/lib/vmware/settings": No such file or directory.
2015-04-27T11:04:05.750+02:00| vthread-4| I120: ----------------------------------------
2015-04-27T11:04:05.750+02:00| vthread-4| I120: PREF Optional preferences file not found at /usr/lib/vmware/settings. Using default values.
2015-04-27T11:04:05.750+02:00| vthread-4| I120: DictionaryLoad: Cannot open file "/root/.vmware/config": No such file or directory.
2015-04-27T11:04:05.750+02:00| vthread-4| I120: Msg_Reset:
2015-04-27T11:04:05.750+02:00| vthread-4| I120: [msg.dictionary.load.openFailed] Cannot open file "/root/.vmware/config": No such file or directory.
2015-04-27T11:04:05.750+02:00| vthread-4| I120: ----------------------------------------
2015-04-27T11:04:05.750+02:00| vthread-4| I120: PREF Optional preferences file not found at /root/.vmware/config. Using default values.
2015-04-27T11:04:05.750+02:00| vthread-4| I120: PREF Unable to check permissions for preferences file.
2015-04-27T11:04:05.750+02:00| vthread-4| I120: DictionaryLoad: Cannot open file "/root/.vmware/preferences": No such file or directory.
2015-04-27T11:04:05.750+02:00| vthread-4| I120: Msg_Reset:
2015-04-27T11:04:05.750+02:00| vthread-4| I120: [msg.dictionary.load.openFailed] Cannot open file "/root/.vmware/preferences": No such file or directory.
2015-04-27T11:04:05.750+02:00| vthread-4| I120: ----------------------------------------
2015-04-27T11:04:05.750+02:00| vthread-4| I120: PREF Failed to load user preferences.
2015-04-27T11:04:05.793+02:00| vthread-4| W110: Logging to /tmp/vmware-root/vmware-11038.log
2015-04-27T11:04:05.798+02:00| vthread-4| I120: Obtaining info using the running kernel.
2015-04-27T11:04:05.798+02:00| vthread-4| I120: Created new pathsHash.
2015-04-27T11:04:05.798+02:00| vthread-4| I120: Setting header path for 3.19.0-15-generic to "/lib/modules/3.19.0-15-generic/build/include".
2015-04-27T11:04:05.798+02:00| vthread-4| I120: Validating path "/lib/modules/3.19.0-15-generic/build/include" for kernel release "3.19.0-15-generic".
2015-04-27T11:04:05.798+02:00| vthread-4| I120: Failed to find /lib/modules/3.19.0-15-generic/build/include/linux/version.h
2015-04-27T11:04:05.798+02:00| vthread-4| I120: /lib/modules/3.19.0-15-generic/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
2015-04-27T11:04:05.798+02:00| vthread-4| I120: using /usr/bin/gcc-4.9 for preprocess check
2015-04-27T11:04:05.804+02:00| vthread-4| I120: Preprocessed UTS_RELEASE, got value "3.19.0-15-generic".
2015-04-27T11:04:05.804+02:00| vthread-4| I120: The header path "/lib/modules/3.19.0-15-generic/build/include" for the kernel "3.19.0-15-generic" is valid. Whoohoo!
2015-04-27T11:04:05.954+02:00| vthread-4| I120: found symbol version file /lib/modules/3.19.0-15-generic/build/Module.symvers
2015-04-27T11:04:05.954+02:00| vthread-4| I120: Reading symbol versions from /lib/modules/3.19.0-15-generic/build/Module.symvers.
2015-04-27T11:04:05.972+02:00| vthread-4| I120: Read 18818 symbol versions
2015-04-27T11:04:05.973+02:00| vthread-4| I120: Reading in info for the vmmon module.
2015-04-27T11:04:05.973+02:00| vthread-4| I120: Reading in info for the vmnet module.
2015-04-27T11:04:05.973+02:00| vthread-4| I120: Reading in info for the vmblock module.
2015-04-27T11:04:05.973+02:00| vthread-4| I120: Reading in info for the vmci module.
2015-04-27T11:04:05.973+02:00| vthread-4| I120: Reading in info for the vsock module.
2015-04-27T11:04:05.973+02:00| vthread-4| I120: Setting vsock to depend on vmci.
2015-04-27T11:04:05.973+02:00| vthread-4| I120: Invoking modinfo on "vmmon".
2015-04-27T11:04:05.975+02:00| vthread-4| I120: "/sbin/modinfo" exited with status 256.
2015-04-27T11:04:05.975+02:00| vthread-4| I120: Invoking modinfo on "vmnet".
2015-04-27T11:04:05.976+02:00| vthread-4| I120: "/sbin/modinfo" exited with status 256.
2015-04-27T11:04:05.976+02:00| vthread-4| I120: Invoking modinfo on "vmblock".
2015-04-27T11:04:05.978+02:00| vthread-4| I120: "/sbin/modinfo" exited with status 256.
2015-04-27T11:04:05.978+02:00| vthread-4| I120: Invoking modinfo on "vmci".
2015-04-27T11:04:05.980+02:00| vthread-4| I120: "/sbin/modinfo" exited with status 256.
2015-04-27T11:04:05.980+02:00| vthread-4| I120: Invoking modinfo on "vsock".
2015-04-27T11:04:05.981+02:00| vthread-4| I120: "/sbin/modinfo" exited with status 0.
2015-04-27T11:04:05.992+02:00| vthread-4| I120: to be installed: vmmon status: 0
2015-04-27T11:04:05.992+02:00| vthread-4| I120: to be installed: vmnet status: 0
2015-04-27T11:04:06.001+02:00| vthread-4| I120: Obtaining info using the running kernel.
2015-04-27T11:04:06.001+02:00| vthread-4| I120: Setting header path for 3.19.0-15-generic to "/lib/modules/3.19.0-15-generic/build/include".
2015-04-27T11:04:06.001+02:00| vthread-4| I120: Validating path "/lib/modules/3.19.0-15-generic/build/include" for kernel release "3.19.0-15-generic".
2015-04-27T11:04:06.001+02:00| vthread-4| I120: Failed to find /lib/modules/3.19.0-15-generic/build/include/linux/version.h
2015-04-27T11:04:06.001+02:00| vthread-4| I120: /lib/modules/3.19.0-15-generic/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
2015-04-27T11:04:06.001+02:00| vthread-4| I120: using /usr/bin/gcc-4.9 for preprocess check
2015-04-27T11:04:06.007+02:00| vthread-4| I120: Preprocessed UTS_RELEASE, got value "3.19.0-15-generic".
2015-04-27T11:04:06.007+02:00| vthread-4| I120: The header path "/lib/modules/3.19.0-15-generic/build/include" for the kernel "3.19.0-15-generic" is valid. Whoohoo!
2015-04-27T11:04:06.166+02:00| vthread-4| I120: found symbol version file /lib/modules/3.19.0-15-generic/build/Module.symvers
2015-04-27T11:04:06.166+02:00| vthread-4| I120: Reading symbol versions from /lib/modules/3.19.0-15-generic/build/Module.symvers.
2015-04-27T11:04:06.184+02:00| vthread-4| I120: Read 18818 symbol versions
2015-04-27T11:04:06.185+02:00| vthread-4| I120: Kernel header path retrieved from FileEntry: /lib/modules/3.19.0-15-generic/build/include
2015-04-27T11:04:06.185+02:00| vthread-4| I120: Update kernel header path to /lib/modules/3.19.0-15-generic/build/include
2015-04-27T11:04:06.185+02:00| vthread-4| I120: Validating path "/lib/modules/3.19.0-15-generic/build/include" for kernel release "3.19.0-15-generic".
2015-04-27T11:04:06.185+02:00| vthread-4| I120: Failed to find /lib/modules/3.19.0-15-generic/build/include/linux/version.h
2015-04-27T11:04:06.185+02:00| vthread-4| I120: /lib/modules/3.19.0-15-generic/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
2015-04-27T11:04:06.185+02:00| vthread-4| I120: using /usr/bin/gcc-4.9 for preprocess check
2015-04-27T11:04:06.190+02:00| vthread-4| I120: Preprocessed UTS_RELEASE, got value "3.19.0-15-generic".
2015-04-27T11:04:06.190+02:00| vthread-4| I120: The header path "/lib/modules/3.19.0-15-generic/build/include" for the kernel "3.19.0-15-generic" is valid. Whoohoo!
2015-04-27T11:04:06.191+02:00| vthread-4| I120: Found compiler at "/usr/bin/gcc"
2015-04-27T11:04:06.194+02:00| vthread-4| I120: Got gcc version "4.9.2".
2015-04-27T11:04:06.194+02:00| vthread-4| I120: The GCC version matches the kernel GCC minor version like a glove.
2015-04-27T11:04:06.194+02:00| vthread-4| I120: Using user supplied compiler "/usr/bin/gcc".
2015-04-27T11:04:06.196+02:00| vthread-4| I120: Got gcc version "4.9.2".
2015-04-27T11:04:06.196+02:00| vthread-4| I120: The GCC version matches the kernel GCC minor version like a glove.
2015-04-27T11:04:06.200+02:00| vthread-4| I120: Trying to find a suitable PBM set for kernel "3.19.0-15-generic".
2015-04-27T11:04:06.200+02:00| vthread-4| I120: No matching PBM set was found for kernel "3.19.0-15-generic".
2015-04-27T11:04:06.200+02:00| vthread-4| I120: The GCC version matches the kernel GCC minor version like a glove.
2015-04-27T11:04:06.200+02:00| vthread-4| I120: Validating path "/lib/modules/3.19.0-15-generic/build/include" for kernel release "3.19.0-15-generic".
2015-04-27T11:04:06.200+02:00| vthread-4| I120: Failed to find /lib/modules/3.19.0-15-generic/build/include/linux/version.h
2015-04-27T11:04:06.200+02:00| vthread-4| I120: /lib/modules/3.19.0-15-generic/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
2015-04-27T11:04:06.200+02:00| vthread-4| I120: using /usr/bin/gcc-4.9 for preprocess check
2015-04-27T11:04:06.206+02:00| vthread-4| I120: Preprocessed UTS_RELEASE, got value "3.19.0-15-generic".
2015-04-27T11:04:06.206+02:00| vthread-4| I120: The header path "/lib/modules/3.19.0-15-generic/build/include" for the kernel "3.19.0-15-generic" is valid. Whoohoo!
2015-04-27T11:04:06.212+02:00| vthread-4| I120: The GCC version matches the kernel GCC minor version like a glove.
2015-04-27T11:04:06.212+02:00| vthread-4| I120: Validating path "/lib/modules/3.19.0-15-generic/build/include" for kernel release "3.19.0-15-generic".
2015-04-27T11:04:06.212+02:00| vthread-4| I120: Failed to find /lib/modules/3.19.0-15-generic/build/include/linux/version.h
2015-04-27T11:04:06.212+02:00| vthread-4| I120: /lib/modules/3.19.0-15-generic/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
2015-04-27T11:04:06.212+02:00| vthread-4| I120: using /usr/bin/gcc-4.9 for preprocess check
2015-04-27T11:04:06.218+02:00| vthread-4| I120: Preprocessed UTS_RELEASE, got value "3.19.0-15-generic".
2015-04-27T11:04:06.218+02:00| vthread-4| I120: The header path "/lib/modules/3.19.0-15-generic/build/include" for the kernel "3.19.0-15-generic" is valid. Whoohoo!
2015-04-27T11:04:06.218+02:00| vthread-4| I120: Using temp dir "/tmp".
2015-04-27T11:04:06.219+02:00| vthread-4| I120: Obtaining info using the running kernel.
2015-04-27T11:04:06.219+02:00| vthread-4| I120: Setting header path for 3.19.0-15-generic to "/lib/modules/3.19.0-15-generic/build/include".
2015-04-27T11:04:06.219+02:00| vthread-4| I120: Validating path "/lib/modules/3.19.0-15-generic/build/include" for kernel release "3.19.0-15-generic".
2015-04-27T11:04:06.219+02:00| vthread-4| I120: Failed to find /lib/modules/3.19.0-15-generic/build/include/linux/version.h
2015-04-27T11:04:06.219+02:00| vthread-4| I120: /lib/modules/3.19.0-15-generic/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
2015-04-27T11:04:06.219+02:00| vthread-4| I120: using /usr/bin/gcc-4.9 for preprocess check
2015-04-27T11:04:06.226+02:00| vthread-4| I120: Preprocessed UTS_RELEASE, got value "3.19.0-15-generic".
2015-04-27T11:04:06.226+02:00| vthread-4| I120: The header path "/lib/modules/3.19.0-15-generic/build/include" for the kernel "3.19.0-15-generic" is valid. Whoohoo!
2015-04-27T11:04:06.369+02:00| vthread-4| I120: found symbol version file /lib/modules/3.19.0-15-generic/build/Module.symvers
2015-04-27T11:04:06.369+02:00| vthread-4| I120: Reading symbol versions from /lib/modules/3.19.0-15-generic/build/Module.symvers.
2015-04-27T11:04:06.389+02:00| vthread-4| I120: Read 18818 symbol versions
2015-04-27T11:04:06.389+02:00| vthread-4| I120: Invoking modinfo on "vmmon".
2015-04-27T11:04:06.392+02:00| vthread-4| I120: "/sbin/modinfo" exited with status 256.
2015-04-27T11:04:06.393+02:00| vthread-4| I120: Invoking modinfo on "vmnet".
2015-04-27T11:04:06.395+02:00| vthread-4| I120: "/sbin/modinfo" exited with status 256.
2015-04-27T11:04:06.712+02:00| vthread-4| I120: Setting destination path for vmmon to "/lib/modules/3.19.0-15-generic/misc/vmmon.ko".
2015-04-27T11:04:06.712+02:00| vthread-4| I120: Extracting the vmmon source from "/usr/lib/vmware/modules/source/vmmon.tar".
2015-04-27T11:04:06.720+02:00| vthread-4| I120: Successfully extracted the vmmon source.
2015-04-27T11:04:06.720+02:00| vthread-4| I120: Building module with command "/usr/bin/make -j4 -C /tmp/modconfig-L4pRC1/vmmon-only auto-build HEADER_DIR=/lib/modules/3.19.0-15-generic/build/include CC=/usr/bin/gcc IS_GCC_3=no"
2015-04-27T11:04:09.036+02:00| vthread-4| I120: Successfully built vmmon. Module is currently at "/tmp/modconfig-L4pRC1/vmmon.o".
2015-04-27T11:04:09.036+02:00| vthread-4| I120: Found the vmmon symvers file at "/tmp/modconfig-L4pRC1/vmmon-only/Module.symvers".
2015-04-27T11:04:09.036+02:00| vthread-4| I120: Installing vmmon from /tmp/modconfig-L4pRC1/vmmon.o to /lib/modules/3.19.0-15-generic/misc/vmmon.ko.
2015-04-27T11:04:09.036+02:00| vthread-4| I120: Registering file "/lib/modules/3.19.0-15-generic/misc/vmmon.ko".
2015-04-27T11:04:09.395+02:00| vthread-4| I120: "/usr/lib/vmware-installer/2.1.0/vmware-installer" exited with status 0.
2015-04-27T11:04:09.396+02:00| vthread-4| I120: Registering file "/usr/lib/vmware/symvers/vmmon-3.19.0-15-generic".
2015-04-27T11:04:09.659+02:00| vthread-4| I120: "/usr/lib/vmware-installer/2.1.0/vmware-installer" exited with status 0.
2015-04-27T11:04:09.662+02:00| vthread-4| I120: Setting destination path for vmnet to "/lib/modules/3.19.0-15-generic/misc/vmnet.ko".
2015-04-27T11:04:09.662+02:00| vthread-4| I120: Extracting the vmnet source from "/usr/lib/vmware/modules/source/vmnet.tar".
2015-04-27T11:04:09.668+02:00| vthread-4| I120: Successfully extracted the vmnet source.
2015-04-27T11:04:09.668+02:00| vthread-4| I120: Building module with command "/usr/bin/make -j4 -C /tmp/modconfig-L4pRC1/vmnet-only auto-build HEADER_DIR=/lib/modules/3.19.0-15-generic/build/include CC=/usr/bin/gcc IS_GCC_3=no"
2015-04-27T11:04:11.154+02:00| vthread-4| W110: Failed to build vmnet. Failed to execute the build command.
2015-04-27T11:04:15.548+02:00| vthread-4| I120: The GCC version matches the kernel GCC minor version like a glove.
2015-04-27T11:04:15.548+02:00| vthread-4| I120: Validating path "/lib/modules/3.19.0-15-generic/build/include" for kernel release "3.19.0-15-generic".
2015-04-27T11:04:15.548+02:00| vthread-4| I120: Failed to find /lib/modules/3.19.0-15-generic/build/include/linux/version.h
2015-04-27T11:04:15.548+02:00| vthread-4| I120: /lib/modules/3.19.0-15-generic/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
2015-04-27T11:04:15.548+02:00| vthread-4| I120: using /usr/bin/gcc-4.9 for preprocess check
2015-04-27T11:04:15.556+02:00| vthread-4| I120: Preprocessed UTS_RELEASE, got value "3.19.0-15-generic".
2015-04-27T11:04:15.556+02:00| vthread-4| I120: The header path "/lib/modules/3.19.0-15-generic/build/include" for the kernel "3.19.0-15-generic" is valid. Whoohoo!
2015-04-27T11:04:15.556+02:00| vthread-4| I120: Using temp dir "/tmp".
2015-04-27T11:04:15.556+02:00| vthread-4| I120: Obtaining info using the running kernel.
2015-04-27T11:04:15.556+02:00| vthread-4| I120: Setting header path for 3.19.0-15-generic to "/lib/modules/3.19.0-15-generic/build/include".
2015-04-27T11:04:15.556+02:00| vthread-4| I120: Validating path "/lib/modules/3.19.0-15-generic/build/include" for kernel release "3.19.0-15-generic".
2015-04-27T11:04:15.556+02:00| vthread-4| I120: Failed to find /lib/modules/3.19.0-15-generic/build/include/linux/version.h
2015-04-27T11:04:15.556+02:00| vthread-4| I120: /lib/modules/3.19.0-15-generic/build/include/linux/version.h not found, looking for generated/uapi/linux/version.h instead.
2015-04-27T11:04:15.556+02:00| vthread-4| I120: using /usr/bin/gcc-4.9 for preprocess check
2015-04-27T11:04:15.563+02:00| vthread-4| I120: Preprocessed UTS_RELEASE, got value "3.19.0-15-generic".
2015-04-27T11:04:15.563+02:00| vthread-4| I120: The header path "/lib/modules/3.19.0-15-generic/build/include" for the kernel "3.19.0-15-generic" is valid. Whoohoo!
2015-04-27T11:04:15.704+02:00| vthread-4| I120: found symbol version file /lib/modules/3.19.0-15-generic/build/Module.symvers
2015-04-27T11:04:15.704+02:00| vthread-4| I120: Reading symbol versions from /lib/modules/3.19.0-15-generic/build/Module.symvers.
2015-04-27T11:04:15.723+02:00| vthread-4| I120: Read 18818 symbol versions
2015-04-27T11:04:15.723+02:00| vthread-4| I120: Invoking modinfo on "vmmon".
2015-04-27T11:04:15.726+02:00| vthread-4| I120: "/sbin/modinfo" exited with status 0.
2015-04-27T11:04:15.726+02:00| vthread-4| I120: Invoking modinfo on "vmnet".
2015-04-27T11:04:15.729+02:00| vthread-4| I120: "/sbin/modinfo" exited with status 256.
2015-04-27T11:04:16.102+02:00| vthread-4| I120: Setting destination path for vmnet to "/lib/modules/3.19.0-15-generic/misc/vmnet.ko".
2015-04-27T11:04:16.102+02:00| vthread-4| I120: Extracting the vmnet source from "/usr/lib/vmware/modules/source/vmnet.tar".
2015-04-27T11:04:16.108+02:00| vthread-4| I120: Successfully extracted the vmnet source.
2015-04-27T11:04:16.108+02:00| vthread-4| I120: Building module with command "/usr/bin/make -j4 -C /tmp/modconfig-Qyn6o4/vmnet-only auto-build HEADER_DIR=/lib/modules/3.19.0-15-generic/build/include CC=/usr/bin/gcc IS_GCC_3=no"
2015-04-27T11:04:17.563+02:00| vthread-4| W110: Failed to build vmnet. Failed to execute the build command.
javi@trabajo:~/Downloads$

Bien, volvemos a tiempos de aplicar parches y recetas para instalar vmnet en kernels modernos. Así que volvemos a tiempos de proporcionar soluciones para instalar VMware Workstation 11 en Kernels Linux 3.19 y superiores:

  • Descomprimimos el parche con gunzip y lo movemos a /tmp/ por ejemplo
    javi@trabajo:~/Downloads$ wget -O /tmp/vmnet-3.19.patch.gz 'https://javierin.com/wp-content/uploads/sites/2/2015/04/vmnet-3.19.patch_.gz'; cd /tmp/; gunzip vmnet-3.19.patch.gz
  • Vamos al directorio de codigo fuente de los modulos de VMware Workstation 11 y hacemos un backup de lo que vamos a modificar con el parche.
    cd /usr/lib/vmware/modules/source && sudo cp vmnet.tar vmnet.tar.original
  • Descomprimimos el fuente del modulo vmnet para poder parchearlo
    sudo tar -xf vmnet.tar
  • Aplicamos el parche que nos hemos bajado al principio
    sudo patch -p0 -i /tmp/vmnet-3.19.patch
  • Re-empaquetamos todo para que el instalador de modulos de VMware pueda procesar el codigo fuente parcheado.
    sudo tar -cf vmnet.tar vmnet-only
  • Borramos el directorio donde hemos trabajado
    rm -r *-only
  • Ejecutamos de nuevo el instalador de modulos de VMware Workstation 11 en nuestra maquina con kernel 3.19+
    sudo vmware-modconfig --console --install-all

Esta solucion viene gracias a ArchLinux Wiki

A %d blogueros les gusta esto: