今天查看Linux Kernel modules,忽然发现/lib/modules下面有一个旧内核的目录,好奇之下进去看看,结果有了新发现,里面还有一些残存的配置,从名称看来应该是VMWare相关的,难不成是当初安装的时候,安装程序放的一些共享库在kernel modules目录中的?看看 新内核的module目录,什么都没有 :
|
念及*NIX的好处,直接mv过去好了,应该可以直接用吧?!
|
但是这样运行vmware的网络服务却不成功,提示说:
|
运行vmware-config.pl又出来这个错误提示:
|
原来是build modules的时候出现了错误!
要解决此问题,需要修改VMWare的module source,所有的source都是一个tar文件:
|
修改内容如下,即把第21行的代码给注释掉后,把此文件再写回原来的vmmon.tar档案中:
|
这个做完以后,就可以再次运行vmware-config.pl去编译生成kernel modules了!
*** 补遗 ***
后来在论坛闲逛的时候,看到了更好的解决办法,我的手法有些暴力+粗糙了!
修改如下(原来是VMWare与2.6.19之后的内核有不兼容的地方):
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
static inline _syscall1(int, compat_exit, int, exit_code);
#endif