Setup
Prerequisites
Install the following tools before building oveRTOS.
Required for all targets
| Tool | Minimum version | Notes |
|---|---|---|
| Python 3 | 3.8+ | Required for the ove CLI and Kconfig |
| python3-venv | — | Required to create the .venv environment |
| CMake | 3.20+ | Used by Zephyr and NuttX build systems |
| Git | — | Source checkout and RTOS source downloads |
On Debian/Ubuntu:
sudo apt install python3 python3-venv cmake git
On Fedora:
sudo dnf install python3 cmake git
ARM cross-compiler (for embedded targets)
Required when building for stm32f746g-discovery or qemu-mps2-an500. The ove CLI can download the official ARM GNU toolchain automatically (default), or you can point it at a system-installed or custom toolchain via Kconfig (Toolchain menu).
To install a system toolchain manually:
# Debian/Ubuntu
sudo apt install gcc-arm-none-eabi
# Or download directly from developer.arm.com
# https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
The default automatic download fetches arm-gnu-toolchain-15.2.rel1-x86_64-arm-none-eabi.
QEMU (for emulated targets)
Required when the selected board is qemu-mps2-an500.
# Debian/Ubuntu
sudo apt install qemu-system-arm
# Fedora
sudo dnf install qemu-system-arm
Rust (for Rust bindings)
Required only when CONFIG_OVE_APP_LANG_RUST=y. Install via rustup:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
rustup target add thumbv7em-none-eabihf # for ARM targets
Minimum supported Rust version: 1.85.
Zig (for Zig bindings)
Required only when CONFIG_OVE_APP_LANG_ZIG=y. Download from ziglang.org/download.
Minimum supported Zig version: 0.15.2.
Setting Up the ove CLI
The build system runs through the ove CLI tool, which is installed into a local Python virtual environment. Run:
make setup
This will:
- Check that
python3and thevenvmodule are available - Create
.venv/in the project root - Install all Python dependencies from
config/requirements.txt - Install the
oveCLI fromconfig/ove-cli/in editable mode
After setup, the ove command is available at .venv/bin/ove and is used automatically by every make target.
Manual setup (alternative)
python3 -m venv .venv
.venv/bin/pip install -r config/requirements.txt
.venv/bin/pip install -e config/ove-cli
Re-running setup
To force a clean reinstall of the virtual environment:
make setup
The setup target removes the existing stamp file and recreates the environment from scratch.