= meta-updater
:toc: macro
:toc-title:
:meta-updater-github-url: https://github.com/advancedtelematic/meta-updater/blob/master/

ifndef::env-github[:meta-updater-github-url:]

Meta-updater is a link:https://www.yoctoproject.org/software-overview/layers/[Yocto layer] that enables over-the-air updates (OTA) with https://github.com/ostreedev/ostree[OSTree] and https://github.com/advancedtelematic/aktualizr[Aktualizr].

https://github.com/ostreedev/ostree[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.

https://github.com/advancedtelematic/aktualizr[Aktualizr] (and https://github.com/advancedtelematic/rvi_sota_client[RVI SOTA client]) add authentication and provisioning capabilities to OTA and are integrated with OSTree. You can connect with these open-source applications or sign up for a free account at https://connect.ota.here.com/[HERE OTA Connect] to get started.

[discrete]
== Table of Contents
* xref:{meta-updater-github-url}docs/modules/ROOT/pages/build.adoc[Build]
+
Learn how to use this layer to build a basic disk image and add it to your own Yocto project.
+
* xref:{meta-updater-github-url}docs/modules/ROOT/pages/supported-boards.adoc[Supported boards]
+
Find out if your board is supported and learn about the minimum hardware requirements.
+
* xref:{meta-updater-github-url}docs/modules/ROOT/pages/sota-variables.adoc[SOTA-related variables in local.conf]
+
Learn how to configure OTA-related functionality when building disk images.
+
* xref:{meta-updater-github-url}docs/modules/ROOT/pages/meta-updater-usage.adoc[Usage]
+
Learn about the `garage-push` and `garage-sign` utilities, aktualizr configuration and service resource control, and OSTree.
+
* xref:{meta-updater-github-url}docs/modules/ROOT/pages/dev-config.adoc[Development configuration]
+
Learn how to configure logging, install custom versions of aktualizr, and override the version indicator for sofware updates.
+
* xref:{meta-updater-github-url}docs/modules/ROOT/pages/meta-updater-testing.adoc#_qa_with_oe_selftest[QA with oe-selftest]
+
Learn how to use the `oe-selftest` framework for quality assurance.
+
* xref:{meta-updater-github-url}docs/modules/ROOT/pages/meta-updater-testing.adoc#_aktualizr_test_suite_with_ptest[Aktualizr test suite with ptest]
+
Learn how to enable Yocto's package test functionality and run parts of the aktualizr test suite.
+
* xref:{meta-updater-github-url}docs/modules/ROOT/pages/provisioning-methods.adoc[Provisoning methods]
+
Learn how to enable different methods for provisioning devices.

== License

This code is licensed under the link:COPYING.MIT[MIT license], a copy of which can be found in this repository. All code is copyright HERE Europe B.V., 2016-2019.

We require that contributors accept the terms of Linux Foundation's link:https://developercertificate.org/[Developer Certificate of Origin]. Please see the https://github.com/advancedtelematic/aktualizr/blob/master/CONTRIBUTING.md[contribution instructions of aktualizr] for more information.
