Since few kernels, vmware won't compile, or at least the vmnet driver won't compile.
CC [M] /tmp/vmware-root/modules/vmnet-only/driver.o /tmp/vmware-root/modules/vmnet-only/driver.c: In function ‘VNetFileOpUnlockedIoctl’: /tmp/vmware-root/modules/vmnet-only/driver.c:1137: error: implicit declaration of function ‘lock_kernel’ /tmp/vmware-root/modules/vmnet-only/driver.c:1139: error: implicit declaration of function ‘unlock_kernel’ make[4]: *** [/tmp/vmware-root/modules/vmnet-only/driver.o] Erreur 1 make[3]: *** [_module_/tmp/vmware-root/modules/vmnet-only] Erreur 2 make[2]: *** [sub-make] Erreur 2 make[1]: *** [all] Erreur 2 make[1]: quittant le répertoire « /usr/src/linux-headers-2.6.38-2-686-bigmem » make: *** [vmnet.ko] Erreur 2 make: quittant le répertoire « /tmp/vmware-root/modules/vmnet-only »
Fortunately, there is a patch for this !
diff -u vmnet-only//driver.c /usr/lib/vmware/modules/source/vmnet-only//driver.c --- vmnet-only//driver.c 2011-03-26 01:37:29.000000000 -0400 +++ /usr/lib/vmware/modules/source/vmnet-only//driver.c 2011-05-05 10:36:11.918545812 -0400 @@ -264,11 +264,11 @@ struct file * filp) // IN: { int ret = -ENOTTY; - lock_kernel(); + lock_flocks(); if (filp && filp->f_op && filp->f_op->ioctl == VNetFileOpIoctl) { ret = VNetFileOpIoctl(filp->f_dentry->d_inode, filp, iocmd, ioarg); } - unlock_kernel(); + unlock_flocks(); return ret; } @@ -1134,9 +1134,9 @@ if (filp && filp->f_dentry) { inode = filp->f_dentry->d_inode; } - lock_kernel(); + lock_flocks(); err = VNetFileOpIoctl(inode, filp, iocmd, ioarg); - unlock_kernel(); + unlock_flocks(); return err; } #endif
Patch found on http://communities.vmware.com/message/1749211#1749211.
Here is the archive to extract in /usr/lib/vmware/modules/source
. bunzip2
the file, it's final name must be vmnet.tar (do not extract the data from the tar file)
1 De gendren -
it works!! thank you