OTA Connect Developer Guide

Build Configuration Options

Table 1. OTA-related options for building disk images
Option Description


OSTree branch name. Defaults to ${SOTA_HARDWARE_ID}. Particularly useful for grouping similar images.


Path to your OSTree repository. Defaults to ${DEPLOY_DIR_IMAGE}/ostree_repo


OS deployment name on your target device. For more information about deployments and osnames see the OSTree documentation. Defaults to "poky".


Message attached to OSTree commit. Empty by default.


Commit subject used by OSTree. Defaults to Commit-id: ${IMAGE_NAME}


Set this to '1' to update summary of OSTree repository on each commit. '0' by default.


Set this to '1' to include devicetree(s) to boot


Set this to '1' to automatically fetch the last version of the garage tools installed by the aktualizr-native. Otherwise use the fixed version specified in the recipe.


Sets the --url parameter of garage-sign targets add, which sets a custom URL for the Image repository targets.


Use this option to have the metadata expire after a fixed date and time.

Specify the time as a UTC instant like in the following example:

GARAGE_TARGET_EXPIRES = "2018-01-01T00:01:00Z"

Currently, this only works when using the master branch of meta-updater.


Use this option to have the metadata expire after an elapsed period of time.

Specify the number of years, months and days like in the following example:


Currently, this only works when using the master branch of meta-updater.


The initramfs/initrd image that is used as a proxy while booting into OSTree deployment. Do not change this setting unless you are sure that your initramfs can serve as such a proxy.


When set, your ostree commit will be pushed to a remote repo as a bitbake step. This should be the path to a zipped credentials file in the format accepted by garage-push.


When set to '1' (default value), deploys credentials to the built image. Override it in local.conf to built a generic image that can be provisioned manually after the build.


Which provisioning method to use. Valid options are aktualizr-shared-prov, aktualizr-device-prov, and aktualizr-device-prov-hsm. For more information on these provisioning methods, see the OTA Connect documentation. The default is aktualizr-shared-prov. This can also be set to an empty string to avoid using a provisioning recipe.


Extensions to aktualizr. The only valid options are hsm (to build with HSM support) and secondary-network (to set up a simulated 'in-vehicle' network with support for a primary node with a DHCP server and a secondary node with a DHCP client).


A file containing JSON configuration for secondaries. It will be installed into /etc/sota/ecus on the device and automatically provided to aktualizr. See here for more details.


A custom hardware ID that will be written to the aktualizr config. Defaults to MACHINE if not set.


The base device tree to use with the kernel. Used together with FIT images. You can change it, and the device tree will also be changed after the update.


A whitespace-separated list of used device tree overlays for FIT image. This list is OSTree-updateable as well.


Extra configuration fragments for FIT image.


Controls maximum resource usage of the aktualizr service, when aktualizr-resource-control is installed on the image. See aktualizr service resource control for details.


Sets polling interval for aktualizr to check for updates if aktualizr-polling-interval is included in the image.