A simple guest is created when you build Palacios. To configure your own guest, you write an XML configuration file, which contains references to other files that contain data needed to instantiate stateful devices such as virtual hard drives and CD ROMs. You supply this information to a guest builder utility that assembles a guest image suitable for reference in the Kitten configuration, as described above.
The guest builder utility is located in palacios/utils/guest_creator. You will need to run make in
that directory to compile it, resulting in the executable named build_vm2. Also located in that directory is an example
configuration file, named default.xml. We typically use this
file as a template. It is carefully commented. In summary, a
configuration consists of
The XML configuration format is carefully designed to be extensible. For example, new devices could use additional or new configuration options. The configuration parser in Palacios essentially ignores XML blocks it doesn't understand.
To build a guest, one runs
palacios/utils/guest_creator/build_vm myconfig.xml -o myimage.datHere, myimage.dat is the guest image that can be given to Kitten.
A common kind of guest used for testing is one that boots some form of
bootable Linux distribution, or other a live OS distribution. These
distributions are CD ROM images (ISOs). A range of them are available
on newskysaw under /opt/vmm-tools/isos. We often use
Puppy Linux (puppy.iso) or Finnix (finnix.iso), for
example, but isos are also available for Windows of different flavors,
DOS, GeekOS, and others. If you just want to use some guest ISO image
like this, you can generally just copy the default XML file, and
modify the
filename= attribute here:
<files>
<!-- The file 'id' is used as a reference for
other configuration components -->
<file id="boot-cd" filename="/home/jarusl/image.iso" />
<!--<file id="harddisk" filename="firefox.img" />-->
</files>
For careful, repeatable experimentation, it is often convenient to build your own simplified Linux guest image. It will boot much faster than a full blown distribution and you can readily set up an environment in which you can exert very tight control, being able to modify the Linux kernel, the included files (e.g., benchmarks), and other components very rapidly. To learn more about how to do this, please consult the separate document named Building a bootable guest image for Palacios and Kitten.
Jack Lange 2010-04-13