Advanced Operating Systems ETHZ
Go to file
Daniel Schwyn 6d444bf552 Main handout
Signed-off-by: Daniel Schwyn <daniel.schwyn@inf.ethz.ch>
2022-03-03 14:57:51 +01:00
capabilities Main handout 2022-03-03 14:57:51 +01:00
devices Main handout 2022-03-03 14:57:51 +01:00
doc Main handout 2022-03-03 14:57:51 +01:00
errors Main handout 2022-03-03 14:57:51 +01:00
hake Main handout 2022-03-03 14:57:51 +01:00
include Main handout 2022-03-03 14:57:51 +01:00
kernel Main handout 2022-03-03 14:57:51 +01:00
lib Main handout 2022-03-03 14:57:51 +01:00
platforms Main handout 2022-03-03 14:57:51 +01:00
report Main handout 2022-03-03 14:57:51 +01:00
tools Main handout 2022-03-03 14:57:51 +01:00
trace_definitions Main handout 2022-03-03 14:57:51 +01:00
usr Main handout 2022-03-03 14:57:51 +01:00
.clang-format Main handout 2022-03-03 14:57:51 +01:00
.gitignore Main handout 2022-03-03 14:57:51 +01:00
AUTHORS Main handout 2022-03-03 14:57:51 +01:00
default.nix Main handout 2022-03-03 14:57:51 +01:00
lab_env.sh Main handout 2022-03-03 14:57:51 +01:00
LICENSE Main handout 2022-03-03 14:57:51 +01:00
README.Barrelfish Main handout 2022-03-03 14:57:51 +01:00
README.md Main handout 2022-03-03 14:57:51 +01:00
shell.nix Main handout 2022-03-03 14:57:51 +01:00

AOS Code Repository

Welcome to AOS. This is the code handout repository.

The code in this repository is a simplified version of the Barrelfish OS.

License

see the LICENSE file.

Dependencies

Before you can start, make sure you have installed the following dependencies:

apt-get install build-essential bison flex ghc libghc-src-exts-dev \
                libghc-ghc-paths-dev libghc-parsec3-dev libghc-random-dev \
                libghc-ghc-mtl-dev libghc-async-dev picocom cabal-install freebsd-glue \
                libelf-freebsd-dev git gcc-aarch64-linux-gnu g++-aarch64-linux-gnu \
                qemu-efi-aarch64 qemu-system-arm qemu-utils python3 parted wget mtools

wget -P $HOME/bin https://github.com/NXPmicro/mfgtools/releases/download/uuu_1.4.165/uuu
chmod 755 $HOME/bin/uuu

Docker

Use the following command to obtain and start a Docker container with all dependencies.

./tools/bfdocker.sh

Building

To build Barrelfish, create a build directory, and execute Hake to generate the Makefile

mkdir build
cd build
../hake/hake.sh -s ../ -a armv8

Then you can use make to build Barrelfish. To obtain an overview of all targets execute

make help

Likewise, for all platforms that can be build

make help-platforms

and finally the boot targets with

make help-boot