ebuild — Unified Build System

Unified build system with 18 CLI commands, cross-compilation, SDK generation, package management with YAML recipes, and deployable OS image creation.

18 CLI Commands Cross-Compilation SDK Generation Package Manager OS Images

Key Features

One tool to build, package, and deploy embedded firmware

18 CLI Commands

Complete command-line interface covering init, build, flash, test, clean, package, deploy, sdk, image, and more — all from a single tool.

Cross-Compilation

Seamless cross-compilation with CMake, Make, Meson, and Cargo backends. Auto-detects and configures toolchains for ARM, RISC-V, Xtensa, and more.

Hardware Schematic Analysis

Parse KiCad and Altium schematics to auto-generate pin maps, peripheral configs, and device tree overlays for your custom hardware.

Yocto-Style SDK Generation

Generate self-contained, relocatable SDKs with cross-toolchain, sysroot, and headers for offline development and CI/CD pipelines.

Package Management (YAML)

Declarative YAML recipes for packages with dependency resolution, version pinning, license checking, and reproducible builds.

6 Project Templates

Kickstart projects with templates for bare-metal, RTOS, Linux, hybrid, library, and bootloader — each with best-practice structure.

OS Image Creation

Build deployable OS images with partition tables, filesystem generation, bootloader integration, and signing — ready for production.

Auto-Dependencies

Automatic dependency graph analysis with incremental rebuilds, parallel compilation, and build cache for faster iteration cycles.

Quick Start

Install ebuild and build your first project

# Clone and install
git clone https://github.com/embeddedos-org/ebuild.git
cd ebuild
pip install -e .

# Build for Raspberry Pi 4 with AI and networking
ebuild build --target raspi4 --with eai,eni

# Generate deployable image
ebuild image --format sdcard

CLI Reference

Key commands at a glance

Command Description Example
ebuild init Initialize a new project from template ebuild init --template rtos
ebuild build Build firmware for target board ebuild build --target stm32f4
ebuild flash Flash firmware to connected device ebuild flash --port /dev/ttyUSB0
ebuild sdk Generate relocatable SDK ebuild sdk --arch arm-cortex-m4
ebuild package Create or install YAML packages ebuild package install mqtt
ebuild image Build deployable OS image ebuild image --format emmc
ebuild test Run unit and integration tests ebuild test --coverage
ebuild schematic Analyze hardware schematics ebuild schematic parse board.kicad