Skip to content
/ rugix Public

A suite of open-source tools to build and deploy reliable embedded Linux devices at scale with efficient and secure over-the-air update capabilities.

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

silitics/rugix

Repository files navigation

Rugix Logo

Rugix

An open-source tool suite to build reliable embedded Linux devices
with efficient and secure over-the-air update capabilities.

Rugix Version Badge Pipeline Status Badge

💡 TL;DR: Rugix (formerly Rugpi) is a suite of open-source tools to build and deploy reliable embedded Linux devices at scale with efficient and secure over-the-air update capabilities. Companies around the world use Rugix as a basis for their connected products. Currently, the tool suite consists of two main tools:

  • Rugix Ctrl: On-device tool for installing over-the-air updates and managing state.
  • Rugix Bakery: Flexible, user-friendly build system for bespoke Linux distributions.

While these tools are designed two work seamlessly together, they can be used independently. By providing a unified and efficient modern development workflow, Rugix enables better results at a lower cost.

Get started today! Build your first system and deploy an update, all in under 30 minutes! 🚀

Rugix Ctrl: The Update Mechanism

Rugix Ctrl has all features you would expect from a state-of-the-art update solution and more:

  • Atomic A/B system updates with popular bootloaders out of the box.
  • Streaming updates as well as adaptive delta updates out of the box.
  • Builtin cryptographic integrity checks before installing anything anywhere.
  • Supports any update scenario, including non-A/B updates and incremental updates.
  • Supports any bootloader and boot process through custom boot flows.
  • Robust state management mechanism inspired by container-based architectures.
  • Integrates well with different fleet management solutions (avoids vendor lock-in).
  • Provides powerful interfaces to built your own update workflow upon.

Rugix Ctrl supports or can be adapted to almost any requirements you may have when it comes to robust and secure updates of your entire system as well as its individual components.

For details, check out Rugix Ctrl's documentation.

Rugix Bakery: The Development Tool

You wrote your application and now need to integrate it into a full system ready to be flashed onto your device or deployed as an update? Rugix Bakery makes this process (almost) as easy as writing a Dockerfile, enabling you to focus on what provides value to your users instead of system-level details.

  • Build upon proven distributions such as Debian and Alpine Linux.
  • Over-the-air update capabilities powered by Rugix Ctrl out of the box.
  • Build everything from source to image in a container-based environment.
  • Define multiple system variants, including variants for testing.
  • Builtin system testing framework and support for running VMs.

With Rugix Bakery, you get a comprehensive tool to build, test, and run your system similar to what you will find with modern software development tooling, like Cargo (Rust) or uv (Python).

For details, check out Rugix Bakery's documentation.

Why Rugix?

Rugix has been started out of frustration with the current state of the embedded Linux ecosystem. While there are already tools for building images, updating systems, and managing state, integrating them into a robust, coherent solution remains a significant challenge. With Rugix, we aim to simplify the development of embedded Linux devices by providing a unified, modern suite of tools that seamlessly integrate to provide an efficient workflow for building, updating, and managing embedded Linux systems at scale. We believe that building embedded Linux devices should not be as complicated as it often is today.

While simplicity is our first key tenet, our second is to provide solutions that are absolutely robust. Embedded devices must stay operational no matter what, always, anywhere. With Rugix, we make it easy to follow best practices for building reliable devices, like read-only system partitions, fully atomic updates with on-device validation, and declarative, ideally fully reproducible builds.

⚖️ Licensing

This project is licensed under either MIT or Apache 2.0 at your opinion.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache 2.0 license, shall be dual licensed as above, without any additional terms or conditions.


Made with ❤️ for OSS by Silitics

About

A suite of open-source tools to build and deploy reliable embedded Linux devices at scale with efficient and secure over-the-air update capabilities.

Topics

Resources

License

Apache-2.0, MIT licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Packages

 
 
 

Contributors 3

  •  
  •  
  •