Skip to main content
Documentation
Archived
You're viewing the archived 0.8.14 docs. This release is no longer maintained.

Yocto Integration

We provide open-source Yocto layers for integrating Rugix Ctrl into a custom, Yocto-based Linux distribution tailored to your embedded device. The yocto layers are available here.

Installing Rugix Ctrl

The meta-rugix-core layer provides the rugix-ctrl and rugix-ctrl-bin recipes for installing Rugix Ctrl. The rugix-ctrl-bin recipes use the pre-build Rugix Ctrl binaries available from Rugix’s GitHub releases page.

Bootstrapping Configuration

The meta-rugix-core layer provides the rugix-bootstrapping-conf recipe for installing a custom bootstrapping.toml configuration file. You can extend this recipe to replace the default bootstrapping configuration.

Building Update Bundles

The meta-rugix-core layer provides the rugix-bundle class for building Rugix update bundles. The class assumes that you build partitioned images using WIC and allows you to include individual partitions as update payloads.

Here’s an example for a typical A/B setup with redundant boot and system partitions:

inherit rugix-bundle

RUGIX_BUNDLE_PAYLOADS = "boot system"

RUGIX_PAYLOAD_boot[image] = "core-image-minimal"
RUGIX_PAYLOAD_boot[partition] = "2"

RUGIX_PAYLOAD_system[image] = "core-image-minimal"
RUGIX_PAYLOAD_system[partition] = "4"

The RUGIX_BUNDLE_PAYLOADS variable contains a space-separated list of update payloads. Each payload is then configured through a corresponding RUGIX_PAYLOAD_ variable with the following flags:

  • image (required): Image to take the partition from.
  • partition (required): Image partition to include as the payload.
  • slot (optional): Update slot for the payload (defaults to payload name).

Raspberry Pi

The meta-rugix-rpi-tryboot layer provides support for building Raspberry Pi images with tryboot support. For an example, take a look at the raspberrypi.yaml example kas configuration.