Differences between revisions 4 and 5
Revision 4 as of 2011-07-11 15:11:51
Size: 1866
Editor: giro
Comment: Added link to Main.hs patch for GCC 4.6.x
Revision 5 as of 2011-07-11 16:34:00
Size: 1873
Editor: giro
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
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 goal of this article is to guide you through compiling and running Barrelfish inside Qemu, and to write and run programs on Barrelfish itself.
Line 7: Line 7:
First we need to get the latest version of Barrelfish from the mercurial repository, use the following command: First we need to get the latest version of Barrelfish from the mercurial repository. Use the following command:
Line 11: Line 11:
or, if you are using an HTTP proxy or, if you are using an HTTP proxy:
Line 16: Line 16:
Once you have cloned the repository cd into it and create a build directory and enter it Once you have cloned the repository, cd into it, create a build directory, and enter it:
Line 23: Line 23:
Then create the required makefile Then create the required makefile:
Line 27: Line 27:
or, if you wish to build the 32-bit version or, if you wish to build the 32-bit version:
Line 32: Line 32:
    '''Note:''' if you get the following error     '''Note:''' If you get the following error:
Line 37: Line 37:
    Apply the following patch to hake/Main.hs [[https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20110519/833cc2f8/attachment.obj|Main.hs.patch]]     Apply the following patch to hake/Main.hs: [[https://lists.inf.ethz.ch/pipermail/barrelfish-users/attachments/20110519/833cc2f8/attachment.obj|Main.hs.patch]]
Line 39: Line 39:
Now we can build Barrelfish Now we can build Barrelfish:
Line 44: Line 44:
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 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:
Line 49: Line 49:
Once that has completed, you can issue the following command to run Barrelfish on Qemu Once that has completed, you can issue the following command to run Barrelfish on Qemu:
Line 53: Line 53:
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. To allocate more cores to Qemu, instead of the default 2, you can edit the symbolic_targets.mk file in the build directory. Do this by editing the QEMU_CMD line for the architecture you have built Barrelfish for.

The goal of this article is to guide you through compiling and running Barrelfish inside Qemu, and to write and run 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, 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
  • Note: If you get the following error:

        ../hake/Main.hs:369:25:
            Not in scope: data constructor `Opt_DeriveDataTypeable'

    Apply the following patch to hake/Main.hs: Main.hs.patch

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. Do this by editing the QEMU_CMD line for the architecture you have built Barrelfish for.

BarrelfishWiki: Getting_Started (last edited 2016-12-22 21:49:03 by MoritzHoffmann)