Thursday, June 18, 2009

The new kid on the virtualization block

Last week, I happily upgraded my Linux installation to Fedora 11. As usual, this wasn't driven by any requirements, just by the fun to have the latest and greatest. (Do I hear Anjas "MEN!" :-) On the whole, things have improved. For example, my UMTS stick is now working out of the box. Monitor switching at work is now working nicely.

An obvious minus, however, is the integration of VMware. I am using VMware server 1, which is almost unsupported on Fedora in general. In particular, it it unsupported for Fedora 11. As usual, it was no problem to find a matching kernel patch. But, what a surprise, it is no longer sufficient to patch the VMware modules: You need to patch the kernel as well. Ok, I detected the procedure within one hour. But that means, that I will have to compile my own kernel with any kernel upgrade. Given the frequency of kernel updates on Fedora, I'll likely recompile every two weeks or so.

Brings up the question for alternatives. I have tried VMware server 2 in the past, but was definitely disappointed, because it is both a resource hog (for example, more than 400MB on disk!) and the lack of the former vmware-console just adds on. Nevertheless, I tried again. Just to detect that the same problem seems to be present: The kernel modules fail to load with the same error message of a missing symbol.

I never tried VirtualBox before, but this seemed to be a good enough reason to do it now. First impressions have been quite positive, until I tried to start a VM with a windows guest system. Obviously, that's not so easy: To get it work, you have to change some settings, fiddle with the windows registry (of course, before starting Windows ...) and similar niceties. Again, that's not what I'd like to have as a standard procedure. VM's should be easily adoptable from or given to colleagues.

So far, I was sticking to VMware server 1. But today, I detected the announcement of VirtualBox 3 beta. And, hard to believe, it just works, even with Windows guests imported from VMware. I think, VMware lost a user...

3 comments:

SteveL said...

-there's problems w VirtualBox hosting CentOS on a multicore system; 100% CPU load is the problem. Still some merits of VMWAre, even if it is now bloated and over-complex

Jochen Wiedmann said...

Any pointers to bug reports?
Thanks!

John Lumby said...

Excuse meta-comment :

I tried posting a comment concerning the vmware patches on the
http://www.insecure.ws/2009/04/21/vmware-specific-specific-55x-and-kernel-2629
blogpage but it didn't take it. I saw you posted some comments there. Do you think you could post this there for me. Not a problem if you don't want to

Thanks for this patch. It works fine for me but I have two questions on the code -
one relating to yours and second relating to the original vmware code :
1. in vmmon-only/linux/driver_compat.h LinuxDriverLockedNoPage() (file added by www.insecure.ws)
after line
pg = fdata->pgoff;
need
pg = VMMON_MAP_OFFSET(pg); /* jel */
2. linux kernel #defines
#define VM_FAULT_SIGBUS 0x0002
but in vmmon-only/include/compat_mm.h has
#ifndef NOPAGE_SIGBUS
#define NOPAGE_SIGBUS (0)
#endif
and I believe vmware's use of its NOPAGE_SIGBUS is same as linux kernel's use of its VM_FAULT_SIGBUS
so shouldn't the vmware define be
#define NOPAGE_SIGBUS (2) /* jel */