If you just downloaded the source code, and wish to run Composite on
your system, you must follow these steps:

1) Get a linux 2.6.33 kernel running on your system.  Composite should
work on other systems, but this is the version I've tested on.  The
build system assumes that you have both the composite source and the
linux source in the same shared directory.  By default this is

/homedir/research/

where homedir is your home directory.  These assumptions can be
modified in the src/Makefile.config file that is generated later.

2) Patch your kernel with the patch in src/platform/linux/patches/.

3) (Optional:) Patch your kernel with kdb, the kernel debugger.

4) When setting up your kernel (e.g. make menuconfig), make note of
the timer tick frequency.  Modify the
kernel/include/shared/cos_config.h file with your timer frequency AND
update the config file with the GHZ of your machine.

5) When your new kernel is working, you need to configure Composite,
notably, the directory locations it assumes for various functions.
Much of this is automated for default system layouts.  A default
system layout will feature:

HOME_DIR: /something/username/ -- your home directory in two nested subdirs.
CODE_DIR: HOME_DIR/research/ -- the directory that _both_ the
Composite code is in, and the linux tree.
LDIR: CODE_DIR/linux-2.6.33/ -- linux tree.
COMPOSITE_DIR: CODE_DIR/composite -- composite source
TRANS_DIR: HOME_DIR/transfer/ -- used to transfer files from composite
to root
TEST_DIR: /root/experiments/ -- directory you should create and use as
root to run composite.

To automatically configure many of these variables, in src/, first run

make config

If any of these assumptions are incorrect, please modify
src/Makefile.config (after running "make config"), and/or src/Makefile.src

Now you should be able to build and execute the source!  Read about
the build system in build_system.txt.
