Menu

Tree [f51417] default tip /
 History

Read Only access


File Date Author Commit
 linux-2.6.18-dom0 2010-06-10 Andres Lagar-Cavilla Andres Lagar-Cavilla [614a33] Fix compilation of privcmd for RHEL5 dom0 kernel
 linux-2.6.18-xen.hg 2010-06-11 Andres Lagar-Cavilla Andres Lagar-Cavilla [69147e] Isolate extra vcpu creation in its own patch qu...
 linux-2.6.27-dom0 2010-05-24 Andres Lagar-Cavilla Andres Lagar-Cavilla [716cc8] Clean up structure and refresh attribution and ...
 linux.pvops.domU 2009-05-20 Andres Lagar-Cavilla Andres Lagar-Cavilla [5142f2] Adding a few bits and pieces as we move toward ...
 rpm 2010-05-19 Andres Lagar-Cavilla Andres Lagar-Cavilla [cd40f5] Final fixes to get rhel-based dom0 to build
 xen-3.0.3-testing.hg 2009-06-12 Andres Lagar-Cavilla Andres Lagar-Cavilla [688975] Build fixes, 64 bit typecasts, and preliminary ...
 xen-unstable.hg 2010-06-11 Andres Lagar-Cavilla Andres Lagar-Cavilla [b14790] Properly set up extended vcpu contexts. This fi...
 .hgignore 2010-05-19 Andres Lagar-Cavilla Andres Lagar-Cavilla [cd40f5] Final fixes to get rhel-based dom0 to build
 .hgtags 2009-10-23 Andres Lagar-Cavilla Andres Lagar-Cavilla [c80959] Merge
 AUTHORS 2009-08-01 Alexey Tumanov Alexey Tumanov [b48d8b] mergepoint for xc_retrieve_ptpages DOMCTL
 COPYING 2009-05-17 Andres Lagar-Cavilla Andres Lagar-Cavilla [96dc3d] SnowFlock GPL and authorship bits
 Makefile 2011-07-06 Andres Lagar-Cavilla Andres Lagar-Cavilla [f51417] Refresh pointers to dom0 2.6.27 xcp base kernel
 README 2010-05-24 Andres Lagar-Cavilla Andres Lagar-Cavilla [716cc8] Clean up structure and refresh attribution and ...

Read Me

SnowFlock
http://sysweb.cs.toronto.edu/snowflock
------------------------------------------

This repository will export a set of patch queues to be applied upon
Xen source code distributions. The patch queues contain all
modifications and additions to Xen and Linux pertaining to the 
SnowFlock project from University of Toronto. All the code is released 
under the GPL license (see COPYING)

As of May 24th 2010, SnowFlock is available for Xen 3.0.3 32bits 
(non-PAE), and Xen 3.4.2 64bits. 

How to Use -- "Old" 32 bit 3.0.3 SnowFlock
------------------------------------------

Fetch xen-3.0.3: hg clone
http://xenbits.xensource.com/xen-3.0.3-testing.hg

Patch the Xen repository with the patches in
xen-3.0.3-testing.hg/patches.  The patch directory is a mercurial
queue, with a set of patches and a series file indicating the proper
order. Easiest way to apply is to move the directory to .hg/patches
inside the xen checkout, and then invoke 'hg qpush -a'. Alternatively,
you can keep the checked out patch queue anywhere you want, and use
quilt.

For xen-3.0.3 the patch queue won't be a ``proper'' patch queue, in
the sense that the patches are not logically cohesive and
independent. We kept our code in svn, and after a thousand revisions
it is too hard to unearth the independent logical patches that 
implement functionality foo across files bar and baz. Thus, the 
patches are split among files, possibily subsuming multipl independent 
changesets to the same file. A consequence is that the patches are 
applicable in any order.

The patches in between ''64bit-fixes.patch'' and quirks.patch'' intend
to implement very experimental, not fully-functional, 64bit support
for SnowFlock running on xen-3.0.3. Use at your own risk.

Once you've patched Xen, go ahead and build. For xen 3.0.3 you want to
use 'make sf' or 'make sf-install'. Note that the core functionality
of SnowFlock is provided here. This will allow you to clone VMs
manually.  To get the full SnowFlock experience you need to fetch the
non-Xen related bits (APIs, daemons, etc) out of
http://sysweb.cs.toronto.edu/snowflock?type=Downloads

How to Use -- "Old" 64 bit 3.4.3 SnowFlock
------------------------------------------

Just run the Makefile and relax. There are two targets:

'install' will do a local install. You need to be root, or pass a
'DESTDIR' environment variable to a directory for which you have 
permissions. In case of a root install, you'll need to build your initrd
and create the grub entry.

'rpm' will package everything into an rpm which then you can install at
multiple redhat boxes, without having having to worry about dependencies,
initrd's or grub.

You can pass a 'DOM0' environment variable. Anything other than 'XCP'
will build a don0 based off the latest RHEL 5.x dom0, currently 
2.6.18-164.15.1.el5. The 'XCP' default will build a dom0 based off the
Xen Cloud Platform 2.6.27 kernel. The RHEL kernel is older and must be 
used with older udev's that don't rely on signalfd, but contains well
maintained drivers for enterprise class hardware. The XCP dom0 is the
newest we can use for Xen 3.4.2.

The Directories
------------------------------------------
- xen-unstable.hg: Holds patch queue tracking-up-to-date Xen. 
Currently it is based of changeset 19603, branching point of xen-3.4.0
- linux.pvops.domU: will hold patch to be applied to a vanilla Linux
that can function as a domU/dom0 via paravirt ops.
- linux-2.6.18-xen.hg: Holds patch queue to be applied on Xen's
2.6.18 Linux tree. Currently synced with 3.4.0 at changeset 873
- xen-3.0.3-testing.hg: Holds patch queue that works for Xen-3.0.3,
Linux-2.6.16.29-xen, 32 bits, and maybe 64 bits
- linux-2.6.27-dom0: the patch queue for XCP-based dom0 (64bit)
- linux-2.6.18-dom0: the patch queue for RHEL 5.x-based dom0 (64bit)

Who Did This 
------------------------------------------ 
The authors of this work are/were students at the University of Toronto
under the supervision of Profs. Eyal de Lara and Michael
Brudno. Specific authorship information can be found in AUTHORS.

Bon chance!
Andres Lagar-Cavilla, main maintainer (so far) of SnowFlock 
andres@lagarcavilla.com