Pochi giorni fa ho fatto l’update/upgrade a Ubuntu Hardy 8.04 alpha 2, pur sapendo di lavorare con una release instabile, e mi sono accorto che con il kernel 2.6.24-3 le versioni non pacchettizzate di vmware server, sia 1.0.4 che 2.0beta (ma immagino anche le versioni dei repo), non funzionavano a causa di alcuni errori sulla compilazione dei moduli vmmon e vmnet, così ho scelto di usare la patch non ufficiale di vmware vmware-any-any-update115.tar.gz così come ho fatto diverse volte in passato
Questo file, per chi non lo sapesse, viene rilasciato e aggiornato con tutte le patches che gli sviluppatori preparano. La procedura, già trattata in qualche post di questo blog, prevede la scompattazione e l’esecuzione del file runme.pl, ma questa volta non è stato sufficiente e ho dovuto applicare una piccola modifica alla stessa patch, soluzione scovata su questo blog.
$ tar zxvf vmware-any-any-update115.tar.gz
$ cd vmware-any-any-update115
$ cp vmmon.tar vmmon.tar.orig
$ tar xvf vmmon.tar
il file che va modificato è vcpuset.h sostituendo #include “asm/bitops.h”
con #include “linux/bitops.h” , per cui usando “nano +74″ ci posizionamo sopra la riga 74 e effettuiamo la modifica:
$ nano +74 ./vmmon-only/include/vcpuset.h
in modo tale da avere:
#elif defined MODULE
#include "linux/bitops.h"
#elif defined __APPLE__ && defined KERNEL
ricompattiamo con tar la directory vmmon-only e rieseguiamo runme.pl
$ tar cvfp vmmon.tar vmmon-only
$ sudo ./runme.pl
Updating /usr/bin/vmware-config.pl ... already patched
Updating /usr/bin/vmware ... No patch needed/available
Updating /usr/bin/vmnet-bridge ... No patch needed/available
Updating /usr/lib/vmware/bin/vmware-vmx ... No patch needed/available
Updating /usr/lib/vmware/bin-debug/vmware-vmx ... No patch needed/available
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 services for VMware Server are stopped.
……..
Generating SSL Server Certificate
In which directory do you want to keep your virtual machine files?
[/var/lib/vmware/Virtual Machines]
Do you want to enter a serial number now? (yes/no/help) [no] yes
Please enter your 20-character serial number.
Type XXXXX-XXXXX-XXXXX-XXXXX or 'Enter' to cancel: (INSERIRE IL N. DI SERIE)
Starting VMware services:
Virtual machine monitor done
Virtual ethernet done
Bridged networking on /dev/vmnet0 done
Host-only networking on /dev/vmnet1 (background) done
Host-only networking on /dev/vmnet8 (background) done
NAT service on /dev/vmnet8 done
Starting VMware virtual machines... done
The configuration of VMware Server 1.0.4 build-56528 for Linux for this running
kernel completed successfully.
Ecco infine i moduli necessari:
cd /lib/modules/2.6.24-3-generic/misc/
du -b vmmon.o vmnet.o
1956361 vmmon.o
945510 vmnet.o
$ lsmod |grep vm
vmnet 38204 12
vmmon 1824812 0
E adesso funziona
Un altro piccolo e fastidioso problema che mi è capitato è che, per qualche combinazione, a ogni riavvio, vmware non partiva e proponeva di rieseguire vmware-config.pl, ma qui è stato sufficiente rimuovere il file /etc/vmware/not_configured, aggiungendo a /etc/rc.local la riga:
rm -f /etc/vmware/not_configured
UPDATE: oppure, come suggerisce questo post, modificare il file /etc/init.d/vmware
da:
case "$1" in start)
a:
case "$1" in
start)
[ -e /etc/vmware/not_configured ] && rm /etc/vmware/not_configured
Enjoy



















Digg/adoldo
Del.icio.us/antoniodoldo
GMail/antonio.doldo
Technorati/adoldo
MyBlogLog/adoldo
Blog/adoldo








[...] http://adoldo.wordpress.com/2008/01/10/vmware-server-104-e-20beta-patch-necessaria-per-ubuntu-hardy-... [...]