Wednesday, April 30, 2008

VMWoes

Its been a while since I last posted. So here I am, cribbing ... about VMware on Linux

Woe 1:
Patch your vm- modules for each new kernel you experiment with.

Notwithstanding the publicity about Hardy Heron, I decided to update my home PC from 7.04. While the upgrade in itself was a breeze, reconfiguring VMware, put me through enough to want to repent it.

Patented as it is, the aforementioned upgrade must strictly happen as 7.04 -> 7.10 -> 8.04. Understandably, the implicit kernel version changes, can will break your VMware installation. This would be solved by recompiling the vmmon, vmblock and vmnet modules. However changes in the kernel like

  • Renaming of certain structure members [in the networking stack] for readability,
  • reassigning of typedefs,
  • relocation of declarations
can cause the module compiling process to spew some ugly errors.

So if you don't want to patch the VMware code yourself, here's what you could do:
Download the any-any patch from here.
Run the perl script and just do what it says.

If you just upgraded to Heron, don't forget to install the c++ compiler, preferably using

sudo apt-get install build-essential


Woe 2: Reconfigure vmware for an old kernel after you boot out of a new kernel.

This was too troublesome, until I figured out the following:
  1. The vm- modules are located in /usr/lib/modules/`uname -r`/misc/
  2. The vmware init script loads these modules using insmod path_to_module.
  3. Each time you boot into a kernel for which vmware is not configured, a file no_configured is created in /etc/vmware. And it dutifully remains there,preventing vm- modules from loading, until you run vmware-config with success.
Knowing this we can choose between these 2 workarounds for this problem:
  1. Push the vmware init script to a higher than default run-level.
  2. Before any reboot do : rm /etc/vmware/not_configured

Despite having these workarounds, I am not really satisfied with using vmware. Its probably time to reconsider qemu. The qemu-manual has been reassuring in the sense that VMware images can be imported to what-ever-format-qemu-requires.

But before that its time to experiment with vmware and cgroups - the hottest feature in 2.6.24
.

As an aside, the
build-essential package information is quite entertaining. Excerpt:
"If you do not plan to build Debian packages, you don't need this package. Moreover this package is not required for building Debian packages. .... " :)

No comments: