Built by Igalia Fully Open Source

Build Your Own
Embedded Linux

Moonforge is a curated collection of Yocto layers and build tooling that gives you a production-ready foundation for custom embedded and device operating systems without starting from scratch.

Key characteristics

A framework of well-maintained Yocto layers

Moonforge's composable layers let you assemble your own image-based operating system.

An opinionated, reusable starting point

Sensible defaults, CI/CD pipelines baked in, clear separation between upstream and downstream.

Focus on what matters to you

We take care of security, updates, and features, so you can concentrate on developing, deploying, and managing your own application or appliance.

Designed with customization in mind

Each solution is different. Build your own image using Moonforge as the foundation.

Immutable

Read-only root FS

OTA updates

Built-in updates

CVE & SBOM

Compliance reports

Yocto

Industry standard

Three core principles

Balance

Balance

A good balance between turn-key solutions and the flexibility to extend beyond them, supporting a wide range of products without reinventing common pieces.

Separation

Separation

Clear separation between upstream and downstream components makes it straightforward to build derivative products with predictable processes and releases.

Best Practices

Best Practices

Modern tooling baked in: BitBake for image creation, kas for declarative build config, and CI/CD pipelines that automatically produce images, OTA bundles, CVE reports, and SBOM metadata.

Modular layers.
Compose your OS.

Every Moonforge layer provides a single, isolated feature and ships with its own kas configuration fragment — so each layer declares exactly what it needs. Layers can be reasoned about independently and combined freely into a final custom product image.

Immutable root filesystem
QEMU x86_64 target
Raspberry Pi target
Containerisation with Docker
Containerisation with Podman
A/B updates via RAUC
A/B updates via systemd
Weston graphical session
WPE WebKit environment
+ More on GitHub

From individual layers
to a running OS image

Step 01

Choose your layers

Browse the available Moonforge layers for the features, architectures, and hardware targets you need: containerisation, OTA updates, a graphical session, and more.

Step 02

Compose with kas

Use kas YAML configuration fragments to declare which layers are included, override configurations, and manage dependencies. Use your downstream layer for product-specific customisations.

Step 03

Build inside a container

kas spins up the entire build environment inside a container, keeping your host clean and making it trivial to run on any CI/CD platform (GitLab, GitHub, Bitbucket, or your own infrastructure).

Step 04

Ship your product

The pipeline automatically produces your OS image, OTA update bundles, CVE security reports, and SBOM metadata. All reproducibly, no shell-script glue required.

What people are saying

"

Moonforge lets you create a new OS in minutes, selecting a series of features you care about from various available layers. Since every layer is isolated, we can reason about their dependencies and interactions, and combine them into a final, custom product.

"

Moonforge focuses on extensibility, flexibility, and long-term maintainability, enabling developers and system integrators to create custom operating system images while relying on well-established industry tooling and best practices.