Skip to main content

6 posts tagged with "rugix"

View All Tags

GitHub CI for Yocto Builds with NixOS

10 min read
Maximilian K枚hl
CEO & Founder of Silitics

You know you're in a very special niche when you write blog posts with both "NixOS" and "Yocto" in the title. But, here we go. If you're still reading, you're probably one of the few people who will actually appreciate this. Welcome. 馃憢

At Silitics, we maintain meta-rugix, the Yocto layers for integrating Rugix Ctrl into Yocto-based systems. As the layers mature and gain more users, we need CI to catch issues before they ship. The problem: even our Debian-based Rugix Bakery builds are slow and hit disk limits on hosted runners, and Yocto is worse. We're talking hours of build time and 50+ GB of disk space. We kept putting it off, but we just set up self-hosted GitHub runners on NixOS, and it wasn't as painful as we feared.

In this article, we'll walk through how we set up our CI infrastructure: declarative runner configuration, shared build caches, rootless Podman, and secrets management with SOPS. If you're struggling with Yocto CI, this might save you some headaches.

Rugix GitHub Organization

One min read
Maximilian K枚hl
CEO & Founder of Silitics

As part of our ongoing commitment to Rugix as an independent open-source project, we moved it to its own GitHub organization. The repository has moved from silitics/rugix to rugix/rugix, and the Docker images have moved accordingly.

Version 0.8.14

3 min read
Maximilian K枚hl
CEO & Founder of Silitics

We are thrilled to announce the release of Rugix version 0.8.14! 馃帀 Don't let the version number fool you, this release packs two game-changing features for embedded Linux OTA updates:

  • Cryptographic integrity verification through embedded signatures.
  • Out-of-the-box compatibility with Mender and RAUC.

Efficient Delta Updates

27 min read
Maximilian K枚hl
CEO & Founder of Silitics

Most modern OTA update solutions for embedded Linux support a form of delta updates. Delta updates can reduce the amount of data transferred and the time required to install a new version by reusing locally available parts of the old version of a system. This is especially useful for devices on metered or bandwidth-constrained connections. In this article, we will survey the different delta update techniques implemented within popular OTA update tools, examine their tradeoffs, and present benchmarks that compare their efficiency on the basis of real-world update scenarios.

This article aims to serve as a guide for engineers looking to implement delta updates in their embedded Linux projects. Together with this article, we release Rugix version 0.8.12 which introduces support for static delta updates and functionality for benchmarking delta update techniques. With the benchmarking functionality included in Rugix Bundler, we enable engineers to evaluate the efficiency of different delta update techniques and make informed decisions about which approach to use based on their specific update scenarios. While we aim to present general benchmarks in this article, we would like to encourage you to run your own benchmarks and share your own findings with us.

Version 0.8

4 min read
Maximilian K枚hl
CEO & Founder of Silitics

We are excited to announce the release of Rugix (formerly Rugpi) version 0.8. 馃帀 This release marks a significant milestone for the project. With this release, we rename the project from Rugpi to Rugix, cleanly separate Rugix into two independent tools, Rugix Ctrl and Rugix Bakery, and furthermore add a myriad of new and exiting features to both tools. Read on to learn more! 馃殌