VMware error with kernel-2.6.5-1.326

Paul Iadonisi pri.rhl1 at iadonisi.to
Fri Apr 16 15:10:02 UTC 2004


  It took a little digging, but here's at least a temporary fix for
VMware module build problem.  It involves one fix in the
vmware-any-any-update59 patch and one fix in the kernel
scripts/Makefile.modpost file.

---cut here---
bash-2.05b# cd /lib/modules/$(uname -r)/build/scripts
bash-2.05b# mv Makefile.modpost{,.orig}
bash-2.05b# cp -p Makefile.modpost{.orig,}
bash-2.05b# vi Makefile.modpost

Find these lines:

---
51: quiet_cmd_modpost = MODPOST
52:       cmd_modpost = scripts/modpost \
53:         $(if $(filter vmlinux,$^),-o,-i) $(objtree)/Module.symvers \
54:         $(filter-out FORCE,$^)
---

delete line 53

bash-2.05b# cd
bash-2.05b# tar xzf vmware-any-any-update59.tar.gz 
bash-2.05b# cd vmware-any-any-update59
bash-2.05b# tar xf vmmon.tar
bash-2.05b# cd vmmon-only/linux
bash-2.05b# vi hostif_compat.h

Find these lines:

192: #elif defined(CONFIG_X86_4G) ||
defined(CONFIG_X86_UACCESS_INDIRECT)
193:    HostIFGetUserPage(addr, NULL);
194:    return 0;
195: #else

Change line 193 to:

   HostIFGetUserPage(addr, NULL, NULL);

bash-2.05b# cd ../..
bash-2.05b# tar cf vmmon.tar vmmon-only

bash-2.05b# ./runme.pl
Updating /usr/bin/vmware ... Unknown version
Sorry, there is no binary patch available for your version of vmware.
VMware modules in "/usr/lib/vmware/modules/source" has been updated.

Before running VMware for the first time after update, you need to
configure it 
for your running kernel by invoking the following command: 
"/usr/bin/vmware-config.pl". Do you want this script to invoke the
command for 
you now? [yes] 

Making sure VMware Workstation's services are stopped.

Stopping VMware services:
   Virtual machine monitor	[  OK  ]
   Bridged networking on /dev/vmnet0	[  OK  ]
   Virtual ethernet	[  OK  ]

Trying to find a suitable vmmon module for your running kernel.

None of VMware Workstation's pre-built vmmon modules is suitable for
your 
running kernel.  Do you want this program to try to build the vmmon
module for 
your system (you need to have a C compiler installed on your system)?
[yes] 

Using compiler "/usr/bin/gcc". Use environment variable CC to override.

What is the location of the directory of C header files that match your
running 
kernel? [/lib/modules/2.6.5-1.322/build/include] 

Extracting the sources of the vmmon module.

Building the vmmon module.

Building for VMware Workstation 4.5.x or VMware GSX Server 3.0.0.
Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vmmon-only'
make -C /lib/modules/2.6.5-1.322/build/include/.. SUBDIRS=$PWD
SRCROOT=$PWD/. modules
make[1]: Entering directory `/lib/modules/2.6.5-1.322/build'
  CC [M]  /tmp/vmware-config0/vmmon-only/linux/driver.o
  CC [M]  /tmp/vmware-config0/vmmon-only/linux/hostif.o
  CC [M]  /tmp/vmware-config0/vmmon-only/common/cpuid.o
  CC [M]  /tmp/vmware-config0/vmmon-only/common/hash.o
  CC [M]  /tmp/vmware-config0/vmmon-only/common/memtrack.o
  CC [M]  /tmp/vmware-config0/vmmon-only/common/phystrack.o
  CC [M]  /tmp/vmware-config0/vmmon-only/common/task.o
cc1plus: warning: "-Wdeclaration-after-statement" is valid for C/ObjC
but not 
   for C++
  CC [M]  /tmp/vmware-config0/vmmon-only/common/vmx86.o
  CC [M]  /tmp/vmware-config0/vmmon-only/vmcore/compat.o
  CC [M]  /tmp/vmware-config0/vmmon-only/vmcore/compilercheck.o
  CC [M]  /tmp/vmware-config0/vmmon-only/vmcore/moduleloop.o
  LD [M]  /tmp/vmware-config0/vmmon-only/vmmon.o
  Building modules, stage 2.
  MODPOST
  CC      /tmp/vmware-config0/vmmon-only/vmmon.mod.o
  LD [M]  /tmp/vmware-config0/vmmon-only/vmmon.ko
make[1]: Leaving directory `/lib/modules/2.6.5-1.322/build'
cp -f vmmon.ko ./../vmmon.o
make: Leaving directory `/tmp/vmware-config0/vmmon-only'
The module loads perfectly in the running kernel.

Extracting the sources of the vmnet module.

Building the vmnet module.

Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vmnet-only'
make -C /lib/modules/2.6.5-1.322/build/include/.. SUBDIRS=$PWD
SRCROOT=$PWD/. modules
make[1]: Entering directory `/lib/modules/2.6.5-1.322/build'
  CC [M]  /tmp/vmware-config0/vmnet-only/driver.o
  CC [M]  /tmp/vmware-config0/vmnet-only/hub.o
  CC [M]  /tmp/vmware-config0/vmnet-only/userif.o
  CC [M]  /tmp/vmware-config0/vmnet-only/netif.o
  CC [M]  /tmp/vmware-config0/vmnet-only/bridge.o
  CC [M]  /tmp/vmware-config0/vmnet-only/procfs.o
  LD [M]  /tmp/vmware-config0/vmnet-only/vmnet.o
  Building modules, stage 2.
  MODPOST
  CC      /tmp/vmware-config0/vmnet-only/vmnet.mod.o
  LD [M]  /tmp/vmware-config0/vmnet-only/vmnet.ko
make[1]: Leaving directory `/lib/modules/2.6.5-1.322/build'
cp -f vmnet.ko ./../vmnet.o
make: Leaving directory `/tmp/vmware-config0/vmnet-only'
The module loads perfectly in the running kernel.

You have already setup networking.

Would you like to skip networking setup and keep your old settings as
they are? 
(yes/no) [yes] 

Do you want this program to automatically configure your system to allow
your 
virtual machines to access the host's filesystem? (yes/no/help) [no] 

Starting VMware services:
   Virtual machine monitor	[  OK  ]
   Virtual ethernet	[  OK  ]
   Bridged networking on /dev/vmnet0	[  OK  ]

The configuration of VMware Workstation 4.5.1 build-7568 for Linux for
this 
running kernel completed successfully.

You can now run VMware Workstation by invoking the following command: 
"/usr/bin/vmware".

Enjoy,

--the VMware team




-- 
-Paul Iadonisi
 Senior System Administrator
 Red Hat Certified Engineer / Local Linux Lobbyist
 Ever see a penguin fly?  --  Try Linux.
 GPL all the way: Sell services, don't lease secrets





More information about the fedora-test-list mailing list