This repository contains the source code of seL4 microkernel.
For details about the seL4 microkernel, including details about its formal
correctness proof, please see the sel4.systems
website and associated
FAQ.
DOIs for citing recent releases of this repository:
We welcome contributions to seL4. Please see the website for information on how to contribute.
This repository is usually not used in isolation, but as part of the build system in a larger project.
include
andsrc
: C and ASM source code of seL4tools
: build toolslibsel4
: C bindings for the seL4 ABImanual
: LaTeX sources of the seL4 reference manual
tl;dr:
TOOLPREFIX=arm-none-eabi- ARCH=arm PLAT=imx6 ARMV=armv7-a CPU=cortex-a9 \
make
The kernel source requires a cross-compiler for the target architecture. To
build using make
, follow these instructions:
-
Ensure that the appropriate cross-compiler for your target architecture is installed.
-
Set the
TOOLPREFIX
environment variable to your cross-compiler's prefix. E.g.arm-none-eabi-
. -
Set the
ARCH
,PLAT
,ARMV
andCPU
variables for the intended target architecture and platform, chosen from the following lists:ARCH PLAT ARMV CPU arm imx31 armv6 arm1136jf-s arm omap3 armv7-a cortex-a8 arm am335x armv7-a cortex-a8 arm imx6 armv7-a cortex-a9 ia32 pc99 -
For a debug build, append
DEBUG=y
and to see serial output additionally appendCONFIG_KERNEL_EXTRA_CPPFLAGS="-DCONFIG_PRINTING=y -DCONFIG_USER_STACK_TRACE_LENGTH=16"
.
See the seL4 website for more comprehensive build instructions.
The files in this repository are released under standard open source licenses.
Please see the individual file headers and LICENSE_GPLv2.txt
and
LICENSE_BSD2.txt
files for details.