Es posible que si alguien ha actualizado alguna máquina con Ubuntu en la que ejecute VMware Workstation 7.1, se haya encontrado problemas al recompilar los módulos para el kernel 2.6.35. Si bien esto se soluciona actualizando a VMware 7.1.3, no todo el mundo está dispuesto a bajarse una actualización que es realmente un instalador completo de VMware Workstation y ocupa unos 400-500 MB.

Para aquellos que estén en el grupo partidario de no actualizar VMware Workstation 7.1 a la ultima versión, aqui va esta entrada:

Situación:
Hemos actualizado el host a Ubuntu 10.10 Maverick Merkaat y queremos actualizar los módulos del kernel para poder ejecutar nuestra máquina. Para ello ejecutamos vmware-modconfig --install-all pero nos encontramos con el siguiente panorama:

root@hostname:~# vmware-modconfig --install-all
Stopping VMware services:
   VMware USB Arbitrator                                               done
   VM communication interface socket family                            done
   Virtual machine communication interface                             done
   Virtual machine monitor                                             done
   Blocking file system                                                done
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-root/modules/vmmon-only'
make -C /lib/modules/2.6.35-23-server/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. 
          MODULEBUILDDIR= modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.35-23-server'
  CC [M]  /tmp/vmware-root/modules/vmmon-only/linux/driver.o
  CC [M]  /tmp/vmware-root/modules/vmmon-only/linux/driverLog.o
  CC [M]  /tmp/vmware-root/modules/vmmon-only/linux/hostif.o
/tmp/vmware-root/modules/vmmon-only/linux/hostif.c: In function âHostIFReadUptimeWorkâ:
/tmp/vmware-root/modules/vmmon-only/linux/hostif.c:2004: warning: ânewUpBaseâ may be used uninitialized in this function
  CC [M]  /tmp/vmware-root/modules/vmmon-only/linux/iommu.o
/tmp/vmware-root/modules/vmmon-only/linux/iommu.c: In function âIOMMU_SetupMMUâ:
/tmp/vmware-root/modules/vmmon-only/linux/iommu.c:156: error: implicit declaration of function âiommu_map_rangeâ
/tmp/vmware-root/modules/vmmon-only/linux/iommu.c: In function âIOMMU_VMCleanupâ:
/tmp/vmware-root/modules/vmmon-only/linux/iommu.c:403: error: implicit declaration of function âiommu_unmap_rangeâ
make[2]: *** [/tmp/vmware-root/modules/vmmon-only/linux/iommu.o] Error 1
make[1]: *** [_module_/tmp/vmware-root/modules/vmmon-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.35-23-server'
make: *** [vmmon.ko] Error 2
make: Leaving directory `/tmp/vmware-root/modules/vmmon-only'
Unable to install vmmon

Nos descargamos en un directorio temporal este Parche para ejecutar VMware Workstation 7.1 en Ubuntu 10.10 Maverick Merkaat

Ejecutamos el apply-patch.sh. Su contenido es este:

#!/bin/bash

timestamp=`date +%Y%m%d-%H%M%S`
if [ `whoami` != "root" ]
then
  echo "This need to be run as root"
  exit 1
fi

for mod in vsock vmmon
do
  SRC="/usr/lib/vmware/modules/source/${mod}.tar"
  cp ${SRC} ${SRC}-${timestamp}
  tar -xf ${SRC}
  cd ${mod}-only
  patch -p1 < ../${mod}-2.6.35.diff
  res=$?
  cd ..
  if [ $res -ne 0 ]
  then
    echo "[${mod}-only] Failed to apply patch"
    rm -rf ${mod}-only
    exit 1
  else
    echo "[${mod}-only] Patch applied successfully"
  fi

  tar cf ${mod}.tar ${mod}-only
  cp ${mod}.tar ${SRC}
  rm -rf ${mod}.tar ${mod}-only
done
root@hostname:/var/tmp/vmware-patch/vmware-7.1-ubuntu10.10-patch# ./apply_patch.sh
patching file linux/af_vsock.c
patching file shared/compat_sock.h
[vsock-only] Patch applied successfully
patching file include/compat_pci.h
[vmmon-only] Patch applied successfully

Este parche ha sido probado en VMware Workstation 7.1.0 build 261024 VMware Workstation 7.1.2 build 301548 en Ubuntu 10.10 con kernel 2.6.35-22 y 2.6.35-23-server

Esto me lo encontre en debuntu.org