You are not logged in.

#1 2005-07-08 14:50:37

zosodk69
Member
Registered: 2005-01-30
Posts: 30

VMware 4.5

Hello fellow archers.  I'm having a difficult time getting vmware running my system.  I've tried the steps in the wiki, as well as the steps in:
http://bbs.archlinux.org/viewtopic.php? … ght=vmware
I've also tried the wiki steps with VMware 5.  Here is my problem:
The installation goes great until I run vmware-config.pl.  When the script comes to the part where it compiles the modules it hangs up on vmnet with the following error:

Building the vmnet module.

Building for VMware Workstation 4.5.2 or VMware GSX Server 3.1.0.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config1/vmnet-only'
make -C /lib/modules/2.6.13-rc1-mm1/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-2.6.13-rc1-mm1'
  CC [M]  /tmp/vmware-config1/vmnet-only/driver.o
/tmp/vmware-config1/vmnet-only/driver.c: In function 'VNetProcessOwnsPort':
/tmp/vmware-config1/vmnet-only/driver.c:1816: error: 'struct files_struct' has no member named 'max_fds'
make[2]: *** [/tmp/vmware-config1/vmnet-only/driver.o] Error 1
make[1]: *** [_module_/tmp/vmware-config1/vmnet-only] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.13-rc1-mm1'
make: *** [vmnet.ko] Error 2
make: Leaving directory `/tmp/vmware-config1/vmnet-only'
Unable to build the vmnet module.

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.

I originally saw this problem with kernel 2.6.12-rc5-mm2.  Thinking it was simply a change in the kernel code I didn't think much of it until now.  I'm running 2.6.13-rc1-mm1.  Since I don't read of anyone else having this problem, I wonder if maybe it has to do with my kernel config.  Any help would be much appreciated.


-=[dave]=-

Offline

#2 2005-07-08 18:53:46

zosodk69
Member
Registered: 2005-01-30
Posts: 30

Re: VMware 4.5

I think I may have found the problem.  The file_struct structure lives in /usr/src/linux/include/linux/file.h.  I looked at the mm patch (going from 2.6.13-rc1 to 2.6.13-rc1-mm1) and found this hunk of code:

  */
 #define NR_OPEN_DEFAULT BITS_PER_LONG

+struct fdtable {
+       int max_fds;
+       int max_fdset;
+       int next_fd;
+       struct file ** fd;      /* current fd array */
+       fd_set *close_on_exec;
+       fd_set *open_fds;
+       struct rcu_head rcu;
+       struct files_struct *free_files;
+       struct fdtable *next;
+};
+
 /*
  * Open file table structure
  */
 struct files_struct {
         atomic_t count;
         spinlock_t file_lock;     /* Protects all the below members.  Nests inside tsk->allo
c_lock */
-        int max_fds;
-        int max_fdset;
-        int next_fd;
-        struct file ** fd;      /* current fd array */
-        fd_set *close_on_exec;
-        fd_set *open_fds;
+       struct fdtable *fdt;
+       struct fdtable fdtab;
         fd_set close_on_exec_init;
         fd_set open_fds_init;
         struct file * fd_array[NR_OPEN_DEFAULT];
 };

+#define files_fdtable(files) (rcu_dereference((files)->fdt))
+
 extern void FASTCALL(__fput(struct file *));
 extern void FASTCALL(fput(struct file *));

Sooo...  max_fds, along with a few other variables, were moved to a new structure called fdtable.  I'll hack at the code for drivers.c to try to make this work.  I'll let you all know...


-=[dave]=-

Offline

#3 2005-07-08 18:55:18

scarecrow
Member
From: Greece
Registered: 2004-11-18
Posts: 715

Re: VMware 4.5

You need running the latest Vmware any- any patch for compiling the needed modules with 2.6.8+ kernels and VMware 4.5:
http://ftp.cvut.cz/vmware/
For VMware 5 that patch is not needed- personally I had the VN autoconfigure script failing to register proper ID's, but assiging them by hand worked and was quite easy.


Microshaft delenda est

Offline

#4 2005-07-09 19:35:40

scarecrow
Member
From: Greece
Registered: 2004-11-18
Posts: 715

Re: VMware 4.5

An update over version 5, and the new Arch 2.6.12 kernel:
vmmon modules won't build propely after running vmware-config.pl, in fact the script will inform you that everything went fine, but after firing up vmware daemon you will most likely have a hardlock.
The solution is supposed to be using the latest VMware any-any unofficial patch (till there's a new official build of ver. 5 that is), but I found out a simpler solution (for Arch):
Just don't run anything after updating the kernel, if you're using the custom vmware script from wiki everything works without complaining for badly built modules!!!
I know this suggestion sounds very, very scary, but I've run my VMware 5 on 2.6.12-2 that way for a couple of hours without any issues. Why it happens- I frankly don't know...


Microshaft delenda est

Offline

#5 2005-07-13 10:31:45

mic64
Member
Registered: 2005-03-03
Posts: 173

Re: VMware 4.5

Hi

The new Kernel messed up a lot of things on my system. One of them is VMWARE 4.5

I always get this:

   
Starting VMware services:
   Virtual machine monitor                                                                      done
   Virtual ethernet                                                                                      done
   Bridged networking on /dev/vmnet0                                                 failed
   Host-only networking on /dev/vmnet1 (background)                    done
   Host-only networking on /dev/vmnet8 (background)                    done
   NAT service on /dev/vmnet8                                                               done

And of course vmware won´t start.

UPDATE: the new any-any-patch92 helped..it works now.

mic

Offline

#6 2005-09-09 19:05:59

zosodk69
Member
Registered: 2005-01-30
Posts: 30

Re: VMware 4.5

I kind of forgot about this problem until it recently became necessary for me to get vmware working for work purposes.  These instructions appear to only be necessary if you are running the mm series kernel or the files-break-up-files-struct.patch patch.  The problem is that the mm series kernel no longer has a variable max_fds in files_struct.  The variable now lives in fdtable.  Here is how I got everything working:

Obtain vmware-any-any-update93.tar.gz from http://ftp.cvut.cz/vmware/
Bust that open and locate vmnet.tar.  Untar vmnet.tar and locate driver.c and apply the following patch:

--- driver.c.orig    2005-06-18 21:00:03.000000000 -0400
+++ driver.c    2005-09-09 12:02:36.000000000 -0400
@@ -1803,6 +1803,7 @@
                     VNetPort            *port) // IN: port
 {
    struct file *file;
+   struct fdtable *fdt;
    int fd;
    int maj;
    
@@ -1813,7 +1814,8 @@
    }
    
    fileTraversalLock(&p->files->file_lock);
-   for (fd = 0; fd < p->files->max_fds; fd++) {
+   fdt = files_fdtable(p->files);
+   for (fd = 0; fd < fdt->max_fds; fd++) {
 #ifdef KERNEL_2_3_99
       file = fcheck_files(p->files, fd);
 #else

Retar vmnet.tar, and tar/gzip vmware-any-any-update93.tar.gz.
Now, follow the instructions at:
http://bbs.archlinux.org/viewtopic.php? … ght=vmware
but instead of using vmware-any-any-update89.tar.gz use vmware-any-any-update93.tar.gz

I haven't even looked at vmware 5 yet.  A solution might be just as simple.  Hope this helps someone.


-=[dave]=-

Offline

Board footer

Powered by FluxBB