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