Where was I?

Had another job to do but I’m back again. I’m in the process of trying to compile xen-4.0.0 on my fresh install of Ubuntu 10.04 LTS. Downloaded and extracted the source code and started on the README file, as you do. This time I have taken much more care to ensure I have the pre-requisites listed. Mind you, this is a bit of an art in itself…asking for a development install of x11 translates into which packages exactly?

I’ve been using the Synaptic Package Manager on Ubuntu and it’s built-in search function to make educated guesses about what was required. I have saved the log file of what I chose, to be thorough.

So continuing with a “make world” trundles along for a while before failing because of /bin/sh: git: not found. This is an easy fix by installing git-core package. Guess the README missed that one.

After it’s done all it’s git stuff it stops again, this time with the prompt

Enable support for Xen PCI passthrough devices (XEN_PCI_PASSTHROUGH) [N/y/?] (NEW).

Lets give that a whirl, and the next one

Paravirtualization layer for spinlocks (PARAVIRT_SPINLOCKS) [N/y/?] (NEW)

followed by

Xen PCI Frontend (XEN_PCIDEV_FRONTEND) [N/m/y/?] (NEW)

I’m typing these in as they crop up. How many more I wonder? Makefile must be slightly out of date.

SCSI tape drive support for Smart Array 5xxx (CISS_SCSI_TAPE) [N/y/?] (NEW)
Fusion MPT ScsiHost drivers for FC (FUSION_FC) [N/m/y/?] (NEW)
Maximum number of scatter gather entries (16-128) (FUSION_MAX_SGE) [128] (NEW)
Fusion MPT misc device (ioctl) driver (FUSION_CTL) [N/m/y/?] (NEW)
Fusion MPT logging facility (FUSION_LOGGING) [N/y/?] (NEW)
Net channel 2 support (XEN_NETCHANNEL2) [N/m/y/?] (NEW)

OK, this is getting tedious, skip the rest except to say I chose Virtual PCI for the backend.

The next error is

*** check_uuid_devel FAILED: missing uuid headers (package uuid-dev)

which doesn’t stop it in it’s tracks swiftly followed by

*** check_xgettext FAILED: can't find xgettext

shortly after which it stops.

Both the above easy to rectify by installed uuid-dev package and gettext package. More minus points for the README file.

I’ve re-typed make at this point (not make world because I don’t want to answer all those questions again). Soon falls over again though in the firmware section with

Require dev86 rpm or bin86 & bcc debs version >= 0.16.14 to build firmware!

That can be fixed by installing the bcc package and it’s dependency.

Next stop, need to Download and install Intel ACPI CA

Which is fixed by installing the iasl package.

This next one looks a bit more tricky. All kinds of confusion following from xen/lowlevel/xc/xc.c:7:20:error: Python.h: No such file or directory

Running a find for Python.h reveals one in /usr/include/python3.1/Python.h. There is a /usr/include/python2.6 directory but there was no Python.h in there. Thanks to Google that is quickly solved by installing the python2.6-dev package.

Next it complains that makeinfo is missing, fixed by installing the texinfo package.

And there at last we seem to have it! Although LateX is required for the documentation, it says.

I started this session at 20:46 and it is now 23:31 so that’s how long it took me to build Xen. Haven’t tested it yet though 🙂

Leave a Reply