I've managed to 'hack' up a workaround for 2.6.20 kernels that seems to work for me with the latest Fedora Core development kernels.
The following patch to vmmon-only/include/compat_kernel.h 'ifdefs away' the definition of _syscall1(). \[I first tried including 'int' type specifiers in the template, but got complaints that _syscall1() was 'static and unused'.]
I'm not sure if this is really correct, so your mileage may vary. Would appreciate comments from those who know better and who can provide a better fix!
Notice that the comparison is 'strictly less than' to cover Fedora's numbering policy. For non-Fedora systems, probably better to make the comparison 'less than or equal'.
tom
\--- compat_kernel.h 2006-11-13 13:06:18.000000000 -0800
\+++ ../../vmmon-only.20/include/compat_kernel.h 2006-12-22 07:02:59.000000000 -0800
@@ -18,7 +18,9 @@
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, compatexit, int, exit_code);
+#endif
/*
Message was edited by:
RDPetruska
Used code tags to keep important whitespace in the patch file.
I tried this for my Ubuntu Feisty 2.6.20-2-lowlatency kernel and it seems to work fine. I just commented out the
static inline syscall1(int, compatexit, int, exit_code);
statement.
You have to change the file /usr/lib/vmware/modules/source/vmmon.tar to rw, then extract the file vmmon-only/include/compat_kernel.h, edit it and then put it back in the vmmon.tar file, then run vmware-config.pl
This patch also seems to work with VMware Workstation 6.0 beta, but there is a second problem
in the vmblock module:
/tmp/vmware-config0/vmblock-only/linux/super.c: In function SuperOpAllocInode:
/tmp/vmware-config0/vmblock-only/linux/super.c:69: error: SLAB_KERNEL undeclared (first use in this function)
SLAB_KERNEL is not defined anymore in the latest linux kernels. It has to be replaced with
GFP_KERNEL. Also kmem_cache_t is deprecated and can be replaced with kmem_cache.
The latter currently only gives a warning.
For patching vmblock, you have to untar usr/lib/vmware/modules/source/vmblock.tar,
edit vmblock-only/linux/super.c and tar it again, then run vmware-config.pl
Hi cslmu,
Thanks for your update you posted in the Workstation 6 beta forum
I just tried this fix with the newly released kernel 2.6.20 and VMWare Player 1.0.3 and it worked perfectly ... Thank you!
vanilla 2.6.20
config.pl after updating vmmon.tar
.
.
.
make[1]: Leaving directory `/home/compi/work/external/linux-2.6.20'
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory `/tmp/vmware-config4/vmmon-only'
Unable to make a vmmon module that can be loaded in the running kernel:
insmod: error inserting '/tmp/vmware-config4/vmmon.o': -1 Unknown symbol in module
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.
For more information on how to troubleshoot module-related problems, please
visit our Web site at "http://www.vmware.com/download/modules/modules.html" and
"http://www.vmware.com/support/reference/linux/prebuilt_modules_linux.html".
Execution aborted.
dmesg | tail output:
\[ 6860.850441] vmmon: module license 'unspecified' taints kernel.
\[ 6860.850865] vmmon: Unknown symbol paravirt_ops
\[ 6860.858171] vmmon: Unknown symbol paravirt_ops
\[ 6939.299576] vmmon: Unknown symbol paravirt_ops
\[ 8225.499845] vmmon: Unknown symbol paravirt_ops
\[ 8225.503837] vmmon: Unknown symbol paravirt_ops
\[ 8470.737513] vmmon: Unknown symbol paravirt_ops
\[ 8616.049167] vmmon: Unknown symbol paravirt_ops
\[ 8616.059930] vmmon: Unknown symbol paravirt_ops
any ideas?
thanks
It's working also on debian sarge with the same kernel.
-
The module loads perfectly in the running kernel.----
Thanks a lot!
Has anyone actually tried vmware-any-any-update107.tar.gz ?
Hi, I just tried vmware-any-any-update108.tar.gz (released yesterday), and it worked fine for me. Kernel is vanilla 2.6.20; now vmware is running perfectly again.
yeah, I used the 108 any-any patch and it works now
step 1. make sure its a clean install of vmware
step 2. cd vmware-distrib/ && ./vmware-install.pl - DO NOT RUN vmware-config.pl
step 3. cd vmware-any-any-update108/ && ./runme.pl - say yes to running vmware-config.pl
step 4. Virtualise!
Patch 108 was just released the other day from Petr
i don't get this at all
i don't get this at all
May be you could explain your self in more detail. what is it that you do not understand?
Briljant!
Works for vmware server 1.0.2 on Fedora core 6 with the latest 2.6.20 kernel.
Worked for me FC6 on 2.6.20 kernal VMWARE 5.5.3.....Thanks...
I had an older install that I had patched manually to get working and all I had to do was:
1: download the VMware-server-1.0.2-39867.i386.rpm
2: click on it to upgrade vmware.
3: download and extract the vmware-any-any-update108.tar.gz package
4: cd into the resulting vmware-any-any-update108 directory and ./runme.pl
5: follow the prompts and get running.
Also work perfectly on Zenwalk 4.4 and Slackware 11 with new kernel 2.6.20
I have got FC6 with the kernel of 2.6.20-1.2933.fc6-i686. When I run runme.pl I will get this message:
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/vmware-config7/vmmon-only/vmmon.mod.o
LD /tmp/vmware-config7/vmmon-only/vmmon.ko
make[1]: Leaving directory `/usr/src/kernels/2.6.20-1.2933.fc6-i686'
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory `/tmp/vmware-config7/vmmon-only'
Unable to make a vmmon module that can be loaded in the running kernel:
insmod: error inserting '/tmp/vmware-config7/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.
What can I do ? Help me please. I have got (updated) the last version of everything.
Hi everybody.
I have success!!!
Be careful. " yum update " offers the different architectures of RPM for kernel and kernel-headers. Before I have got this wrong combinations (586 and 686). It is better to download these RPMs of the same architecture and run
rpm -Uvh file.rpm
Now I have done:
kernel-2.6.20-1.2933.fc6.i686.rpm
kernel-devel-2.6.20-1.2933.fc6.i686.rpm
kernel-headers-2.6.20-1.2933.fc6.i386.rpm
gcc-4.1.1-51.fc6
gcc-c++-4.1.1-51.fc6
vmware-any-any-update108
Installation and compilation of VMware-server have ran with success. You have to watch console or /var/log/messages for any messages when you work over telnet.
Now I want to install some VMs. They will perhaps run OK.
By