MARA Platform

Introduction

MARA platform is a complete database driven Linux distribution with minimal requirements of disk and memory space. At a total size of 2,9Mb it includes a configuration database engine, DB oriented scripting language, https server, libc6 and a 2.4 linux kernel plus other tools to enable Linux to boot and start. This  minimal Linux distribution was designed and implemented to fullfill the requirements of minimalism, robustness, flexibility and ease of use needed to base a broad range of appliances. It's compressed design makes it suitable to be used in flash or disk-on-chip based equipment. The architecture provides the robustness required in mission critical devices. Template, our DB oriented scripting language, adds the flexibility needed to create all types of applications and appliances. The template based https server makes it easy to build secure and user friendly web based applications or administration interfaces. Thanks to the portability of Linux and other open source software MARA runs on a wide range of hardware, from single chip PC-like machines to high end servers.

Architecture

As specially designed for network appliances, security is an important part in the design of MARA. All network oriented daemons run in a separate chroot environment and with a non privileged uid. The only component running with full control over the system is the configuration server daemon. It is allowed to read and write to the DB and to perform privileged operations. Since basically all write operations are done only into the DB, the DB is located on a separate read-write partition. The rest of the system and the factory initial DB is kept in read-only mounted partitions. By avoiding unnecessary file system checks MARA based appliances are able to become operational within a few seconds after a power loss.

The following graph describes the logical modules in the MARA platform. Click on each component for a more in depth description of it's functionality.
template runtemplate httpserver Triggers Probe scheduler Configuration daemon Data verification Authentication Data class Data types Meta definitions passwords