Introducing Moonforge: A Yocto-Based Linux OS
"Developed by Igalia, Moonforge provides a flexible, extensible, and fully open-source foundation for creating production-ready embedded Linux operating systems."
Today we are announcing the launch of Moonforge, a new Linux distribution based on the Yocto and OpenEmbedded projects and designed to provide a fully open-source, production-ready foundation for building embedded and device operating systems.
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.
The project is available as open-source on GitHub and welcomes community contributions.
Building Production-Ready Linux Systems with Yocto
Moonforge is an operating system framework for Linux devices that simplifies the process of building and maintaining custom operating systems.
It provides a curated collection of Yocto layers and configuration files that help developers generate immutable, maintainable, and easily updatable operating system images.
The goal is to offer the best possible developer experience for teams building embedded Linux products. Moonforge handles the complex aspects of operating system creation, such as system integration, security, updates, and infrastructure, so developers can focus on building and deploying their applications or devices.
Using Moonforge, developers can:
- Build their own operating system by combining modular Yocto layers
- Rely on widely adopted industry standards
- Extend the system with additional features, hardware support, and integrations
- Maintain a clear separation between upstream and downstream components
Design Goals
Moonforge is designed around three core principles: balance, separation, and best practices.
Balance Between Turn-Key Solutions and Flexibility
Creating a Linux distribution typically requires significant integration work: selecting components, configuring build systems, and aligning the system architecture. Moonforge reduces this duplicated effort by providing sensible defaults and core architectural decisions, while still allowing teams to customize and extend the system for their own products.
The project combines Yocto layers together with extensive use of kas, a tool for managing configuration in a declarative way using YAML. By assembling layers and configuration fragments, developers can easily create different operating system variants and product configurations tailored to their needs. This modular approach encourages reuse of common components while allowing teams to maintaine full control over the final system.
Clear Separation of Components
Moonforge is structured to maintain a clear separation between upstream and downstream components, making it easier for organizations to build derivative products. Existing Moonforge layers cover common use cases, while the Yocto layer architecture allows vendors and developers to add their own functionality when needed.
Kas configuration fragments are used to handle tasks such as:
- Including required external repositories
- Activating the necessary layers within those repositories
- Managing dependencies between Moonforge components
- Applying downstream patches and configuration defaults
This structure ensures predictable builds and simplifies release management for derivative systems.
Best Practices for Modern Linux Systems
Moonforge adopts established best practices for building Linux-based operating systems. It relies on proven tools and technologies like BitBake for image creation and kas for build configuration and reproducibility.
Modern development workflows are supported out-of-the-box by providing CI/CD pipelines to automatically build and publish:
- OS images
- Over-The-Air update bundles
- Security reports
- Software Bill of Materials (SBOM) metadata
Moonforge is also capable of integrating with different deployment and update mechanisms, like systemd, RAUC, or Mender.
The project is designed to support build environments across public cloud, private infrastructure, and local development systems, ensuring teams can adopt it within their existing workflows.
An Open Project for the Embedded Linux Community
Moonforge is developed as an open-source project and aims to support a wide range of Linux devices and embedded products. Additional layers, features, and hardware platforms will continue to be added as the project evolves. Contributions from the community are encouraged.
Developers interested in building their own Linux operating systems or extending Moonforge can explore the project and contribute [on GitHub]((https://github.com/moonforgelinux).