TranquilOS

From boot to desktop.

A complete AArch64 object-capability microkernel system. EL1 keeps only scheduling, IPC and exceptions; everything else runs in isolated userspace services.

Three principles.

01

No ambient authority

Every kernel-object access presents a capability, type and rights.

02

Userspace is the system

Files, networking, devices and graphics stay isolated and cooperate over IPC.

03

Reproducible end to end

Every layer from bootloader to desktop can be isolated and verified.

Six-stage boot.

  1. 01 / EL3

    Bootloader

    Initialize the platform and load images.

  2. 02 / EL2

    Hypervisor

    Establish stage-2 and virtual interrupts.

  3. 03 / EL1

    Microkernel

    Take over capabilities, IPC and scheduling.

  4. 04 / EL0

    SystemDaemon

    Create processes, memory and namespaces.

  5. 05 / EL0

    Framework

    Start independent userspace services.

  6. 06 / APP

    Applications

    Enter the complete graphical desktop.

The kernel boundary.

CAP / 01

Object-capability

A 64-bit cref selects a CNode slot; object type and rights mask grant access.

IPC / 02

Migrating-thread IPC

The caller's context migrates into the callee's address space—no queue wake-up.

SMP / 03

Split schedule/execute contexts

Scheduling metadata and register state are separate; each CPU schedules locally.

IDL / 04

Generated service bindings

.idl files generate clients, services, transport structures and ABI checks.

The complete system.

APP

Graphics & applications

LVGL · FreeType · PortableGL · 14+ applications

EL0

System services

process · memory · file · network · device · window

EL1

Kernel core

exceptions · MMU · SMP · IPC · IRQ · timer · futex

EL2

Virtualization

Type-1 · stage-2 · vGIC · vTimer · hypcall

EL3

Boot

platform init · image loading · exception-level handoff

One command starts the system.

The script builds, assembles the images and launches QEMU.

Build guide
quick start
# requires toolchains/aarch64-elf (see Build page) $ git clone https://github.com/nerossoft/TranquilOS kernel $ cd kernel $ source env_setup.sh && ./run_qemu_virt.sh ✓ boot.img · system.img assembled ✓ qemu: 4 cores · 2G · virtio blk/net/input/snd · ramfb