Skip to content

Configure meta-tolomeo for Your Machine

This guide covers overriding the ToloMEO TLM_ configuration interface from your own layer and verifying that your machine configuration is complete.

The interface, its defaults, and the classes that expose it are documented in Configuration Classes.


Prerequisites


Override a Configuration Variable

The TLM_ variables are weak defaults (?=), so setting a value anywhere with stronger precedence overrides the class default. Set it in the location that matches its scope:

  • Machine configuration — for values tied to the hardware (partition devices, filesystem types, mount points).
  • Distribution include — for values shared by every machine in your product line.
  • local.conf — for a one-off local override during development.

For example, to relocate the persistent data directory and the configuration directory, set them in your machine configuration:

TLM_DATA_DIR = "/var/data"
TLM_CONFIGDIR = "/etc/acme"

Redirect the OTA Location

The OTA paths are coupled: TLM_OTA_FILE, the checkpoint, and the descriptor all derive from TLM_OTA_DIR and TLM_OTA_FILENAME. Override the directory and filename, not the derived paths, so every consumer moves together:

TLM_OTA_DIR = "${TLM_DATA_DIR}/updates"
TLM_OTA_FILENAME = "firmware.swu"

After overriding, confirm the coupled values resolve consistently:

kas shell kas/tolomeo-qemux86-64_tolomeo-prod_image-prod.yml -c 'bitbake -e swupdate | grep ^TLM_OTA_'

Provide the Required Machine Variables

Some recipes declare machine-supplied variables in REQUIRED_VARS. Set them in your machine configuration:

TLM_CERTS_DEVICE = "/dev/disk/by-partlabel/certs"
TLM_CERTS_FSTYPE = "squashfs"

If a required variable is empty, the build stops at parse time with a message naming the recipe and the missing variable:

certs-mount: required variable(s) not set: TLM_CERTS_DEVICE

Machine Configuration Checklist

A machine configuration is complete for ToloMEO's purposes when:

  • It requires a base machine configuration and sets MACHINEOVERRIDES if it derives from one.
  • It requires exactly one of tolomeo-mmc-storage.inc or tolomeo-mtd-storage.inc.
  • It requires u-boot-secure-boot.inc.
  • OVERLAYFS_ETC_DEVICE and TLM_CERTS_DEVICE point at partitions your image actually creates.
  • Its WIC or flash layout creates the data and certificate partitions.
  • It lives in your -bsp layer, whose LAYERDEPENDS names the vendor BSP it builds on.

See also