seL4

Getting Started

Quick Start

  1. Get the prerequisites

  2. Download CAmkES from github

    mkdir camkes-project
    cd camkes-project
    repo init -u https://github.com/seL4/camkes-manifest.git
    repo sync
    
    
  3. Build a sample system

    make arm_simple_defconfig
    make silentoldconfig
    make
    
    
  4. Run the sample system in qemu

    qemu-system-arm -M kzm -nographic -kernel images/capdl-loader-experimental-image-arm-imx31
    
    

Note: quit qemu with Ctrl-a x

Prerequisites

See the seL4 prerequisites page for details. The following is a quick summary of Ubuntu commands to install all the prerequisites.

sudo apt-get install build-essential lib32z1 lib32ncurses5 lib32bz2-1.0 python python-pip python-tempita cabal-install realpath libxml2-utils qemu git python-jinja2 python-ply

pushd /tmp
sudo mkdir -p /opt/local
wget https://sourcery.mentor.com/public/gnu_toolchain/arm-none-eabi/arm-2013.11-24-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
tar xf arm-2013.11-24-arm-none-eabi-i686-pc-linux-gnu.tar.bz2
sudo mv arm-2013.11 /opt/local/
popd

pip install --user pyelftools

cabal update
cabal install MissingH data-ordlist split

curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

export PATH=/opt/local/arm-2013.11/bin:~/bin:$PATH
echo "export PATH=/opt/local/arm-2013.11/bin:~/bin:\$PATH" >> ~/.bashrc

Download CAmkES

See the seL4 download page for details. The following is a quick summary for cloning the CAmkES package from github.

mkdir camkes-project
cd camkes-project
repo init -u https://github.com/seL4/camkes-manifest.git
repo sync

Build and run simple application

The following will configure, build, and run a simple example CAmkES system.

make arm_simple_defconfig
make silentoldconfig
make
qemu-system-arm -M kzm -nographic -kernel images/capdl-loader-experimental-image-arm-imx31

Note: quit qemu with Ctrl-a x

In order to clean up after building (for example because you’ve set up a new configuration and you want to make sure that everything gets rebuilt correctly) do:

make clean

Read Tutorial

To learn about developing your own CAmkES application, read the tutorial.

Read Documentation

To learn more about CAmkES read the following: