= 001 Host Update Mechanism
:page-parent: Architecture Decision Records
:page-grand_parent: Explanation

// SPDX-FileCopyrightText: 2022 Unikie
// SPDX-License-Identifier: GFDL-1.3-no-invariants-or-later OR CC-BY-SA-4.0

== Status

Proposed

== Context

Spectrum currently has no implementation for software update. The host --
consisting of the Linux kernel, KVM, cloud-hypervisor and minimal user space
tools -- will require software updates to support feature development and
security fixes.

== Decision

The Spectrum installer will set up the system on partition A of the block
device, as part of an A/B update scheme where user (or installer) writes the
update image to partition B.

The bootloader will provide four boot options: _A_, _A (mutable)_, _B_, _B
(mutable)_.

== Consequences

Default boot selection, incremental updates (e.g. overlays), and over-the-air
updates are postponed for later.
