diff --git a/COPYING b/COPYING new file mode 100644 index 0000000000000000000000000000000000000000..473e23771efe32091f9bbadd41e7809c932d80c8 --- /dev/null +++ b/COPYING @@ -0,0 +1,18 @@ +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 diff --git a/README.md b/README.md new file mode 100644 index 0000000000000000000000000000000000000000..f21c5556cd807876a57700830608dd67513178be --- /dev/null +++ b/README.md @@ -0,0 +1,81 @@ +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 +------------- + +[](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. diff --git a/README.txt b/README.txt deleted file mode 100644 index aa799ce766a529ba69e14f7fa332764a4bc0cc7a..0000000000000000000000000000000000000000 --- a/README.txt +++ /dev/null @@ -1,22 +0,0 @@ -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. diff --git a/scripts/docker/dosek-base/README.md b/scripts/docker/dosek-base/README.md new file mode 100644 index 0000000000000000000000000000000000000000..c0a51a597a4d679a8a9044f79f18fff9f241cbc3 --- /dev/null +++ b/scripts/docker/dosek-base/README.md @@ -0,0 +1,22 @@ +[](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