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:
- Descargamos el Parche vmnet VMware Workstation 11 kernel 3.19 Ubuntu 15.04
- 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