From ab9903c094854dac31a7d12f5936e85e601317c3 Mon Sep 17 00:00:00 2001 From: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com> Date: Tue, 16 Apr 2024 11:35:30 +0200 Subject: [PATCH] Add steps on changing boot slots (#32323) * Add steps on changing boot slots * Apply suggestions from code review Co-authored-by: Stefan Agner * Apply suggestions from code review Co-authored-by: Stefan Agner --------- Co-authored-by: Stefan Agner --- source/common-tasks/os.markdown | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/source/common-tasks/os.markdown b/source/common-tasks/os.markdown index b024344dfb1..24ee35d502f 100644 --- a/source/common-tasks/os.markdown +++ b/source/common-tasks/os.markdown @@ -48,6 +48,27 @@ Updates of the {% term "Home Assistant Operating System" %} are independent of o {% endtabbed_block %} +#### About boot slots used during the update + +The {% term "Home Assistant Operating System" %} uses two boot slots. On first installation, boot slot A is used. After that, on each Operating System update, the other boot slot is updated and reboot is triggered. On that reboot, the system boots from the other boot slot (A ➝ B ➝ A,...). When booting fails, the system automatically uses the previous boot slot, so that it boots from the last working operating system. + +#### Changing the boot slot used + +You can manually define that the previous boot slot is used. This can be useful in cases where the system boots but something still seems wrong. For example, when the device is no longer correctly detected or you see another issue that might be related to the latest update of the operating system. + +1. To check which boot slot is currently in use and what OS versions are installed in the individual slots, in the Home Assistant command line, enter the following command: + + ```bash + ha os info + ``` + +2. To change the boot slot, enter the following command: + - This will boot into the other (previous) OS version. + + ```bash + ha os boot-slot other + ``` + ### Updating Home Assistant Core {% include common-tasks/update.md %}