ºìÁªLinuxÃÅ»§
Linux°ïÖú

VMWare 6°²×°VMWare Tools for LinuxµÄÒ»¸öÎÊÌâ

·¢²¼Ê±¼ä:2008-08-28 20:50:50À´Ô´:ºìÁª×÷Õß:HonxeInc
ÔÚ VMWare Öа²×° Linux ²Ù×÷ϵͳ£¬×îºÃÔÚ×°ºÃºó°²×° VMWare Tools¡£ÆäºÃ´¦ÊÇ¿ÉÒÔ½Ó¹ÜÔËÐÐÓÚ VMWare ÖеIJÙ×÷ϵͳµÄһЩÉ豸Çý¶¯³ÌÐò£¬Ê¹Ö®¸üºÃµØÖ§³Ö VMWare ÌṩµÄ¸÷ÏÄÜ¡£±ÈÈ磬°²×° VMWare Tools Ö®ºó£¬Êó±ê¾Í¿ÉÒÔÔÚÐéÄâ»úºÍËÞÖ÷»úÖ®¼äƽ»¬Òƶ¯£¬¶øÎÞÐè°´ Ctrl+Alt ½øÐÐÇл»¡£°²×°µÄ·½·¨ºÜ¼òµ¥£¬ÔÚ VM ²Ëµ¥ÖÐÑ¡Ôñ¡°Install VMWare Tools¡±Ïî¼´¿É¡£ÆäʵÏֵĻúÖÆÊÇ£º½«ÐéÄâ»úµÄ¹âÇýÖеÄÄÚÈݸĻ»³ÉÒ»¸öº¬ÓÐ VMWare Tools °²×°ÎļþµÄ .iso Îļþ£¨¿ÉÒÔÔÚËÞÖ÷»ú VMWare °²×°Ä¿Â¼ÖÐÕÒµ½Îª²»Í¬²Ù×÷ϵͳԤ±¸µÄÕâ¸ö VMWare Tools ¡°°²×°¹âÅÌ¡±¾µÏñ£©¡£

È»¶ø£¬ÔÚа汾 VMWare Öа²×° Linux Ï嵀 VMWare Tools£¬È´Óöµ½Ò»Ð©ÎÊÌâ¡£¸üÈ·Çеأ¬ÊÇ 2.6.22 Äں˰汾£¬ÔÚ±àÒë¡°vmhgfs¡±Ä£¿éʱ³öÏÖÎÊÌâ¡£Õâ¸öÄ£¿éµÄ¹¦ÄÜÊÇΪÐéÄâ»úÌṩ¹²ÏíËÞÖ÷ÎļþϵͳµÄ¹¦ÄÜ¡£ÕâÏÄÜÔÊÐíÓû§ÔÚÐéÄâ»úÖÐÖ±½Ó¹ÒÔØËÞÖ÷ÎļþϵͳÖеÄij¸öĿ¼£¬²¢½øÐÐһЩ²Ù×÷¡£

±àÒëÄÚºËÄ£¿éʱµÄ´íÎóÈçÏ£º

ÒýÓÃ:
Trying to find a suitable vmhgfs module for your running kernel.

None of the pre-built vmhgfs modules for VMware Tools is suitable for your
running kernel. Do you want this program to try to build the vmhgfs module for
your system (you need to have a C compiler installed on your system)? [yes]
Extracting the sources of the vmhgfs module.

Building the vmhgfs module.

Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config2/vmhgfs-only'
make -C /lib/modules/2.6.22-14-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.22-14-generic'
CC [M] /tmp/vmware-config2/vmhgfs-only/backdoor.o
CC [M] /tmp/vmware-config2/vmhgfs-only/backdoorGcc32.o
CC [M] /tmp/vmware-config2/vmhgfs-only/bdhandler.o
CC [M] /tmp/vmware-config2/vmhgfs-only/cpName.o
CC [M] /tmp/vmware-config2/vmhgfs-only/cpNameLinux.o
CC [M] /tmp/vmware-config2/vmhgfs-only/cpNameLite.o
CC [M] /tmp/vmware-config2/vmhgfs-only/dbllnklst.o
CC [M] /tmp/vmware-config2/vmhgfs-only/dentry.o
CC [M] /tmp/vmware-config2/vmhgfs-only/dir.o
CC [M] /tmp/vmware-config2/vmhgfs-only/eventManager.o
CC [M] /tmp/vmware-config2/vmhgfs-only/file.o
CC [M] /tmp/vmware-config2/vmhgfs-only/filesystem.o
/tmp/vmware-config2/vmhgfs-only/filesystem.c: In function ¡®HgfsInitFileSystem¡¯:
/tmp/vmware-config2/vmhgfs-only/filesystem.c:582: error: too few arguments to function ¡®kmem_cache_create¡¯
/tmp/vmware-config2/vmhgfs-only/filesystem.c:593: error: too few arguments to function ¡®kmem_cache_create¡¯
make[2]: *** [/tmp/vmware-config2/vmhgfs-only/filesystem.o] Error 1
make[1]: *** [_module_/tmp/vmware-config2/vmhgfs-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.22-14-generic¡¯
make: *** [vmhgfs.ko] Error 2
make: Leaving directory `/tmp/vmware-config2/vmhgfs-only¡¯
Unable to build the vmhgfs module.

The filesystem driver (vmhgfs module) is used only for the shared folder
feature. The rest of the software provided by VMware Tools is designed to work
independently of this feature.
If you wish to have the shared folders feature, you can install the driver by
running vmware-config-tools.pl again after making sure that gcc, binutils, make
and the kernel sources for your running kernel are installed on your machine.
These packages are available on your distribution¡¯s installation CD.
[ Press Enter key to continue ]


¸ù¾ÝÉÏÃæÌáʾµÄ´íÎ󣬿ÉÒÔ·¢ÏÖ£¬ÊDZàÒëÆ÷ÔÚ±àÒëij¸öÎļþʱ·¢ÉúÓï·¨´íÎó¡£ÕâÖֵͼ¶µÄ´íÎó¾ÓÈ»»áÔÚ VMWare Õâ¸ö³ÉÊìµÄ²úÆ·Öз¢Éú£¿¸Ðµ½²»¿É˼Òé¡£ÓÚÊÇÕ¹¿ª vmware-tools-distrib/lib/module/source/vmhgfs.tar Îļþ£¬´ò¿ª filesystem.c£¬ÕÒµ½ 593 Ðи½½ü´úÂëÔÚµ÷Óú¯Êý£º

ÒýÓÃ:
hgfsInodeCache = compat_kmem_cache_create("hgfsInodeCache",
sizeof (HgfsInodeInfo),
0,
SLAB_HWCACHE_ALIGN,
HgfsInodeCacheCtor);


Õâ¶Î´úÂëµ÷Óõĺ¯Êý compat_kmem_cache_create ²¢·Ç Linux ±¾ÉíµÄ system call£¬¶øÊǾ­¹ýÒ»²ã¼æÈÝÐÔǶÌס£ºÜ¿ì¾ÍÄܹ»ÕÒµ½Õâ¸ö¶¨Ò壬ÔÚͬһ tar °üÖÐµÄ compat_slab.h ÎļþÖУ¬µ½ÓÐ¹ØÆ¬¶ÎÈçÏ£º

ÒýÓÃ:
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 22) || defined(VMW_KMEMCR_HAS_DTOR)
#define compat_kmem_cache_create(name, size, align, flags, ctor)
kmem_cache_create(name, size, align, flags, ctor, NULL)
#else
#define compat_kmem_cache_create(name, size, align, flags, ctor)
kmem_cache_create(name, size, align, flags, ctor)
#endif


Õâ¶Î´úÂëµÄÄ¿µÄÊÇ£¬¸ù¾Ý²»Í¬µÄ Linux Äں˰汾ѡÔñ²»Í¬µÄϵͳµ÷ÓÃÐÎʽ¡£¸ù¾Ý×¢ÊÍ£¬Òâ˼ÊÇ˵´Ó 2.6.23-pre1 °æ±¾µÄÄں˿ªÊ¼£¬ÏµÍ³µ÷Óà kmem_cache_create ½«ÉÙÁËÒ»¸ö²ÎÊý¡£¶ø¿ªÊ¼ËùÌáµ½µÄ´íÎóÇ¡ºÃÊÇÕâ¸öº¯Êýµ÷ÓóöÏÖ²ÎÊý²»¹»µÄÎÊÌâ¡£×Ðϸ·ÖÎöºó·¢ÏÖ£¬Ô­À´ 2.6.22 °æ±¾µÄÄÚºËÒ²±»µ±³ÉÁË 2.6.23 ÒÔºóµÄ´¦Àí°ì·¨£¬µ±È»²»¶ÔÁË£¡

½â¾ö·½·¨£º½«µÚ 26 ÐеÄ

ÒýÓÃ:
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 22) || defined(VMW_KMEMCR_HAS_DTOR)


¸ÄΪ

ÒýÓÃ:
#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 22) || defined(VMW_KMEMCR_HAS_DTOR)


ÖØÐ´ò°ü£¬Ö´Ðа²×°³ÌÐò£¬ÎÊÌâ¼´¿É½â¾ö¡£

½â¾öVMWare°²×°toolsºó/mnt/hgfsÀïÃæÊ²Ã´¶¼Ã»ÓеÄÎÊÌâ

ÒýÓÃ:
Bug fixed:

CC [M] /tmp/vmware-config3/vmhgfs-only/filesystem.o
/tmp/vmware-config3/vmhgfs-only/filesystem.c: En la funci¨®n ¡®HgfsInitFileSystem¡¯:
/tmp/vmware-config3/vmhgfs-only/filesystem.c:582: error: muy pocos argumentos para la funci¨®n ¡®kmem_cache_create¡¯
/tmp/vmware-config3/vmhgfs-only/filesystem.c:593: error: muy pocos argumentos para la funci¨®n ¡®kmem_cache_create¡¯
make[2]: *** [/tmp/vmware-config3/vmhgfs-only/filesystem.o] Error 1
make[1]: *** [_module_/tmp/vmware-config3/vmhgfs-only] Error 2
make[1]: se sale del directorio `/usr/src/linux-headers-2.6.22-14-generic'
make: *** [vmhgfs.ko] Error 2
make: se sale del directorio `/tmp/vmware-config3/vmhgfs-only'
Unable to build the vmhgfs module.


Software necesario
- sudo aptitude install build-essential linux-headers-$(uname -r)

vmwaretools
- cd /tmp
- tar -xzvf VMwareTools-6.0.2-59824.tar.gz
- cd vmware-tools-distrib/lib/modules/source
- cp vmhgfs.tar vmhgfs.tar.old
- tar xvf vmhgfs.tar
- cd vmhgfs-only
- chmod 644 compat_slab.h
- vi compat_slab.h
Search-> #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 22) || defined(VMW_KMEMCR_HAS_DTOR)
Fix-> #if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 22) || defined(VMW_KMEMCR_HAS_DTOR)
Save Chages
- chmod 444 compat_slab.h
- cd ..
- rm vmhgfs.tar
- tar cvf vmhgfs.tar vmhgfs-only
- cd /tmp/vmware-tools-distrib
- sudo ./vmware-install.pl

Enjoy!
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ