In the past, I used to use the VMware GSX server (my university paid a lot of money for that!). I haven’t been using it for a while but now, as I want to try out something with my new Athlon64 Dell, I picked it up again.
Some how, the GSX series is discontinued and VMware is only selling ESX. The original GSX becomes VMware Server and it is now a freeware! Great!
I downloaded and filled out an online form for a free serial number , but the vmmon and vmnet modules failed to compile for my kernel. I guess it is simply a problem of kernel code change since the VMware modules are programmed (this happens a lot in the history). After some kernel code hacking, the solutions are:
diff -uwr vmmon-only/linux/driver.c.old vmmon-only/linux/driver.c --- vmmon-only/linux/driver.c.old 2007-09-06 17:59:54.000000000 -0400 +++ vmmon-only/linux/driver.c 2007-10-24 10:39:15.000000000 -0400 @@ -1656,7 +1656,10 @@ current->egid == current->gid && current->fsgid == current->gid) { #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 7) - current->mm->dumpable = 1; + /* current->mm->dumpable = 1; */ + set_bit(MMF_DUMPABLE, &currnet->mm->flags); + smp_wmb(); + clear_bit(MMF_DUMP_SECURELY, ¤t->mm->flags); #else current->dumpable = 1; #endif
and also
diff -uwr vmnet-only/driver.c.old vmnet-only/driver.c --- vmnet-only/driver.c.old 2007-09-06 17:59:55.000000000 -0400 +++ vmnet-only/driver.c 2007-10-24 10:39:37.000000000 -0400 @@ -519,11 +519,14 @@ int retval; unregister_ioctl32_handlers(); + unregister_chrdev(VNET_MAJOR_NUMBER, "vmnet"); +/* retval = unregister_chrdev(VNET_MAJOR_NUMBER, "vmnet"); if (retval != 0) { LOG(0, (KERN_WARNING "/dev/vmnet: could not unregister major device %d\n", VNET_MAJOR_NUMBER)); } +*/ VNetProtoUnregister(); VNetProc_Cleanup(); }
Discussion