Chinaunix首页 | 论坛 | 博客
  • 博客访问: 590226
  • 博文数量: 155
  • 博客积分: 7055
  • 博客等级: 少将
  • 技术积分: 1700
  • 用 户 组: 普通用户
  • 注册时间: 2004-11-22 11:40
文章分类

全部博文(155)

文章存档

2016年(1)

2011年(2)

2010年(1)

2009年(2)

2008年(9)

2007年(39)

2006年(58)

2005年(38)

2004年(5)

我的朋友

分类: LINUX

2009-04-21 22:50:20

结论,建议在vmware网站上下载最新版本,或者说不是太旧的版本来安装。

我就是因为给ubuntu划分的空间比较小,最先下载了5.0.0版本(六十几M),安装时出现许多问题,解决这些问题心力交瘁,并且最后没能完全解决。

尔后下载了5.5.9(100M),安装出现一些问题,但相对较少。最终安装成功。

但是仍需要找到一个vmnet.tar包替换安装程序中对应版本。

文件:vmnet.tar
大小:510KB
下载:下载

其它的版本6以上没有下载,大小在300M左右。


---安装记录----------------------------------

vmware-5.5.0(VMware-workstation-5.0.0-13124.tar.gz) 68M on ubuntu 7.10


None of the pre-built vmmon modules for VMware Workstation is suitable for your running kernel.  Do you want this program to try to build the vmmon module for your system (you need to have a C compiler installed on your system)? [yes] yes
----------------
The path "/usr/src/linux" is an existing directory, but it does not contain at least one of these directories "linux", "asm", "net" as expected.
A:There are two methods - slow but simpler:

cd /usr/src/linux  //install linux-source package
make cloneconfig //oldconfig
make modules_prepare //make
vmware-config.pl

And faster, but more complicated:

open /usr/bin/vmware-config-tools.pl in text editor, and remove code which tests for existence of asm/page.h and these 3 subdirectories, as described in marcinz's posts in URL above. Then run vmware-config-tools.pl. It should then offer /lib/modules/2.6.11-4-20a/build/include as default, and it should nicely work.
----------------
What is the location of the directory of C header files that match your running
kernel? [/usr/src/linux/include]

The directory of kernel headers (version @@VMWARE@@ UTS_RELEASE) does not match
your running kernel (version 2.6.22-14-generic).  Even if the module were to
compile successfully, it would not load into the running kernel.

A: modify the version.h file in include/linux/ directory:
 add this line

#define UTS_RELEASE "2.6.18"
#define UTS_RELEASE "2.6.22-14-generic" //exact version

---------------
  WARNING: Symbol version dump /usr/src/linux-source-2.6.22/Module.symvers
           is missing; modules will have no dependencies and modversions.

A: For what its worth, Module.symvers is created for you when you compile wlan_ng. You just need to copy it to(from?) /lib/modules/xxxxx/build.

------------
CC [M]  /tmp/vmware-config1/vmmon-only/linux/driver.o
In file included from /tmp/vmware-config1/vmmon-only/linux/driver.c:85:
/tmp/vmware-config1/vmmon-only/./include/compat_kernel.h:21: error: expected declaration specifiers or ‘...’ before ‘compat_exit’
/tmp/vmware-config1/vmmon-only/./include/compat_kernel.h:21: error: expected declaration specifiers or ‘...’ before ‘exit_code’
/tmp/vmware-config1/vmmon-only/./include/compat_kernel.h:21: warning: type defaults to ‘int’ in declaration of ‘_syscall1’
make[2]: *** [/tmp/vmware-config1/vmmon-only/linux/driver.o] Error 1
make[1]: *** [_module_/tmp/vmware-config1/vmmon-only] Error 2

A:# change dir to the installer directory, and enter /lib/modules/source

tar xvf vmmon.tar

# edit the file vmmon-only/include/compat_kernel.h, add the following preprocessor statements

/*
 * compat_exit() provides an access to the exit() function. It must
 * be named compat_exit(), as exit() (with different signature) is
 * provided by x86-64, arm and other (but not by i386).
 */
#define __NR_compat_exit __NR_exit
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19)
static inline _syscall1(int, compat_exit, int, exit_code);
#endif

# tar back the file

mv vmmon.tar vmmon.orig.tar
tar cvf vmmon.tar vmmon-only
----------------------
/tmp/vmware-config3/vmnet-only/driver.c: 在函数 ‘VNetProcessOwnsPort’ 中:
/tmp/vmware-config3/vmnet-only/driver.c:1698: 错误: ‘struct files_struct’ 没有名为 ‘max_fds’ 的成员

A:if this is correct rebuilding a kernel for i486 should do the trick.
---------------
make: Leaving directory `/tmp/vmware-config6/vmmon-only'
Unable to make a vmmon module that can be loaded in the running kernel:
insmod: error inserting '/tmp/vmware-config6/vmmon.o': -1 Invalid module format
There is probably a slight difference in the kernel configuration between the
set of C header files you specified and your running kernel.  You may want to
rebuild a kernel based on that directory, or specify another directory.
A:???
so run vmware-uninstall.pl  && download 5.5.9 version

==============以下为VM 5.5.9
What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.22-14-generic/build/include]
In file included from /tmp/vmware-config8/vmmon-only/linux/driver.c:80:
/tmp/vmware-config8/vmmon-only/./include/compat_kernel.h:21: 错误: expected declaration specifiers or ‘...’ before ‘compat_exit’
/tmp/vmware-config8/vmmon-only/./include/compat_kernel.h:21: 错误: expected declaration specifiers or ‘...’ before ‘exit_code’

A.same.
but 如果你不是从头从头运行 vmware-install.pl 而是运行 vmware-config.pl
需要修改的文件在:/usr/lib/vmware/modules/source/vmmon.tar。
=============
make[1]: Leaving directory `/usr/src/linux-headers-2.6.22-14-generic'
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory `/tmp/vmware-config12/vmmon-only'
The module loads perfectly in the running kernel.

The following bridged networks have been defined:

. vmnet0 is bridged to eth0

Do you wish to configure another bridged network? (yes/no) [no]

Do you want to be able to use NAT networking in your virtual machines? (yes/no)
[yes]

Configuring a NAT network for vmnet8.

Do you want this program to probe for an unused private subnet? (yes/no/help)
[yes]

Probing for an unused private subnet (this can take some time)...

The subnet 192.168.56.0/255.255.255.0 appears to be unused.

The following host-only networks have been defined:

. vmnet1 is a host-only network on private subnet 172.16.202.0.

untar the "/usr/lib/vmware/modules/source/vmnet.tar" file in the
"/tmp/vmware-config12" directory.
/tmp/vmware-config12/vmnet-only/userif.c: 在函数 ‘VNetCopyDatagramToUser’ 中:
/tmp/vmware-config12/vmnet-only/userif.c:630: 错误: ‘const struct sk_buff’ 没有名为 ‘h’ 的成员
/tmp/vmware-config12/vmnet-only/userif.c:630: 错误: ‘const struct sk_buff’ 没有名为 ‘nh’ 的成员
/tmp/vmware-config12/vmnet-only/userif.c:636: 错误: ‘const struct sk_buff’ 没有名为 ‘h’ 的成员

A: 下载到(这个下载地址很难找,很多已失效)
/usr/lib/vmware/modules/source/vmnet.tar。再运行vmware-config.pl
===================
cp -f vmnet.ko ./../vmnet.o
make: Leaving directory `/tmp/vmware-config13/vmnet-only'
The module loads perfectly in the running kernel.

Starting VMware services:
   Virtual machine monitor                                             done
   Virtual ethernet                                                    done
   Bridged networking on /dev/vmnet0                                   done
   Host-only networking on /dev/vmnet1 (background)                    done
   Host-only networking on /dev/vmnet8 (background)                    done
   NAT service on /dev/vmnet8                                          done

The configuration of VMware Workstation 5.5.9 build-126128 for Linux for this
running kernel completed successfully.

You can now run VMware Workstation by invoking the following command:
"/usr/bin/vmware".

=====VMware Workstation 5 for Linux serial number=====
DA925-HP80U-Z8HDC-4WXXP
3KW2W-AYR2C-88M6F-4MDQ2


阅读(1436) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2009-07-29 23:31:56

good job!!