VMware Server 1.0.5 and Kernel 2.6.25
Linux kernel 2.6.25 has been released. As usual, I download it and try it out with my Dell Vostro 1400 laptop. The good news, this kernel support my Intel-HDA perfectly, there is no need to download and get the latest driver from ALSA (as I previously had). The bad news is, VMware does not work with this kernel.
After some searching at google, I manage to find a solution.
Step 1 – Download the Patches for VMware 1.0.5
Download the patches for VMware 1.0.5 from here (thanks to jondaley). Basically, the two patches for vmnet and vmmon.
Step 2 – Apply the Patches
Apply the patch file by copying the vmnet.tar and vmmon.tar from /usr/lib/vmware/modules/source directory to an empty directory. Decompress both files by running tar xvf vmnet.tar and tar xvf vmmon.tar. Two new directories should appear in this directory, they are respectively vmnet-only and vmmon-only Copy both of the downloaded patch files into this directory as well.
From here, do:
$> cd vmnet-only
$> patch -p1 < ../vmnet-2.6.25.patch
$> cd ../vmmon-only
$> patch -p1 < ../vmmon-2.6.25.patch
Both patches should patch correctly without warning. Create the tar files again by doing: “tar cvf vmnet.tar vmnet-only/” and “tar cvf vmmon.tar vmmon-only/” and overwrite the original files at /usr/lib/vmware/modules/source directory.
Step 3 – Rebuild VMware
Rebuild vmware by running the vmware-config.pl
NOTES:
- Make sure “Enable unused/obsolete exported symbols” must be selected under the “Kernel hacking” of the Linux Kernel configuration.
- This only works for Non-any-any-patch VMware. If VMware has been previously patched with any-any-patch, it needs to be reinstalled again. Don’t worry about the error message while reinstalling VMware, is expected, since it not patched yet. Just copy both tar files and follow the steps mentioned above



The patching did not work for me. I got a bunch of errors. Since Im quite new to linux I really have not clue what to do.
root@me:/home/me/# cd VM
root@me:/home/me/VM# ls
total 1.6M
4.0K vmmon-2.6.25.patch 1.1M vmmon.tar 2.0K vmnet-only
0 vmmon-only 8.0K vmnet-2.6.25.patch 521K vmnet.tar
root@me:/home/me/VM# cd vmnet-only/
root@me:/home/me/VM/vmnet-only# patch -p1 < ../vmnet-2.6.25.patch
patching file bridge.c
Hunk #1 succeeded at 106 (offset 4 lines).
patching file compat_wait.h
patching file driver.c
Hunk #1 FAILED at 516.
1 out of 1 hunk FAILED — saving rejects to file driver.c.rej
patching file Makefile.kernel
Hunk #1 FAILED at 7.
1 out of 1 hunk FAILED — saving rejects to file Makefile.kernel.rej
patching file netif.c
Hunk #1 FAILED at 295.
1 out of 1 hunk FAILED — saving rejects to file netif.c.rej
patching file sk_alloc.c
Hunk #1 succeeded at 8 with fuzz 2 (offset 4 lines).
Hunk #2 succeeded at 13 with fuzz 2.
patching file vm_basic_types.h
Hunk #1 succeeded at 163 (offset 9 lines).
Hunk #3 succeeded at 273 with fuzz 1 (offset 11 lines).
patching file vmnetInt.h
Hunk #1 FAILED at 35.
1 out of 1 hunk FAILED — saving rejects to file vmnetInt.h.rej
patching file vnetInt.h
Hunk #1 FAILED at 29.
1 out of 1 hunk FAILED — saving rejects to file vnetInt.h.rej
root@me:/home/me/VM/vmnet-only#
That is strange, are you certain, you are using a non-patched VMware 1.0.5?
OK
I figured it out.
To clarify and add to your tutorial to help other noobs like me,
DO NOT download vmplayer but vm-server.
tar -zxf VMware-server-1.0.5-80187.tar.gz
cd vmware-server-distrib
su
password
perl vmware-install.pl
Follow the installation instructions.
BUT DO NOT run the config.pl
Do the patch as stated above…
Then still as root type,”/usr/bin/vmware-config.pl”
Thats it!
Sorry but one last thing,
I have slackware 12 and do not think that I use pam.
I had to therefore make a directory in etc in order to get things to work.
As root, “mkdir /etc/pam.d
Cheers
Frank
Tested with 2.6.25 vanilla and vmware-server-1.0.5: all went ok except some minor warnings
…
Building the vmmon module.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config2/vmmon-only’
make -C /lib/modules/2.6.25/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/home/tmp214/Downloads/linux-2.6.25′
CC [M] /tmp/vmware-config2/vmmon-only/linux/driver.o
CC [M] /tmp/vmware-config2/vmmon-only/linux/hostif.o
CC [M] /tmp/vmware-config2/vmmon-only/common/cpuid.o
CC [M] /tmp/vmware-config2/vmmon-only/common/hash.o
CC [M] /tmp/vmware-config2/vmmon-only/common/memtrack.o
CC [M] /tmp/vmware-config2/vmmon-only/common/phystrack.o
CC [M] /tmp/vmware-config2/vmmon-only/common/task.o
CC [M] /tmp/vmware-config2/vmmon-only/common/vmx86.o
/tmp/vmware-config2/vmmon-only/common/vmx86.c: In function ‘Vmx86_GetkHzEstimate’:
/tmp/vmware-config2/vmmon-only/common/vmx86.c:1899: warning: passing argument 4 of ‘Div643264’ from incompatible pointer type
/tmp/vmware-config2/vmmon-only/common/vmx86.c:1908: warning: passing argument 4 of ‘Div643232’ from incompatible pointer type
CC [M] /tmp/vmware-config2/vmmon-only/vmcore/moduleloop.o
LD [M] /tmp/vmware-config2/vmmon-only/vmmon.o
Building modules, stage 2.
MODPOST 1 modules
WARNING: modpost: module vmmon.ko uses symbol ‘init_mm’ marked UNUSED
CC /tmp/vmware-config2/vmmon-only/vmmon.mod.o
LD [M] /tmp/vmware-config2/vmmon-only/vmmon.ko
make[1]: Leaving directory `/home/tmp214/Downloads/linux-2.6.25′
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory `/tmp/vmware-config2/vmmon-only’
The module loads perfectly in the running kernel.
You need to do this (stated in my notes):
Make sure “Enable unused/obsolete exported symbols” must be selected under the “Kernel hacking” of the Linux Kernel configuration.
I also updated the article to indicate the steps here are for VMware Server.
This worked liked a charm, many thanks!
Thanks runme to
great work!!
[...] bit of digging uncovered this: http://lenrek.wordpress.com/2008/04/24/vmware-105-and-kernel-2625/. It got me up and running quite [...]
Perfect instructions, perfect patches, runs flawlessly on Slackware 12 with a vanilla 2.6.25.1 kernel.
Thanks!
Tux2000
Lenrek,
Thank you! Thank you! Thank you!
$ uname -r
2.6.25-14.fc9.i686
$ rpm -q VMware-server
VMware-server-1.0.5-80187.i386
$ rpm -q gcc
gcc-4.3.0-8.i386
$ rpm -q kernel
kernel-2.6.25-8.fc9.i686
kernel-2.6.25-14.fc9.i686
$rpm -q kernel-headers
kernel-headers-2.6.25-14.fc9.i386
perfect with 2.6.25.4 and Vmware server 1.0.5
I use 2.6.25.4 and Vmserver 1.0.5. Applying your patches and following your procedure I got following error:
Using 2.6.x kernel build system.
make: Gehe in Verzeichnis ‘/tmp/vmware-config7/vmmon-only’
make -C /lib/modules/2.6.25.4/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Betrete Verzeichnis ‘/home/mey/work/system/linux-2.6.25.4-bigtower’
CC [M] /tmp/vmware-config7/vmmon-only/linux/driver.o
CC [M] /tmp/vmware-config7/vmmon-only/linux/driverLog.o
CC [M] /tmp/vmware-config7/vmmon-only/linux/hostif.o
CC [M] /tmp/vmware-config7/vmmon-only/common/comport.o
CC [M] /tmp/vmware-config7/vmmon-only/common/cpuid.o
CC [M] /tmp/vmware-config7/vmmon-only/common/hash.o
CC [M] /tmp/vmware-config7/vmmon-only/common/memtrack.o
CC [M] /tmp/vmware-config7/vmmon-only/common/phystrack.o
CC [M] /tmp/vmware-config7/vmmon-only/common/task.o
CC [M] /tmp/vmware-config7/vmmon-only/common/vmciContext.o
In file included from /tmp/vmware-config7/vmmon-only/common/vmciContext.c:23:
/tmp/vmware-config7/vmmon-only/common/vmciSharedMem.h:28: Fehler: expected declaration specifiers or »…« before »VMCISharedMemInfo«
make[2]: *** [/tmp/vmware-config7/vmmon-only/common/vmciContext.o] Fehler 1
make[1]: *** [_module_/tmp/vmware-config7/vmmon-only] Fehler 2
make[1]: Verlasse Verzeichnis ‘/home/mey/work/system/linux-2.6.25.4-bigtower’
make: *** [vmmon.ko] Fehler 2
make: Verlasse Verzeichnis ‘/tmp/vmware-config7/vmmon-only’
Unable to build the vmmon module.
i use gcc-4.2.3 on ubuntu:
Type VMCISharedMemInf seems to be undeclared.
Regards
– Thomas
Err…
1) – This is not my patches. Please follow the link to read the original person who made it
2) – May I know what does “bigtower” mean? Is this a clean vanilla kernel source or a 3rd party’s kernel source? You should only use kernel source from 2.6.25.4.
By the way, I had successfully built VMware with kernel 2.6.25.4 (as someone else also stated successfully in building it). I suspect, the problem has something to do with your setup.
lenrek: I use a vanilla kernel 2.6.25.4. But something went wrong. After I repeated all steps, I finally succeeded.
Thank you very much.
OK.
I had updated the post to indicate the patches are from Jondaley. I think, it should’ve been made clear on this.
I don’t know the guy and I have never met him, but do say thanks to him for making the patches. Without him, my little blog post would be useless.
hi
thank you it worked perfectly on fedora core 9
and for a fc9 64bits system I had at the end to add a gtk2.i386 package to make it work
among others things I’ve had to add before problems
Thanks for your reply. Is nice to know the patches work with 64bits system also.
YOU ROCK!
Thanks a lot for that patches with detailed description! Was fighting 3 evenings now to get a working vmware-server on my mashine with 2.6.25 linux.
Great! I followed it step-by-step and it worked perfectly on fc9.
Ah Ha, i found this page fromt he other patches page (i was trying to patch the any any’s previourly.
If you have no existing install the tar’s are located in
/lib/modules/source/
VMware server 1.0.6 has been released. Please use that one instead of patching 1.0.5.
http://lenrek.wordpress.com/2008/06/04/vmware-106-kernel-2625/
See here for new comments (awaiting moderation):
http://blog.creonfx.com/linux/how-to-install-vmware-player-workstation-on-2625-kernel
Short version:
Get the newest Workstation Beta from http://communities.vmware.com/community/beta/workstation6.5b
Download the Linux OS VMware-workstation-e.x.p-91182.i386.tar.gz file (yes, use it for WinXP) and extract the linux.iso file. Open the .iso with MagicISO and copy the VMwareTools-e.x.p-91182.i386.rpm (and/or) VMwareTools-e.x.p-91182.tar.gz files to your Debian Lenny (with Kernel 2.6.25) and run the new vmware-config-tools.pl — very few errors and warning.
It works since vmsync and vmxnet3 are not used or supported with Workstation 6.0.
This perl script and the sources will likely help you to patch for VMware Server 1.0.5 .
Joe
Thanks for the info.
Though I have moved to 1.0.6, and there is no more need for me to do anymore patching. I guess, is a good info for those who still using 1.0.5.
Awesome!!!!!
Worked great for me on Fedora Core 8
2.6.25.9-40.fc8 AMD 64.
You the man!!
Excellent how-to
It worked for me. Vmware 1.0.5 on Fedora 8 kernel 2.6.25.10-47.fc8.
Thank you guys!
HI bro i have this error :
master@master:~/11/vmmon-only$ sudo patch -p1 < ./vmmon-2.6.25.patch[sudo] password for master:
patching file include/vcpuset.h
Hunk #1 FAILED at 71.
1 out of 1 hunk FAILED — saving rejects to file include/vcpuset.h.rej
patching file include/vm_basic_types.h
Hunk #1 succeeded at 163 (offset 9 lines).
Hunk #2 succeeded at 177 (offset 9 lines).
Hunk #3 succeeded at 273 with fuzz 1 (offset 11 lines).
patching file linux/driver.c
Hunk #1 succeeded at 1711 (offset 56 lines).
patching file Makefile.kernel
Please make sure you are using a non-any-any patched VMware server.
I did what you said but see what happened to be
Using compiler “/usr/bin/gcc”. Use environment variable CC to override.
Your kernel was built with “gcc” version “4.3.1″, while you are trying to use
“/usr/bin/gcc” version “4.3″. This configuration is not recommended and VMware
Server may crash if you’ll continue. Please try to use exactly same compiler as
one used for building your kernel. Do you want to go with compiler
“/usr/bin/gcc” version “4.3″ anyway? [no] yes
What is the location of the directory of C header files that match your running
kernel? [/usr/src/linux/include]
The path “/usr/src/linux/include” is a kernel header file directory, but it
does not contain the file “linux/version.h” as expected. This can happen if
the kernel has never been built, or if you have invoked the “make mrproper”
command in your kernel directory. In any case, you may want to rebuild your
kernel.
What is the location of the directory of C header files that match your running
kernel? [/usr/src/linux/include] < ..
The error means, the kernel was built by a different version of gcc compiler. You should update your gcc compiler to the same compiler used for the built kernel.
Try update your Linux, or seach your distribution’s gcc version as required by vmware. From there, upgrade your gcc compiler accordingly.
You need to install the kernel source tree into the system.
Just curious, what is the Linux distribution you are using?
Why are you hacking the school systems ?
It’s just wrong
you know you’ll get caught . why even bother .
how do you hack into a school system? seems pretty hard.
Are you a troll? *shrug*
FYI, I had left school for more 10 years. Kids these days have absolutely no idea on what is hacking and what is cracking.
thank you for your report
untar a dot patch file? How to do? why cant somebody just make a freaking tar file
Patch is just a text file. If you don’t understand this fact, I think, it is best for you, not to follow the instructions on this page.
great work! i just startet VMware Server 1.0.9 build-156507 on a 2.6.26-2-amd64 (Debian lenny)
[...] pero trágicamente la compilación de las fuentes da fallos. Leyendo por internet encuentro esto. Procedo a parchear los módulos sugeridos para comprobar si ese es el problema, pero sigue dando [...]
[...] VMware Server 1.0.5 and Kernel 2.6.25 April 200842 comments Comments RSS feed LikeBe the first to like this post. [...]