SnowFlock Code
Status: Beta
Brought to you by:
berimbao
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