(Eucalyptus, KVM) Why we need to split a VM into kernel image, ramdisk image, and disk image

cloud computingeucalyptuskvm-virtualizationvirtual-machinesvirtualization

I'm new in using cloud computing technologies. There is a popular cloud software called Eucalyptus.

I found that the way to start a VM in Eucalyptus is very different from Virtualbox. In Virtualbox, we can create a virtual disk file, install any OS into the disk file, and then we can use the disk file as a virtual harddisk to start a VM. The whole process is straight forward and easy to understand.

On the other hand, I found that the way to start a VM in Eucalyptus is quite complicated. First, we need to create raw disk file and install the guest OS. Then, we need to split the VM image into kernel image, ramdisk image, and disk image. We also need to perform the so called "bundling" process on those image files before we can use it.

I don't understand why Eucalyptus make it so difficult to start a VM. Why can't it use the Virtualbox method which is much easier?

May I know what is the purpose of splitting a VM into kernel image, ramdisk image, and disk image? If the VM is a Windows VM, then how are we going to split it?

Why can't we use the raw disk file directly? What is the purpose of bundling an image?

Best Answer

Virtualbox uses the bootloader installed onto the image. Eucalyptus is the bootloader, and so requires the things every bootloader needs: the kernel; the ramdisk; the root.