Monthly Archives: January 2013

Using xen-tools on Fedora

Xen.org blog already hosted a very nice post by Ian Jackson, greatly explaining how useful xen-tools is for automatically installing Debian (and Debian-derived) VMs. Now, if this all happens on a Debian host, it is nice and easy, as getting xen-tools is just a matter of apt-get install-ing it. But what if your host machine runs something else, for instance, a copy of Fedora? As a matter of fact, starting from Fedora 16, Xen is quite easy to install and use on Fedora, making it interesting to cover this case too.

There is no xen-tools RPM package, thus we need to go the good old way: download the sources, compile and  install them. Luckily enough, this is not difficult at all, and this blog post will explain in details how to achieve it.

Installing Fedora and Xen

So, let’s assume that you just finished installing the new and shiny Spherical Cow. Official instructions and advice on that are available here. The first thing to do now is to install Xen there. This has become very simple these days; all that’s needed is the following (where an # prompt means the command must be run as root):

# yum install xen

Followed by a reboot. Note that Xen will not be the default boot option, so you’ll need to make sure to select it from the GRUB2 menu. You can also make Xen the default by setting GRUB_DEFAULT=saved in your /etc/defaults/grub.conf and running the following:

# grub2-mkconfig -o /boot/grub2/grub.cfg
# XEN=$(grep ^menuentry /boot/grub2/grub.cfg | cut -f2 -d"'" | tail -n1)
# grub2-set-default $XEN

If the libvirt‘s services are needed too, some more packages must be installed, but this is out of the scope of this post. For more information on how to install Xen on Fedora, check the Fedora pages on Xen.org’s Wiki, in particular, this one: Fedora Host Installation.

Continue reading

Upcoming Events: Document Day, FOSDEM, FOSSC-OMAN and SCaLE 11x

Xen Document Day: January 28

We have the first Xen document day of 2013 come up next Monday. Xen Document Days are for people who care about Xen Documentation and want to improve it. Everybody who can and wants contribute is welcome to join! All you need is to join the Xen wiki and hang out on the #xendocs IRC channel.

For a list of items that need work, check out the community maintained TODO and wishlist. We have a few beginners items in the list. And everybody is welcome to add to the TODO list. Of course, you can work on anything you like: the list just provides suggestions.

See you on IRC : #xendocs @ freenode ! And have fun!

FOSDEM ’13, February 2 & 3, Brussels, Belgium

Xen will have a presence at FOSDEM ’13. The following Xen related sessions will be given at FOSDEM ’13:
Continue reading

Using valgrind to debug Xen toolstacks

What is Valgrind?

Valgrind is a framework for building dynamic analysis tools. Several useful tools are included in the Valgrind distribution including tools to check dynamic memory usage (memcheck), a cache profiler (cachegrind), heap profiler (massif) and thread debugger (helgrind) among others. Valgrind also provides a framework which can be used to build other tools.

The Valgrind tool which I find most useful and the one which I have most experience with is memcheck. This tool can detect all manner of memory management problems, including use after free, using uninitialized data, memory leaks, double free. Between them these can result in savings of many hours of staring a core dumps and gdb backtraces.

How Does memcheck Work?

At its core Valgrind is a dynamic binary translation engine, which is used to instrument the code at runtime. In the case of memcheck this is used to track properties of the memory in a process, including aspects such as whether each bit (yes, bit) of memory has been initialized since it was allocated. It also tracks this information as data is loaded into registers, so it can know if a given register is currently tainted with uninitialized data or not. As well as instrumentation through binary translation Valgrind also includes instrumented versions of the C dynamic memory allocation functions which are used to track whether a each bit of memory is currently considered free or allocated, as well as tainting registers when they contain a pointer to memory which has been freed.

Continue reading

Mirage Project Proposal for Community Review

The OpenMirage project is seeking to become a Xen.org hosted project, as defined in the Xen Governance process. To become a Xen.org hosted project, a project proposal is needed that is first submitted for community review. The review is followed by a vote by eligible community members, which if successfull adds the project to the Xen.org incubator. The project can then graduate as outlined in the Xen Governance process.

I posted the proposal for community review on the xen mailing lists earlier this week: the community review is open 23:59 (GMT), 27th of Jan, 2013.

What is Open Mirage?

The following recording of a XenSummit presentation by Anil Madhavapeddy, the Mirage project lead, introduces the project, explains why it is relevant to Xen.org and concludes with some interesting benchmarks and discussion.

Continue reading