You are not logged in.

#1 2008-04-19 08:08:58

kishd
Member
Registered: 2006-06-14
Posts: 401

Vmware Workstation and kernel 2.6.25

Managed to get vmware workstation working with kernel 2.6.25.

I downloaded the any-any-patch from here:

http://vmkernelnewbies.googlegroups.com … te-116.tgz

and followed the instructions from here:

http://www.tfug.org/pipermail/tfug/2008 … 18337.html

Edit:
I added this

---------------------------------------------------------------------------------------------------
static inline void sock_valbool_flag(struct sock *sk, int bit, int valbool)
{
    if (valbool)
        sock_set_flag(sk, bit);
    else
        sock_reset_flag(sk, bit);
}
---------------------------------------------------------------------------------------------------

to vmware's bridge.c and did not modify sock.h

http://jon.limedaley.com/plog/archives/ … .25-kernel


Extract the any-any-patch. Then extract vmnet.tar and edit the filter.c file and change line 48 and 53 as follows

static struct nf_hook_ops vmnet_nf_ops[] = {
   {  .hook = VNetFilterHookFn,
      compat_nf_hook_owner
      .pf = PF_INET,
48---->>     .hooknum = 1,
      .priority = NF_IP_PRI_FILTER - 1, },
   {  .hook = VNetFilterHookFn,
      compat_nf_hook_owner
      .pf = PF_INET,
53----->>>     .hooknum = 4,
      .priority = NF_IP_PRI_FILTER - 1, }
};

line 233

--->>  transmit = (hooknum == 4);

save the file and tar up the vmnet-only to vmnet.tar

Copy over the vmnet.tar file and replace the vmnet.tar file of the the any-any-patch.

Run runme.pl

Edit: There were two other changes that I made http://article.gmane.org/gmane.linux.re … evel/76714

I changed   ( .pte = val ) to ( pte:val) in  page.h and ( .pte = ret ) to ( pte:ret) in paravirt.h in /usr/src/kernel-2.6.25etc/include/asm/

Last edited by kishd (2008-05-04 16:44:19)


---for there is nothing either good or bad, but only thinking makes it so....
Hamlet, W Shakespeare

Offline

#2 2008-04-19 11:10:15

poggs
Member
Registered: 2008-04-19
Posts: 1

Re: Vmware Workstation and kernel 2.6.25

It would be better to do this properly and change these NF_IP_LOCAL_IN and NF_IP_POST_ROUTING to NF_INET_LOCAL_IN and NF_INET_POST_ROUTING respectively.

Offline

#3 2008-04-20 04:10:03

nesta
Member
From: Albuquerque
Registered: 2003-11-21
Posts: 30
Website

Re: Vmware Workstation and kernel 2.6.25

I am trying to get VMware Server 1.0.5 running under a recently built 2.6.25 kernel. I have patched as stated above -- although am getting a different compile error. Here is the error which occurs during task.o compilation of the vmmon-only driver;

make[1]: Entering directory `/usr/src/linux-2.6.25-iCEBURG'
  CC [M]  /tmp/vmware-config2/vmmon-only/linux/driver.o
  CC [M]  /tmp/vmware-config2/vmmon-only/linux/driverLog.o
  CC [M]  /tmp/vmware-config2/vmmon-only/linux/hostif.o
  CC [M]  /tmp/vmware-config2/vmmon-only/common/comport.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
cc1plus: warning: command line option "-Werror-implicit-function-declaration" is                 valid for C/ObjC but not for C++
cc1plus: warning: command line option "-Wdeclaration-after-statement" is valid f                or C/ObjC but not for C++
cc1plus: warning: command line option "-Wno-pointer-sign" is valid for C/ObjC bu                t not for C++
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for C/ObjC                 but not for C++
In file included from /tmp/vmware-config2/vmmon-only/common/hostKernel.h:56,
                 from /tmp/vmware-config2/vmmon-only/common/task.c:30:
include/asm/page.h: In function 'pte_t native_make_pte(pteval_t)':
include/asm/page.h:128: error: expected primary-expression before ')' token
include/asm/page.h:128: error: expected ';' before '{' token
include/asm/page.h:128: error: expected primary-expression before '.' token
include/asm/page.h:128: error: expected `;' before '}' token
In file included from /tmp/vmware-config2/vmmon-only/common/task.c:1194:
/tmp/vmware-config2/vmmon-only/common/task_compat.h: At global scope:
/tmp/vmware-config2/vmmon-only/common/task_compat.h:9: warning: 'typedef' wa                s ignored in this declaration
make[2]: *** [/tmp/vmware-config2/vmmon-only/common/task.o] Error 1
make[1]: *** [_module_/tmp/vmware-config2/vmmon-only] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.25-iCEBURG'
make: *** [vmmon.ko] Error 2
make: Leaving directory `/tmp/vmware-config2/vmmon-only'
Unable to build the vmmon module.

GCC Environment

[root@Slade vmware-any-any-update116]# gcc --version
gcc (GCC) 4.3.0

Perhaps I am missing a config setting in my kernel config...

Any ideas?

edit

I was able to get passed the error following a lead from Tom London on the FC9 Mailing List (http://article.gmane.org/gmane.linux.re … evel/76714).

I decompressed the any-to-any patch vmmon.tar, and changed line 56 of common/hostKernel.h to read:

/* For __PAGE_OFFSET --hpreg */
#      include <asm/page.vmware.h>

and then went to my kernel headers [/usr/src/linux] include/asm directory, and copied page.h to page.vmware.h... then changed line 128 of page.vmware.h to read;

static inline pte_t native_make_pte(pteval_t val)
{
        return (pte_t) { pte:val };
}

I could now compile -- but cannot load the module due to unknown symbols. At this point... I think I need a better understanding of what is going on! smile


Thanks!


~ Brice Burgess

Last edited by nesta (2008-04-20 04:47:44)

Offline

#4 2008-04-20 07:18:18

kishd
Member
Registered: 2006-06-14
Posts: 401

Re: Vmware Workstation and kernel 2.6.25

nesta, I had forgot to mention in my post that I had changed ( .pte = val ) in [/usr/src/linux] include/asm/paravirt.h and page.h to read ( pte:val ).

see
http://article.gmane.org/gmane.linux.re … evel/76714


---for there is nothing either good or bad, but only thinking makes it so....
Hamlet, W Shakespeare

Offline

#5 2008-04-20 14:54:25

nesta
Member
From: Albuquerque
Registered: 2003-11-21
Posts: 30
Website

Re: Vmware Workstation and kernel 2.6.25

kishd,

  I already made the change to the include/asm/page.h ... although felt that it may result in system wide instability as that's a very important file! So, I cloned it as include/asm/page.vmware.h and made my changes to that file (as described above). This didn't work, however, as it threw an unknown symbol error on loading the module.

  I am not sure if this is an any-to-any (version 116) bug, a VMware issue, a g++ (version 3.04) issue, or a kernel header issue either. In the meantime, I'll be trying out VMware server 2.0 beta 2 to see if it will run in my environment. Will keep you posted.

~ Brice

Offline

#6 2008-04-20 16:47:00

kishd
Member
Registered: 2006-06-14
Posts: 401

Re: Vmware Workstation and kernel 2.6.25

nesta, the change also needs to be made in  ..../asm/paravirt.h

Perhaps the any-any patch is not needed for vmware server. See this post

http://jon.limedaley.com/plog/archives/ … .25-kernel

Last edited by kishd (2008-04-20 16:51:22)


---for there is nothing either good or bad, but only thinking makes it so....
Hamlet, W Shakespeare

Offline

#7 2008-04-24 22:53:24

MAC!EK
Member
Registered: 2005-09-27
Posts: 267

Re: Vmware Workstation and kernel 2.6.25

I have the same problem and IMO the problem is that there's a version mismatch between the kernel we have installed and the headers:
$ pacman -Q kernel-headers
kernel-headers 2.6.24.3-1

After that I think anyany-update16 will be needed and those patches (http://jon.limedaley.com/plog/archives/ … .25-kernel).

Offline

#8 2008-04-27 18:33:11

nesta
Member
From: Albuquerque
Registered: 2003-11-21
Posts: 30
Website

Re: Vmware Workstation and kernel 2.6.25

I was able to get it all up and running. Here goes;

VMWare 1.0.5 on 2.6.25 steps;

1) Download the TAR binary from http://www.vmware.com/download/server/

2) Uncompress, run vmware-install.pl as root.

  2a. I choose to install the binaries to /opt/vmware/bin for organizational purposes.
  2b. Do not choose to run vmware-config.pl. If you do by accident, no problem. Proceed to step 3 when compilation fails.

3) Download the vmmon-2.6.25.patch and vmnet-2.6.25 path courtesy of Jon Daley (http://jon.limedaley.com/plog/archives/ … .25-kernel)

  3a. Copy the patches to the VMware module source [e.g. /opt/vmware/lib/vmware/modules/source  or  /usr/lib/vmware/modules/source ]

4) Apply the patches to the VMware modules (see 3a above for example of file locations)

  4a. Uncompress vmnet.tar and vmmon.tar
  4b. Apply the appropriate patch for example;

    --
    cd vmmon-only
    patch -p1 < ../vmmon-2.6.25.patch
    ...
    --

5) Overwrite the VMware modules with your patched version (remove old .tar, replace with .tar of patched version)
  5a. remove old module
  5b. tar patched version for example;

    --
    rm vmmon.tar vmnet.tar
    tar cvf vmmon.tar vmmon-only/
    tar cvf vmnet.tar vmnet-only/
    --

6) Build VMware (run vmware-config.pl, e.g. /opt/vmware/bin/vmware-config.pl)


NOTES:
1. Make sure your [2.6.25] kernel has compiled with UNUSED_SYMBOLS enabled.
  ( Kernel Hacking > Enable unused/obsolete exported symbols )
 
  1a. If it is not, you will recieve complaints about unrecognized symbol (init_mm) during vmmon compilation.
  2b. You can always rebuild your kernel and compile VMware 1.0.5 later, so don't worry too much about this at first.

Hope this helps,

~ Brice

Offline

#9 2008-04-28 21:38:13

voidzero
Member
Registered: 2007-06-21
Posts: 109

Re: Vmware Workstation and kernel 2.6.25

Gah, I've been using linux for 12 years now. It's good to see how it has matured to where it is now.

(read: 12 years in linux and I still end up with hacks like these)

Not flaming anyone but blaming the system! wink

Nesta, you are talking about vmware server while this is about vmware workstation. Should we assume that the procedure you explain works with workstation as well?

Last edited by voidzero (2008-04-28 21:40:35)

Offline

#10 2008-04-30 06:55:50

dhave
Arch Linux f@h Team Member
From: Outside the matrix.
Registered: 2005-05-15
Posts: 1,112

Re: Vmware Workstation and kernel 2.6.25

nesta wrote:

I was able to get it all up and running. Here goes;

VMWare 1.0.5 on 2.6.25 steps;
[...]
~ Brice

Thanks for this info, Brice. For some reason, though, the patches failed for me. When I try to patch vmmon.tar, I get this:

[root@thinkpad source]# cd vmmon-only
[root@thinkpad vmmon-only]# patch -p1 < ../vmmon-2.6.25.patch
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 #3 succeeded at 273 with fuzz 1 (offset 11 lines).
patching file linux/driver.c
Hunk #1 FAILED at 1655.
1 out of 1 hunk FAILED -- saving rejects to file linux/driver.c.rej
patching file Makefile.kernel
Hunk #1 FAILED at 6.
1 out of 1 hunk FAILED -- saving rejects to file Makefile.kernel.re

Does anybody out there see what the problem might be? Are these patches specifically for VMware Server and therefore won't work on VMware Workstation? Thanks.


Donate to Arch!

Tired? There's a nap for that. --anonymous

Offline

#11 2008-04-30 11:02:14

Venator85
Member
From: Italy
Registered: 2007-10-18
Posts: 62

Re: Vmware Workstation and kernel 2.6.25

The patches at http://bbs.archlinux.org/viewtopic.php?id=47704 DO work! big_smile
They're not mine, I just modified the PKGBUILD for vmware-workstation-modules (see that post)
Bye cool

Offline

#12 2008-05-12 18:18:32

MAC!EK
Member
Registered: 2005-09-27
Posts: 267

Re: Vmware Workstation and kernel 2.6.25

nesta could you please upload somewhere those patched vmmon.tar and vmnet.tar files?

Offline

#13 2008-05-20 16:39:54

Kaso_Da_Zmok
Member
Registered: 2007-11-01
Posts: 19

Re: Vmware Workstation and kernel 2.6.25

WKS 6.5 beta and not yet released WKS 6.0.4 and Server 1.0.6 do not need any patching with linux 2.6.25

Last edited by Kaso_Da_Zmok (2008-05-20 16:40:12)

Offline

Board footer

Powered by FluxBB