XCP Building Instructions

From Xen
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


Building xapi on CentOS 6.3

In this guide we look at an experimental way to get xapi running on CentOS 6.3

This is not Zeus, there are no packages yet. This is a developer install using: http://opam.ocamlpro.com/

Setting up Xen

While not strictly required for the build, to help us test it, lets install Xen.

Minimal install of CentOS 6.3 x86_64. Use network install iso on VMware fusion, or full iso, minimal confuses things.

This is based on http://wiki.centos.org/QaWiki/Xen4

yum install wget

cd /etc/yum.repos.d/
wget http://dev.centos.org/centos/6/xen-c6/xen-c6.repo
yum repolist

yum install kernel kernel-firmware
yum install xen

Now need to edit /etc/grub.conf Note: check the paths and the kernel version, also check dom0 memory. Also: The above 3.4.x kernel should the second in the list, xen should be first.

title xen
        root (hd0,0)
        kernel /xen.gz dom0_mem=1024M,max:1024M loglvl=all guest_loglvl=all
        module /vmlinuz-3.4.32-6.el6.centos.alt.x86_64 ro root=/dev/mapper/vg_jgarbuttcentos-lv_root rd_NO_LUKS  KEYBOARDTYPE=pc KEYTABLE=uk LANG=en_US.UTF-8 rd_LVM_LV=vg_jgarbuttcentos/lv_root rd_NO_MD quiet SYSFONT=latarcyrheb-sun16 rhgb crashkernel=auto rd_NO_DM rd_LVM_LV=vg_jgarbuttcentos/lv_swap
        module /initramfs-3.4.32-6.el6.centos.alt.x86_64.img

Reboot, then check all is well:

uname -a
xl info

Install OCAML 3.12.1

Currently this is not part of CentOS 6.3

One way is to build the following Fedora 17 srpm: http://dl.fedoraproject.org/pub/fedora/linux/releases/17/Everything/source/SRPMS/o/ocaml-3.12.1-1.fc17.src.rpm

Instructions can be found here, including the required setup: http://wiki.centos.org/HowTos/RebuildSRPM

You can download a built packages installed:

mkdir ocaml
cd ocaml

wget http://8ac390279a4a48a6f8b1-aaca1c7c7029a65ba2e38949339e1d8b.r35.cf3.rackcdn.com/ocaml-3.12.1-12.el6.x86_64.rpm
wget http://8ac390279a4a48a6f8b1-aaca1c7c7029a65ba2e38949339e1d8b.r35.cf3.rackcdn.com/ocaml-camlp4-3.12.1-12.el6.x86_64.rpm
wget http://8ac390279a4a48a6f8b1-aaca1c7c7029a65ba2e38949339e1d8b.r35.cf3.rackcdn.com/ocaml-camlp4-devel-3.12.1-12.el6.x86_64.rpm
wget http://8ac390279a4a48a6f8b1-aaca1c7c7029a65ba2e38949339e1d8b.r35.cf3.rackcdn.com/ocaml-runtime-3.12.1-12.el6.x86_64.rpm

rpm -i ocaml-*

The were created using this source rpm:

Install OPAM (from source)

Before you build, you will need:

  • ocaml-3.12.1 ocaml-runtime ocaml-camlp4 ocaml-camlp4-dev (see above)

And a few other tools:

yum install make gcc

Build instructions are here: http://opam.ocamlpro.com/doc/Advanced_Install.html

Download the latest stable, and build it:

wget https://github.com/OCamlPro/opam/archive/latest.tar.gz -O opam-latest.tgz
tar -xf opam-latest.tgz

cd opam-latest
./configure
make
make install

Now you have OPAM you can initialise it:

opam init
eval `opam config env`

Xen Cloud Platform Building Instructions (CentOS 5.6)

Building the xapi toolstack

The recommended way to build the xapi toolstack is in an environment similar to that in which it will be installed - therefore you'll need a CentOS 5.5 32-bit OS installed - we tend to use VMs for this.

For convenience, there are YUM repositories hosted on downloads.xen.org that contain the build dependencies of xapi. To enable these, create a a file /etc/yum.repos.d/xcp.repo with the following contents:


[xcp]
name = xcp
baseurl = http://downloads.xen.org/XCP/xcp-1.0-repo
gpgcheck = 0


If you're building XCP unstable, replace '1.0' in the URL with 'unstable'.

Then execute the following commands:


rpm -e libaio
yum install gcc autoconf automake tetex ghostscript java-1.6.0-openjdk java-1.6.0-openjdk-devel ant pam-devel python-devel zlib-devel openssl-devel dev86 rpm-build texinfo flex bison sharutils elfutils-devel ncurses-devel e4fsprogs-devel ocaml ocaml-findlib ocaml-getopt ocaml-type-conv ocaml-xmlm omake ocaml-xmlm-devel xen-devel xapi-libs-devel xapi-libs-utils


You'll also need mercurial or git depending upon whether you're building the unstable version of XCP or 1.0. These are both available in the EPEL repository (http://download.fedora.redhat.com/pub/epel/5/i386/repoview/)

Check out the xapi source:

hg clone http://xenbits.xen.org/XCP/xen-api.hg

or

git clone git@github.com:xen-org/xen-api.git

and then build it:


cd xen-api.hg
make


or


cd xen-api
make


It is also possible to build xapi in a non-CentOS 5.5 32-bit environment with the help of mock. Instructions for this are coming.