当前位置:Linux教程 - Linux文化 - 10步在fc6上安装vmware-tool

10步在fc6上安装vmware-tool


  在fc6上安装vmware-tool。大概步骤分10步:

1.安装c编译器

2.安装kernel-devel

3.检查kernel跟kernel-devel的版本号

4.两个版本号不一致,进行升级

5.再次检查版本号,还不一致,需要重启。

6.重启后,版本号一致。

7.用ls命令查看匹配kernel的c编译器的header的路径

8.安装vmware-tool

9.选择屏幕分辨率。

10.还要修改xorg config设置

详细请看下面::

1.安装c编译器

[root@localhost ~]# yum install gcc

2.安装kernel-devel

[root@localhost ~]# yum install kernel-devel

3.检查kernel跟kernel-devel的版本号

[root@localhost ~]# uname -r

2.6.18-1.2798.fc6

[root@localhost ~]# rpm -q kernel-devel

kernel-devel-2.6.18-1.2849.fc6

4.两个版本号不一致,进行升级

[root@localhost ~]# yum -y upgrade kernel kernel-devel

5.再次检查版本号,还不一致,需要重启。

[root@localhost ~]# uname -r

2.6.18-1.2798.fc6

[root@localhost ~]# rpm -q kernel-devel

kernel-devel-2.6.18-1.2849.fc6

[root@localhost ~]# reboot

6.重启后,版本号一致。

[root@localhost ~]# uname -r

2.6.18-1.2849.fc6

[root@localhost ~]# rpm -q kernel-devel

kernel-devel-2.6.18-1.2849.fc6

7.用ls命令查看匹配kernel的c编译器的header的路径

[root@localhost ~]# ls -d /usr/src/kernels/$(uname -r)*/include

/usr/src/kernels/2.6.18-1.2849.fc6-i686/include(记住该路径,安装vmware-tool时需要用到)

8.安装vmware-tool。先释放鼠标,在vmware中选择安装vmware-tool,进入fc6,打开光驱,拷贝VMware- workstation-5.5.2-29772.tar.gz,将其解压到任何位置。解压后,双击vmware-install.pl,选择在终端运行,然后一直按默认设置,一路按回车键。

9.直到该步骤,拷贝粘贴第7步的路径,然后一直按回车,直到选择屏幕分辨率。

What is the location of the directory of C header files that match your running

kernel? [/usr/src/kernels/2.6.18-1.2849.fc6-i686/include]

提示信息显示hgfs模块安装有问题,没关系,下一篇文章中解决。

10.到了该步骤,问你是否改变X-window的设置,选y,就可以改变分辨率。

Do you want to change your guest X resolution? (yes/no) [no] y

Please choose one of the following display sizes (1 - 13):

[1] "640x480"

[2]< "800x600"

[3] "1024x768"

[4] "1152x864"

[5] "1280x800"

[6] "1152x900"

[7] "1280x1024"

[8] "1376x1032"

[9] "1400x1050"

[10] "1680x1050"

[11] "1600x1200"

[12] "1920x1200"

[13] "2364x1773"

Please enter a number between 1 and 13:

[3]

还不行呢,再跟着下边的走吧!

I keep several Linux distributions running on VMware Workstation due to my work. Unfortunately, due to recent changes in the Linux kernel, you cannot properly compile the vmhgfs driver on Fedora Core 6. Fortunately, I have a workaround until VMware releases a proper fix.

First, go to /usr/lib/vmware-tools/modules/source and unpack vmhgfs.tar like this:

******************ggggggggggg************************

tar -xf vmhgfs.tar

********************************************************

Now you should have a new directory called vmhgfs-only. You need to get the following patch to make it work:

vmhgfs-i_node-fix.patch(http://home.sztoltzteixeira.com/vmhgfs-i_node-fix.patch)

To apply it, simply run:

patch -p1 < /wherever/you/saved/it/vmhgfs-i_node-fix.patch

This will patch vmhgfs-only/driver.c to conform with the kernel changes. Now you will have to repack it and reconfigure the VMware Tools. Simply run the following two commands:

tar -cf vmhgfs.tar vmhgfs-only

************************ggggggggggggggg*******************

run the command:

/usr/bin/vmware-config-tools.pl

**********************************************************

If all you want is to get the module compiled, you're all set. If you actually need to access a shared folder, then you should know that this workaround will not work while SELinux is enabled. If you want to use the files, you will have to disable SELinux by going to System -> Administration -> Security Level and Firewall. You will have to reboot, but after that, everything should work fine.

One more thing. If your host is Windows, you may notice that the files on the shared folders will appear as only accessible by root (they are in fact fully modifiable by everyone, but GNOME won't see it and this can be an annoyance.) If you want, the patch below will make all files appear with proper permissions (all permissions for everyone.) Apply it using the same steps used for the patch above.

vmhgfs-perm-fix.patch (http://home.sztoltzteixeira.com/vmhgfs-perm-fix.patch)

Now,all the ok.

下面是两个patch文件的内容:

1

diff -Naur vmhgfs-only/driver.c vmhgfs-only-new/driver.c

--- vmhgfs-only/driver.c 2006-08-04 14:25:52.000000000 -0300

+++ vmhgfs-only-new/driver.c 2006-10-28 15:26:14.000000000 -0300

@@ -41,8 +41,8 @@

#define HGFS_SB_TO_COMMON(sb) ((HgfsSuperInfo *)(sb)->s_fs_info)

#endif

-#define INODE_SET_II_P(inode, info) do { (inode)->u.generic_ip = (info); } while (0)

-#define INODE_GET_II_P(inode) ((HgfsInodeInfo *)(inode)->u.generic_ip)

+#define INODE_SET_II_P(inode, info) do { (inode)->i_private = (info); } while (0)

+#define INODE_GET_II_P(inode) ((HgfsInodeInfo *)(inode)->i_private)

/*

* 2.5.x kernels support nanoseconds timestamps.

@@ -760,7 +760,6 @@

inode->i_uid = 0; /* This is bogus, should be the mount owner. */

inode->i_gid = 0; /* This is bogus, should be the mount owner. */

inode->i_rdev = 0; /* Device nodes are not supported */

- inode->i_blksize = HGFS_BLOCKSIZE;

inode->i_blocks = (attr->size + HGFS_BLOCKSIZE - 1) / HGFS_BLOCKSIZE;

inode->i_size = attr->size;

HGFS_SET_TIME(inode->i_atime, attr->accessTime);

2

--- vmhgfs-only/driver.c 2006-10-28 15:26:14.000000000 -0300

+++ vmhgfs-only/driver.c-new 2006-10-28 15:34:07.000000000 -0300

@@ -755,7 +755,7 @@

/* Set the access mode. */

inode->i_mode &= ~S_IRWXUGO;

- inode->i_mode |= (attr->permissions i_mode |= attr->permissions * 0111; /* Only applies to owner. */

inode->i_nlink = 1; /* Bogus? */

inode->i_uid = 0; /* This is bogus, should be the mount owner. */

inode->i_gid = 0; /* This is bogus, should be the mount owner. */

最后修改xorg config设置,不然重启后会报X-WINDOWS出错。

进入/etc/X11/,用文本打开xorg.conf,加上以下几段:

1、Section "Monitor"

Identifier "vmware"

EndSection

Section "InputDevice"

Identifier "Mouse0"

Driver "vmmouse"

Option "Protocol" "Auto"

Option "Device" "/dev/input/mouse0"

EndSection

2、Section "Monitor"

Identifier "Monitor0"

ModelName "LCD Panel 1280x1024"

HorizSync 31.5 - 67.0

VertRefresh 50.0 - 75.0

Option "dpms"

EndSection

然后找到 含有"ServerLayout" 的section, 在Section跟EndSection之间加上以下一行。

InputDevice "Mouse0" "CorePointer"

上面的配置不一定行的,只是个参考。

这个是我的x11的配置文件:

# Xorg configuration created by system-config-display

Section "ServerLayout"

Identifier "single head configuration"

Screen 0 "Screen0" 0 0

InputDevice "Mouse0" "CorePointer"

InputDevice "Keyboard0" "CoreKeyboard"

EndSection

Section "InputDevice"

Identifier "Keyboard0"

Driver "kbd"

Option "XkbModel" "pc105"

Option "XkbLayout" "us"

EndSection

Section "InputDevice"

Identifier "Mouse0"

Driver "vmmouse"

Option "Protocol" "Auto"

Option "Device" "/dev/input/mouse0"

EndSection

Section "Monitor"

### Comment all HorizSync and VertSync values to use DDC:

### Comment all HorizSync and VertSync values to use DDC:

Identifier "vmware"

ModelName "LCD Panel 1280*1024"

### Comment all HorizSync and VertSync values to use DDC:

HorizSync 31.5 - 67.0

VertRefresh 50.0 - 75.0

Option "dpms"

EndSection

Section "Device"

Identifier "VMware SVGA"

Driver "vmware"

EndSection

Section "Screen"

# Don't specify DefaultColorDepth unless you know what you're

# doing. It will override the driver's preferences which can

# cause the X server not to run if the host doesn't support the

# depth.

Identifier "Screen0"

Device "VMware SVGA"

Monitor "vmware"

DefaultDepth 24

SubSection "Display"

# VGA mode: better left untouched

Viewport 0 0

Depth 4

Modes "640x480"

EndSubSection

SubSection "Display"

Viewport 0 0

Depth 8

Modes "1024x768"

EndSubSection

SubSection "Display"

Viewport 0 0

Depth 15

Modes "1024x768"

EndSubSection

SubSection "Display"

Viewport 0 0

Depth 16

Modes "1024x768"

EndSubSection

SubSection "Display"

Viewport 0 0

Depth 24

Modes "1024x768" "800x600" "640x480"

EndSubSection

EndSection