Commit c332f2e4 authored by Christian Dietrich's avatar Christian Dietrich

Added more detailed readme

Change-Id: Ia8a06d963c51e3ebccd778b15c12807d9a04c91b
parent 3dae1c64
dOSEK - A Dependability Oriented Static Embedded Kernel
Copyright (C) 2013-2014 Florian Lukas <florian.lukas@gmail.com>
Copyright (C) 2013-2014 Martin Hoffmann <hoffmann@cs.fau.de>
Copyright (C) 2013-2014 Christian Dietrich <christian.dietrich@informatik.uni-erlangen.de>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
\ No newline at end of file
dOSEK - A Dependability Oriented Static Embedded Kernel
=======================================================
Recent hardware exhibits an increased susceptibility against transient
hardware faults due to shrinking structures sizes and operating
voltages. Automotive safety standards take up this fact, recommending
the deployment of appropriate counter measures. Here, existing
solutions mainly concentrate on the hardening of applications, while
the underlying operating system is often left as unreliable computing
base.
dosek aims to bridge that gap by utilizing consquent design and
implementation concepts for contructing a reliable computing base even
on unreliable hardware. dosek is developed from scratch with
dependability as the first-class design goal Targeting
safety-critical, embedded applications, the system provides an
OSEK/AUTOSAR-conform interface (currently BCC1).
Currently, dOSEK supports three platforms:
- x86: 32-Bit version of dOSEK that runs on bare metal
- posix: 32-Bit version of dOSEK that runs on Linux/x86
- arm: Port to the Panda Board/zedboard (currently WIP)
For more information about the dOSEK concepts, see
https://www4.cs.fau.de/Research/dOSEK/
Software Requirements
---------------------
apt-get install binutils-dev build-essential clang-3.4 cmake \
g++-multilib gcc-multilib git grub-common grub-pc-bin \
llvm-3.3-dev llvm-3.3-runtime python-minimal python3 \
python3-lxml python3-pip qemu-system-x86 xorriso \
LLVM_CONFIG_PATH=/usr/bin/llvm-config-3.3 pip3 install llvmpy
For the ARM version, you will additionally need
gcc-arm-none-eabi gdb-arm-none-eabi
Building
--------
dOSEK uses cmake as a build system, and therefore supports out of
source builds. To build and run all test-cases you have to type:
mkdir build; cd build
../new_build_env.py
make build_and_test
To get help about the available targets use
make help # long help
make h # short help
`after_first_checkout.sh` is only necessary, if you are going to
contribute via our gerrit code review system.
Docker Images
-------------
[![Docker badge](http://docker0.serv.pw:8080/danceos/dosek-base)](https://registry.hub.docker.com/u/danceos/dosek-base/)
We provide a [docker.io](http://www.docker.com) images for a basic
build environment. These images provide an SSH port and access to an
Ubuntu machine that contains all build dependencies. You can either
build the images yourself with
cd scripts/docker; make
make run
make ssh
or you can pull it directly from the docker Hub
docker pull danceos/dosek-base
cd scripts/docker; make run; make ssh
In either cases, the password is `dosek`. In the default
configuration, no SSH port will be exposed to the outside world.
CoRedOS - Combined Redundancy Operating System
----------------------------------------------
Requirements:
* Clang >= 3.3
* LLVM >= 3.3
* cmake
* python
`- llvmpy
* grub-mkrescue for bulding bootable x86 isosA
* qemu-system-i386 for testing x86
* (doxygen)
Build instructions:
- Make a build directory: mkdir build
- Prepare build environment: cd build && ../new_build_env.py
- Show available build targets: make help
- Show short target description: make h
- Build and run all test cases: make build_and_test
after_first_checkout.sh is only necessary, if you are going to contribute
via our gerrit code review system.
[![Docker badge](http://docker0.serv.pw:8080/danceos/dosek-base)](https://registry.hub.docker.com/u/danceos/dosek-base/)
We provide a [docker.io](http://www.docker.com) images for a basic
build environment. These images provide an SSH port and access to an
Ubuntu machine that contains all build dependencies. You can either
build the images yourself with
cd scripts/docker; make
make run
make ssh
or you can pull it directly from the docker Hub
docker pull danceos/dosek-base
cd scripts/docker; make run; make ssh
In either cases, the password is `dosek`. In the default
configuration, no SSH port will be exposed to the outside world.
Please have a look at the source code repository for more information.
https://github.com/danceos/dosek
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment