Meta-updater is a Yocto layer that enables over-the-air updates (OTA) with OSTree and Aktualizr — the default client for HERE OTA Connect.
OSTree is a tool for atomic full file system upgrades with rollback capability. OSTree has several advantages over traditional dual-bank systems, but the most important one is that it minimizes network bandwidth and data storage footprint by sharing files with the same contents across file system deployments.
Aktualizr implements Uptane, supports device authentication and provisioning, and is integrated with OSTree. You can connect aktualizr to your own server solution or sign up for a free account at HERE OTA Connect to get started.
If you don’t already have a Yocto project that you want to add OTA to, you can use the HERE OTA Connect Quickstart project to rapidly get up and running on a Raspberry Pi or with QEMU. It takes a standard poky distribution, and adds OTA and OSTree capabilities.
In addition to the standard Yocto dependencies, meta-updater generally requires a few additional dependencies, depending on your use case and target platform. To install these additional packages on Debian/Ubuntu, run this:
sudo apt install cpu-checker default-jre parted
To build for Minnowboard with GRUB, you will also need to install TianoCore’s ovmf package on your host system. On Debian/Ubuntu, you can do so with this command:
sudo apt install ovmf
The following documentation focuses on tasks that involve the meta-updater layer. If you want to get an idea of the overall developer workflow in OTA Connect, see the OTA Connect Developer Guide.
-
Find out if your board is supported and learn about the minimum hardware requirements.
-
Build an Automotive Grade Linux image
Learn how to use this layer as part of AGL.
-
Add OTA functionality to an existing Yocto project
Learn how to add this layer to your own Yocto project.
-
SOTA-related variables in local.conf
Learn how to configure OTA-related functionality when building images, including how to install custom versions of aktualizr.
-
Learn how to optimize your build for development or production.
-
Learn more about the methods for provisioning devices. For more detail, you may also want to read about how to enable device credential provisioning or how to simulate it for testing.
-
Learn about the
garage-push
andgarage-sign
utilities, aktualizr configuration recipes, and service resource control. -
Testing with oe-selftest and ptest
Learn how to use the
oe-selftest
framework for quality assurance and how to run the aktualizr test suite via ptest. -
Get help on common problems.
This code is licensed under the MIT license, a copy of which can be found in this repository. All code is copyright HERE Europe B.V., 2016-2020.
We require that contributors accept the terms of Linux Foundation’s Developer Certificate of Origin. Please see the contribution instructions of aktualizr for more information.