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