Skip to main content

Glossary

A/B slots

The two independent copies of the operating system (kernel + root filesystem partitions, named slot A and slot B) kept on every device. Updates are written to the inactive slot; the bootloader switches to it on reboot and falls back automatically if it fails to boot. See RAUC.

Add-on (App)

A third-party or first-party application managed by the Supervisor and run as its own container. The UI calls them Apps (Settings → Apps). Add-ons are described by a config.yaml (version, architectures, options schema, ports, storage mounts) and installed from a store repository.

AppArmor

The Linux kernel security module used to confine the managed containers. Profile sets are published per channel and stored on the data partition.

/apexos (ApexOS configuration mount)

The mount through which an add-on can access the ApexOS Core configuration tree. An add-on requests it by listing apexos_config in its map configuration.

Assist pipeline

The Core component that orchestrates a voice interaction through the fixed stage order wake word → STT → intent → TTS. Multiple pipelines can be defined; one is marked preferred. See Voice.

Assist satellite

A remote voice device, represented in Core as an entity by the assist_satellite component. A satellite captures audio, runs it through an Assist pipeline, and plays back the response.

Board / target

One of the six hardware platforms the OS builds images for (rpi3-64, rpi4-64, rpi5-64, generic-aarch64, generic-x86-64, ova), each defined by a Buildroot defconfig and a board meta file. See Supported hardware.

Boot partition (apexos-boot)

The shared FAT partition holding bootloader configuration and the RAUC status database. It is common to both A/B slots.

Buildroot

The embedded-Linux build system used to produce the operating system. The OS repository is a Buildroot external tree plus a pinned Buildroot submodule. See OS development.

Channel

The release track a device follows: dev, beta, or stable. Resolved via the version manifest; stamped into the OS image at build time and into the Supervisor's updater configuration.

CLI (apex)

The command-line interface for managing the device (e.g. apex os update, apex supervisor info). It runs in the apexnet_cli plug-in container; the device console automatically attaches to it, with an emergency shell as fallback.

/config

ApexOS Core's configuration directory, stored on the data partition.

Conversation agent

The intent-handling engine of the conversation component: it takes transcribed or typed text, resolves it to an intent, executes it, and returns a response. Fills the intent stage of an Assist pipeline.

Core (ApexOS Core)

The main application container (named apexos), serving the web UI on port 1702 and running all integrations and components.

Data partition (apexos-data)

The ext4 partition holding all mutable state: the Docker data root (all container images/containers) and the Supervisor's data directory. Expanded to fill the disk on first boot; survives OS updates.

Defconfig

A Buildroot configuration file (buildroot-external/configs/<target>_defconfig) that fully describes one board target: toolchain, kernel source and fragments, firmware, root filesystem options.

EROFS

The compressed, read-only filesystem format used for the OS root filesystem (LZ4HC compression).

Landing page

The lightweight placeholder web app preinstalled in OS images in place of the full Core image. It is served on port 1702 from first boot while the Supervisor downloads the real Core in the background.

Observer

The apexnet_observer plug-in — an independent watchdog container providing a way to check on the Supervisor from outside it.

OTA (over-the-air update)

An OS update delivered as a signed RAUC bundle from ota.apexinfosys.in. The same bundles can be applied offline.

Overlay partition

The persistent partition (mounted at /mnt/overlay) that stores host configuration bind-mounted over the read-only root — hostname, network connections, sysctl and udev rules, and similar /etc state.

Plug-in

One of the infrastructure containers the Supervisor manages alongside Core: dns, audio, cli, multicast, and observer (prefixed apexnet_ at runtime). Preinstalled in every OS image together with the Supervisor and landing page.

RAUC

The update framework used for atomic A/B OS updates. Bundles use the verity format, are signature-verified against an on-device keyring, and carry a per-board compatibility string. Integrates with GRUB, U-Boot, and the Raspberry Pi 5 tryboot mechanism.

Registry

The container image registry at registry.apexinfosys.in serving the Supervisor, Core, plug-in, and prebuilt add-on images.

Speech-to-Phrase

A store add-on providing fast, constrained local STT: it trains a recognition model on the instance's exposed entities, areas, floors, and sentence triggers instead of doing open-ended transcription.

Store repository

A git repository of add-ons. Each add-on directory contains its metadata (config.yaml), documentation, and build inputs; store add-ons reference prebuilt images in the registry.

STT (speech-to-text)

The transcription stage of a voice pipeline, and the Core component (stt) that abstracts transcription engines. Provided locally by the Whisper or Speech-to-Phrase add-ons.

Supervisor

The management container (apexnet_supervisor) started directly by the OS. It manages every other container (Core, plug-ins, add-ons), tracks the channel manifest, and performs updates — including its own.

tryboot

The Raspberry Pi 5's native boot-slot mechanism, used instead of U-Boot on that board. RAUC drives it through a custom bootloader backend.

TTS (text-to-speech)

The speech-synthesis stage of a voice pipeline, and the Core component (tts) that abstracts synthesis engines. Provided locally by the Piper add-on.

VAD (voice activity detection)

Detection of speech start/end in the audio stream, used by the Assist pipeline to segment commands; sensitivity is configurable per pipeline.

Version manifest

The per-channel JSON document at https://version.apexinfosys.in/<channel>.json listing the current Supervisor, Core, plug-in, and per-board OS versions. The Supervisor's source of truth for available updates.

Wake word

The activation phrase that starts a voice interaction, and the Core component (wake_word) abstracting detection engines. Provided locally by the openWakeWord add-on, which also loads custom *.tflite models from /share/openwakeword.

Wyoming protocol

The peer protocol connecting Core to external speech services (STT, TTS, wake word, satellites). The wyoming integration discovers services via zeroconf (_wyoming._tcp.local.) and through platform add-on discovery, and creates the corresponding entities.

ZRAM

Compressed RAM-backed storage used by the OS for /tmp, /var, and swap to reduce flash wear and I/O.