Build the product, not the OS.

A minimal Linux for devices and fleets: the system updates as versioned releases; one API manages it locally or from the cloud — so the product ships sooner.

Five layers, clear boundaries

05micad + apid

One management plane owns the device

  • API first: network, services, applications and configuration all go through one authenticated API — the web UI and the cloud console are both clients of it
  • Cloud fleet management: configuration and signed deployments go out in bulk, with state and versions visible centrally — one device and a thousand are the same operation
  • Offline-capable, cloud-optional: install offline, keep running disconnected, reconcile to the target version once connected
04Self-contained packages · OCI containers

Applications ride on top, not inside

Native applications update with the system; user applications ship as self-contained packages or OCI containers, update on their own cadence, and can be started or stopped at any time.

03squashfs + dm-verity

A read-only, integrity-verified root

Each system image is a squashfs sealed by a dm-verity hash tree; every block read at runtime is checked against a root hash fixed at build time.

02A/B · health gate

Authenticated deployments that fall back on failure

Components install independently; objects are verified before they land, the health gate confirms a successful boot, and a failed candidate gets three attempts before the retained deployment is selected.

01mica-boards + mica-build

Hardware differences end at the board contract

The contract fixes what the system needs from the hardware, and BSPs, kernels and board packages are filed per board; images are composed, signed and tested from pinned versions. Bringing up a new board is a porting job, not a second system.

Supported boards

BoardHardwareStatus
x64Generic x86_64, UEFIBring-up, validated in QEMU
virt-arm64QEMU ARM64, UEFIBring-up, QEMU reference
cx3576Rockchip RK3576Bring-up, image builds, physical tests pending
s905x5mAmlogic S7D (BM201)Bring-up, image builds, physical tests pending

No board is qualified yet. docs/boards/support-tiers.md is the authoritative, up-to-date table.

From image to the field

01

Pick the board

The board contract states what the system needs; BSPs and kernels come from mica-boards.

02

Compose the image

mica-build imports the pinned packages, then composes, signs, verifies and tests a product image.

03

Install and first run

Installation and first configuration need no network and no cloud service; SSH stays off by default.

04

Update and roll back

Signed A/B deployments reach the device; a failed health check returns it to the deployment that last worked.

Read the docs, then build

The architecture, the decisions, the board contract and the operating guides all live in the documentation, and they are updated with the code. Start from the quickstart: build an image, boot it, put your application on it.