The goal of this article is to guide you through compiling and running Barrelfish inside Qemu and also with writing and running programs on Barrelfish itself. The instructions below assume you are using a recent version of Linux.

Getting Barrelfish

First we need to get the latest version of Barrelfish from the mercurial repository, use the following command:

hg clone http://hg.barrelfish.org

or, if you are using an HTTP proxy

hg --config http_proxy.host=ipOfYourProxyServer:portOfYourProxyServer --config http_proxy.user=user --config http_proxy.passwd=password clone http://hg.barrelfish.org

Once you have cloned the repository cd into it and create a build directory and enter it

cd hg.barrelfish.org
mkdir build
cd build

Then create the required makefile

../hake/hake.sh -s .. -a x86_64

or, if you wish to build the 32-bit version

../hake/hake.sh -s .. -a x86_32

Now we can build Barrelfish

make

To speed things up you can specify a number of jobs, this should be roughly the same as the number of cores, so on a 4-core machine you could use

make -j 4

Once that has completed, you can issue the following command to run Barrelfish on Qemu

make sim

To allocate more cores to Qemu, instead of the default 2, you can edit the symbolic_targets.mk file in the build directory. Editing the QEMU_CMD line for the architecture you have built Barrelfish for.