When trying to install the VMware Tools for Debian Lenny, I get the following error:
These build errors only occur for the vmmemctl-only module, not for the other modules contained in the VMware Tools package. What steps do I need to take to let the vmmemctl module build correctly?
Fedora 9 is on 2.6.26 (2.6.26.5-45). The newer vmware tools from vmware server 2.0.0 builds fine on that, have you tried upgrading your tools?
I saw something similar with Fedora 9. VMwareTools 3.5.0-110271 (from ESXi) gives several compile errors, but 2.0.0-116503 (from VMware server 2.0) compiled just fine. I'd suggest trying the vmware tools from server 2.0, if you haven't already?
I haven't tried that. I'm on something about missing the 'gettext' package, I'll install this package and try the build again.
It seems that the 2.6.26 kernel is missing the 'get_info' method alltogether...
Fedora 9 is on 2.6.26 (2.6.26.5-45). The newer vmware tools from vmware server 2.0.0 builds fine on that, have you tried upgrading your tools?
Using the VMware Tools (116503) from VMware Server 2 did the trick! Thanks!
I am having similar problems; in this case I can't get mouse integration working so that the cursor can move out of the virtual machine window and onto my Mac without hitting the release keys. Perhaps the problem is also the tools that come with VMware Fusion 2. I have downloaded VMware Server, but how do I get the tools from it? Do I have to install the whole Server to get these?
I've downloaded the linux .tar.gz package, as it is the simplest way to extract the needed linux.iso file.The file can be found atvmware-server-distrib/lib/isoimages/linux.iso. Extract the file, and mount it inside your VM as you would do with usual ISO's.Do not use 'Install/Upgrade VMware Tools', as this will mount the original version.
I've also made a blogpost about it, read it here: http://www.virtuallifestyle.nl/2008/10/debian-lenny-vmware-tools/.
I have now tried the VMware server version of the tools, following your instructions, but no change. I even started from scratch with an earlier version of Lenny; the end result was the same. No matter what I do, the vsock module won't build properly (message suggests a slight mismatch of the kernel), and the cursor cannot be moved out of the VM without invoking a key combo first to release it. The one thing interesting that I notice in regard to the error message is that in Synaptic, the headers are labelled with the same number as my kernel but the version information suggests 2.6-26-8 rather than 2.6-26.1. I don't know why the version doesn't match, but maybe that's the problem. At any rate, this is well beyond my ability to figure out, so I will stop using Lenny in VMware Fusion until the problem gets solved.
With VMwareTools-3.5.0-95350.tar.gz and these kernel images installed:
ii linux-image-2.6-amd64 2.6.26+16 Linux 2.6 image on AMD64
ii linux-image-2.6.26-1-amd64 2.6.26-10 Linux 2.6.26 image on AMD64
It's quite simple to compile vmmemctl. Linux kernel kiddies are simply just enjoying their favourite past time, breaking
API backwards compatibility. This time with procfs:
Extract vmware-tools-distrib/lib/modules/source/vmmemctl-only/os.c : line 580:
- global_proc_entry->get_info = os_proc_read;
+ global_proc_entry->read_proc = os_proc_read;
I'm not quite sure wether that alone will fix the tools however. I recall patching the tools package earlier on quite a bit for it
to compile against 2.6.25, those patches may be needed in addition to above. I could take a look at what exactly I did,
but naturally I can't guarantee it'll really work and VMWare support are sure to drop every bit of "service" if you use hacked
drivers.
Kinda weird though that vmware continuously fails to do this patching themselves; only a few hours' job to fix the tools
and be sure it's done right if you have vmware tools API & internal docs.
Mommy, I want Xen.
umh, yeah, also need to comment out the tools' conflicting prototype for poll_initwait.
drop me a line to atte.peltomaki@iki.fi if you want me to throw you a readily created binary .deb or patches against the original sources or smth, in return
you could try to find out how much breakage they cause with ESX. right now I need a beer.
its work, http://linux.chinaunix.net/bbs/viewthread.php?action=printable&tid=1035170
attachment:
"vmmemctl.tar" from VMwareTools-3.5.0-123629.tar.gz with changes in os.c
"os.zip" only os.c from VMwareTools-3.5.0-123629.tar.gz
Message was edited by: Texiwill - source removed due to possible EULA issues. Contact me if they are opensource.
Hello,
Also check out using opensource tools as a Merged Tools configuration. BTW, please do not post VMware Tools source modules to this forum. It is not quite legal to do so unless they are part of the OpenSource Tools. A diff is fine.
Best regards,
Edward L. Haletky
VMware Communities User Moderator
====
Author of the book 'VMWare ESX Server in the Enterprise: Planning and Securing Virtualization Servers', Copyright 2008 Pearson Education.
Blue Gears and SearchVMware Pro Blogs: http://www.astroarch.com/wiki/index.php/Blog_Roll
Top Virtualization Security Links: http://www.astroarch.com/wiki/index.php/Top_Virtualization_Security_Links
Here's a patch against vmmemctl-only/os.c from VMwareTools-3.5.0-130756.tar.gz:
(EDIT: this funky web-bbs is breaking the patch so here's URL to it too:
http://kameli.org/vmmemctl-only-procfsfix.patch )
--- vmmemctl-only/os.c 2008-08-12 21:45:43.000000000 -0400
+++ vmmemctl-only/os.c 2009-02-20 08:05:56.000000000 -0500
@@ -202,7 +202,7 @@
#ifdef CONFIG_PROC_FS
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
-static int os_proc_read(char *, char **, off_t, int);
+static int os_proc_read(char *, char **, off_t, int, int *, void *);
static struct proc_dir_entry *global_proc_entry;
#else
static int os_proc_read(char *, char **, off_t, int, int);
@@ -529,9 +529,11 @@
#ifdef CONFIG_PROC_FS
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
static int os_proc_read(char *buf,
- char **start,
- off_t offset,
- int length)
+ char **start,
+ off_t offset,
+ int length,
+ int *eof,
+ void *data)
#else
static int os_proc_read(char *buf,
char **start,
@@ -587,7 +589,7 @@
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,0)
global_proc_entry = create_proc_entry("vmmemctl", S_IFREG | S_IRUGO, NULL);
if (global_proc_entry != NULL) {
- global_proc_entry->get_info = os_proc_read;
+ global_proc_entry->read_proc = os_proc_read;
}
#else
proc_register(&proc_root, &global_proc_entry);
With this, the tools compile cleanly against Lenny default kernel. vmdesched compiles without
patching.
Cheers,
Here's also some pointers for how to create a .deb package for the tools.
This works on a system that has had the vmware tools already installed,
so you need to repackage patched vmmemctl source into vmmemctl.tar and
run the installer. Or you can just copy the needed files manually.
The script is PSEUDO. You've been warned.
(EDIT: this script also gets broken by the bbs, so here's yet another link:
http://kameli.org/vmware-tools-debianization.txt )
mkdir vmware-tools-package-`uname -r`
cd vmware-tools-package-`uname -r`
mkdir -p etc/init.d
cp -a /etc/init.d/vmware-tools etc/init.d
mkdir -p etc/rc0.d
mkdir -p etc/rc2.d
mkdir -p etc/rc3.d
mkdir -p etc/rc5.d
mkdir -p etc/rc6.d
cp -a /etc/rc0.d/*vmware-tools ./etc/rc0.d
cp -a /etc/rc2.d/*vmware-tools ./etc/rc2.d
cp -a /etc/rc3.d/*vmware-tools ./etc/rc3.d
cp -a /etc/rc5.d/*vmware-tools ./etc/rc5.d
cp -a /etc/rc6.d/*vmware-tools ./etc/rc6.d
mkdir -p usr/lib/vmware-tools
cp -a /usr/lib/vmware-tools/* usr/lib/vmware-tools
mkdir -p usr/sbin
cp -a /usr/sbin/vmware-* usr/sbin
mkdir -p usr/share/doc/vmware-tools
cp -a /usr/share/doc/vmware-tools usr/share/doc/vmware-tools
mkdir -p lib/modules/`uname -r`/misc
cp -a /lib/modules/`uname -r`/misc/vm* lib/modules/`uname -r`/misc
mkdir DEBIAN
echo
"
Package: vmware-tools-package-2.6.26-1
Version: 2.6.26-1
Architecture: i386
Maintainer: Your Name <unixadmin@example.com>
Description: VMware ESX Tools for Linux 2.6.26-1
"
\> DEBIAN/control
echo
"
#!/bin/sh
#
vmxnet not needed for 64bit stuff. Enable for
i386 - vmxnet is good for you.
#
Update /etc/modules if neccessary
#data=\`grep vmxnet /etc/modules\` ; \
if test $? -ne 0 ; \
then echo \"vmxnet\" >> /etc/modules ; \
else exit 0; \
fi
Update initrd image
update-initramfs -u -k all
"
\> DEBIAN/postinst
chmod +x DEBIAN/postinst
cd ..
dpkg-deb -b vmware-tools-package-`uname -r`
Ironically, none of this is now necessary with the latest tools installed with VMware Fusion 2.02. All of the modules build correctly, and the only issue is that the mouse does not function properly (it is slow and won't move outside of the vm window without a key command). However, I got a fix for that in another forum. In /etc/X11/xorg.conf, go to the mouse section and add the following line after the device:
Option "CorePointer"
Save, log out and in, and everything now works!
Mac user with Linux tendencies
My patch is for ESX vmware tools version 130756. I don't know how different vmware products tools differ from each other and I rather not spend time finding out.
I'm also only using vmdesched, vmmemctl and for i386, vmxnet modules.
Btw. with kernel 2.6.26, vmdesched works with Lenny but doesn't work with Etch.