Moonforge is an open-source framework for building production-ready, immutable Linux operating systems for embedded devices and single-application environments.
It is a curated set of Yocto layers and build tooling that gives system integrators and product teams a solid, well-structured starting point, without duplicating the integration work that every embedded Linux project ends up doing from scratch.
Key features include:
- Immutable root filesystem
- A/B OTA updates with RAUC
- Composable layers
- Reproducible builds
- Security artefacts
We welcome contributions, bug reports, feature requests, documentation improvements, and new BSP or feature layers.
Moonforge is developed and maintained by Igalia.
| Repository | Description |
|---|---|
| meta-moonforge | The core layer collection. Contains the distro base, BSP layers (QEMU, Raspberry Pi), and feature layers (Docker, Podman, RAUC, Weston, WPE WebKit). |
| meta-derivative | A working example of a downstream product layer. Fork this to start your own Moonforge-based OS. |
| build-moonforge-action | A GitHub Actions action that builds Moonforge images using kas-container. Use it in your CI workflow. |
| upload-moonforge-action | A GitHub Actions action that uploads built images and bundles to AWS S3 or any S3-compatible service. |
| moonforgelinux.github.io | Source for the moonforgelinux.org website, built with Hugo and Docsy. |
The fastest way to get started is to clone meta-derivative and build for QEMU:
git clone https://github.com/moonforgelinux/meta-derivative.git
cd meta-derivative
kas-container build kas/moonforge-image-base-qemux86-64.ymlThen boot the image:
kas-container shell kas/moonforge-image-base-qemux86-64.yml -- \
runqemu snapshot kvm nographic slirp ovmf qemux86-64 \
tmp/deploy/images/qemux86-64/moonforge-image-base-qemux86-64.rootfs.wicFull documentation, tutorials, and layer references are available at moonforgelinux.org/docs.
Code is licensed under the MIT License unless otherwise noted in individual files.
Documentation is licensed under CC BY 4.0.
Yocto and OpenEmbedded components carry their own licenses; the SBOM produced by each build provides a full inventory.