Wednesday, 22 April 2009

VMware Workstation 6.5.1 on 9.04

As described in several places VMware Workstation 6.5.1 does not work on Ubuntu 9.04 64bit edition.

This is due to the fact that autocreation of the modules breaks.

I found a script that is supposed to work in Fedora (which I doubt as the script has some flaws).

Here is a script that works on Ubuntu 9.04 (64bit and 32bit edition alike):
#!/bin/bash

cd ~
rm -rf vmware-modules
mkdir vmware-modules
cd vmware-modules
find /usr/lib/vmware/modules/source -name "*.tar" -exec tar xf '{}' \;
mkdir -p /lib/modules/`uname -r`/misc
rm -f /lib/modules/`uname -r`/misc{vmblock.ko,vmci.ko,vmmon.ko,vmnet.ko,vsock.ko}
rm -f /lib/modules/`uname -r`/misc{vmblock.o,vmci.o,vmmon.o,vmnet.o,vsock.o}
cd vmblock-only; make; cd ..
cd vmci-only; make; cd ..
cd vmmon-only; make; cd ..
cd vmnet-only; make; cd ..
#cd vmppuser-only; make; cd ..
cd vsock-only; make; cd ..

cp *.o /lib/modules/`uname -r`/misc/.
cd /lib/modules/`uname -r`/misc/

ln -s vmblock.o vmblock.ko
ln -s vmci.o vmci.ko
ln -s vmnet.o vmnet.ko
ln -s vmmon.o vmmon.ko
#ln -s vmppuser.o vmppuser.ko
ln -s vsock.o vsock.ko

depmod -a
service vmware restart

cd ~
rm -rf vmware-modules
Copy it to a text file "vmware-build-module", set permissions to execute:
chmod u+x vmware-build-module
and execute it:
sudo ./vmware-build-module
The script creates a directory, extracts the module sources, makes them, copies the kernel modules to the right directory in the /lib tree, sets symbolic links (which the original script laked and it did not work without). It then rebuilds the module dependencies, restarts the vmware service and deletes the directory with the compiled modules.

Once done, you should be able to start VMware Workstation 6.5.1 without problems. If you have, let me know.

Note: There is no error checking whatsoever. At least, the script does not remove any other files in the misc directory if there are any.
Note: Sorry there is no download. I wish there was something like the image upload here.

20 comments:

Anonymous said...

thanks,
it worked

c60 said...

thank you much, would think 64bit would get more attention from a virtualization provider where memory is king. your work is much appreciated...

cheers...

tomo said...

Worked for me. Thanks a bunch for posting this.

Anonymous said...

Ditto -- thanks so much. Peter

Andy said...

Yep! works for me as well. Thanks.

Nigel said...

Thank you very helpful. Nigel

Anonymous said...

thank you!!

perfect it worked

Anonymous said...

Thanks without your help it would have never worked!

Andrew H said...

Brilliant!

Was running around in circles trying all sorts of suggestions until I happened on this web page.

From now on, my searches will start here.

Many thanks.

Anonymous said...

I'm using LinuxMint 7 x64 (clone of Ubuntu 9.04 x64).
VMWare Workstation 6.5.0 was recompiled on 9.04 using your script. It works, but I still having problem with the Virtual ethernet. Here is the service startup messages:

Stopping VMware services:
Virtual machine communication interface done
Virtual machine monitor done
Blocking file system done
Starting VMware services:
Virtual machine monitor done
Virtual machine communication interface done
Blocking file system done
Virtual ethernet failed


When I'm trying to inter to the Virtual Network Editor (GUI tool) it asks me to enter admins password (probably via gksu) but then I have no application started.

I know that you mentioned version 6.5.1, but could you help with this issue? This installation of VM was working fine on the previous version of LinuxMint 5 x64 (Ubuntu 8.04 x64)

Wolf Rogner said...

Please try the latest version of VMWare 6.5.2. I would not like to fiddle inside source code if the problem has been solved in a follow up release.

babygenius55 said...

you are a wonderful person. It worked for me.

babygenius55 said...

Worked for me. you're the man, thanks a lot.

pedro said...

I get these errors:

Using 2.6.x kernel build system.
make -C /lib/modules/2.6.28-15-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.28-15-generic'
CC [M] /home/pedro/vmware-modules/vmblock-only/linux/block.o
CC [M] /home/pedro/vmware-modules/vmblock-only/linux/control.o
/home/pedro/vmware-modules/vmblock-only/linux/control.c: In function ‘SetupProcDevice’:
/home/pedro/vmware-modules/vmblock-only/linux/control.c:153: error: ‘proc_root_fs’ undeclared (first use in this function)
/home/pedro/vmware-modules/vmblock-only/linux/control.c:153: error: (Each undeclared identifier is reported only once
/home/pedro/vmware-modules/vmblock-only/linux/control.c:153: error: for each function it appears in.)
/home/pedro/vmware-modules/vmblock-only/linux/control.c: In function ‘CleanupProcDevice’:
/home/pedro/vmware-modules/vmblock-only/linux/control.c:213: error: ‘proc_root_fs’ undeclared (first use in this function)
make[2]: *** [/home/pedro/vmware-modules/vmblock-only/linux/control.o] Error 1
make[1]: *** [_module_/home/pedro/vmware-modules/vmblock-only] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.28-15-generic'
make: *** [vmblock.ko] Error 2
./vmwarepatch: line 12: cd: vmci-only: No such file or directory
make: *** No targets specified and no makefile found. Stop.
./vmwarepatch: line 13: cd: vmmon-only: No such file or directory
make: *** No targets specified and no makefile found. Stop.
./vmwarepatch: line 14: cd: vmnet-only: No such file or directory
make: *** No targets specified and no makefile found. Stop.
./vmwarepatch: line 16: cd: vsock-only: No such file or directory
make: *** No targets specified and no makefile found. Stop.
cp: cannot stat `*.o': No such file or directory
WARNING: Can't read module /lib/modules/2.6.28-15-generic/misc/vmmon.ko: No such file or directory
WARNING: Can't read module /lib/modules/2.6.28-15-generic/misc/vmnet.ko: No such file or directory
WARNING: Can't read module /lib/modules/2.6.28-15-generic/misc/vsock.ko: No such file or directory
WARNING: Can't read module /lib/modules/2.6.28-15-generic/misc/vmci.ko: No such file or directory
WARNING: Can't read module /lib/modules/2.6.28-15-generic/misc/vmblock.ko: No such file or directory
Stopping VMware services:
Virtual machine monitor done
VMware Workstation is installed, but it has not been (correctly) configured
for the running kernel. To (re-)configure it, invoke the
following command: /usr/bin/vmware-config.pl.

What do they mean?

babygenius55 said...

i'm still very new to all of this, I really couldn't tell you. they(vmware) have an update out that has (for me) had no problem with the last 3 kernel updates. It reconfigures itself if it needs to...about time.

Anonymous said...

Pedro

Based on my knowledge of Linux, do you have the proper modules to build the stuff you need? Cuz based on the log you provided, it seems to me that there was an error in compiling, which suggests that you are missing 1 or more tools for compilation.

Have you tried this in a terminal?
sudo apt-get install build-essentials

This is for Ubuntu so in other distros the command may be different.

Jhon said...

Pedro from the log you provided it seems that you miss some tools or the syntax of the code is inappropriate.

Have you tried?

Sudo apt-get install build-essentials

rrenstrom said...

This script also works with Ubuntu 9.10, kernel 2.6.31-16-generic on an AMD 64 bit machine and VMware Workstation 6.5.2. Thanks a ton for posting this. After several hours of research trying to find out why VMW wouldn't run (it found a hypervisor already running)this little jewel fixed it immediately.

Brian said...

I can't thank you enough! As a complete n00b, to linux (Mint 64), I was wondering why the package would appear to install, but never launched. As a Windows admin, for a couple years, I knew Linux was more stable and secure. I decided to jump in, with both feet, and have never looked back. It is people like you that make this possible for people like me. THANK YOU!!!

Dave K said...

I had VMWare WS 6.5.3 runnning with Ubuntu 9.04 just fine, but after installing some updates, my VM was unusable, till finding your script. Thanks! Thanks to your script, I can now get back to work.