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 🙂