From: Bastian Krause <bst@pengutronix.de>
To: barebox@lists.infradead.org
Cc: "Enrico Jörns" <ejo@pengutronix.de>,
"Bastian Krause" <bst@pengutronix.de>
Subject: [PATCH 8/9] doc: bootchooser: rephrase scenarios
Date: Mon, 31 Mar 2025 14:49:31 +0200 [thread overview]
Message-ID: <20250331124932.901033-8-bst@pengutronix.de> (raw)
In-Reply-To: <20250331124932.901033-1-bst@pengutronix.de>
- The description of the systems and the requirements got mixed up.
Document both separately.
- Make it clear that only bootchooser boot targets are meant here, not
global.boot.default.
- Rephrase some other parts of the scenarios section to improve
readability.
Signed-off-by: Bastian Krause <bst@pengutronix.de>
---
Documentation/user/bootchooser.rst | 67 ++++++++++++++++++------------
1 file changed, 40 insertions(+), 27 deletions(-)
diff --git a/Documentation/user/bootchooser.rst b/Documentation/user/bootchooser.rst
index 53bf5f329fd..0c236de22fb 100644
--- a/Documentation/user/bootchooser.rst
+++ b/Documentation/user/bootchooser.rst
@@ -258,13 +258,23 @@ anything higher than one.
Scenario 1
##########
-- a system that shall always boot without user interaction
-- staying in the bootloader is not an option.
+System description:
+
+- System with multiple boot targets
+- One recovery system
+
+Requirements:
+
+- System shall always boot without user interaction.
+- Staying in the bootloader is not an option.
In this scenario a boot target is started for the configured number of remaining
attempts. If it cannot be started successfully, the next boot target is chosen.
-This repeats until no boot targets are left to start, then all remaining attempts
-are reset to their defaults and the first boot target is tried again.
+This repeats until no bootchooser boot targets are left to start, then the
+recovery system is booted.
+
+If all boot target's remaining attempts or priorities are 0 during bootchooser
+start, the procedure repeats.
Settings
^^^^^^^^
@@ -285,19 +295,24 @@ Deployment
Recovery
^^^^^^^^
-Recovery will only be called when all boot targets are not startable (That is,
-no valid kernel found or read failure). Once a boot target is startable (a
-valid kernel is found and started) *bootchooser* will never fall through to
-the recovery boot target.
+Recovery will only be called if none of the boot targets are startable.
+As long as one boot target is startable, *bootchooser* will never fall through
+to the recovery boot target.
+
+Could be a recovery system or barebox script.
Scenario 2
##########
-- a system with multiple boot targets
-- one recovery system
+System description:
+
+- A system with multiple boot targets
+- One recovery system
-A boot target that was booted three times without success shall never be booted
-again (except after update or user interaction).
+Requirements:
+
+- Boot targets that were booted three times unsuccessfully shall never be booted
+ again (except after update or user interaction).
Settings
^^^^^^^^
@@ -313,26 +328,27 @@ Deployment
^^^^^^^^^^
#. barebox or flash robot fills all boot targets with valid systems.
-#. barebox or flash robot marks boot targets as good or *state* contains non zero
+#. barebox or flash robot marks boot targets as good or *state* contains non-zero
defaults for the remaining_attempts/priorities.
Recovery
^^^^^^^^
-Done by 'recovery' boot target which is booted after *bootchooser* falls
-through due to the lack of bootable targets. This boot target can be:
-
-- a system that will be booted as recovery.
-- a barebox script that will be started.
+Recovery system or barebox script to be started after *bootchooser* found no
+bootable targets.
Scenario 3
##########
-- a system with multiple boot targets
-- one recovery system
-- a power cycle shall not be counted as failed boot.
+System description:
+
+- A system with multiple boot targets
+- One recovery system
-Booting a boot target three times without success disables it.
+Requirements:
+
+- All enabled boot targets shall be tried after a power-on reset.
+- Booting a boot target unsuccessfully three times shall disable it.
Settings
^^^^^^^^
@@ -353,11 +369,8 @@ Deployment
Recovery
^^^^^^^^
-Done by 'recovery' boot target which is booted after *bootchooser* falls
-through due to the lack of bootable targets. This target can be:
-
-- a system that will be booted as recovery.
-- a barebox script that will be started.
+Recovery system or barebox script to be started after *bootchooser* found no
+bootable targets.
.. _bootchooser,state_framework:
--
2.39.5
next prev parent reply other threads:[~2025-03-31 12:50 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-31 12:49 [PATCH 1/9] doc: bootchooser: drop article before bootchooser Bastian Krause
2025-03-31 12:49 ` [PATCH 2/9] doc: bootchooser: drop confusing description for "remaining_attempts" Bastian Krause
2025-03-31 12:49 ` [PATCH 3/9] doc: bootchooser: clarify marking boot successful from barebox Bastian Krause
2025-03-31 12:49 ` [PATCH 4/9] doc: bootchooser: don't recommend NV backend Bastian Krause
2025-03-31 12:49 ` [PATCH 5/9] doc: bootchooser: move global.bootchooser.reset_attempts docs down to other variables Bastian Krause
2025-03-31 12:49 ` [PATCH 6/9] doc: bootchooser: rephrase global.bootchooser.reset_priorities description Bastian Krause
2025-03-31 12:49 ` [PATCH 7/9] doc: bootchooser: document defaults of global.bootchooser.* Bastian Krause
2025-03-31 12:49 ` Bastian Krause [this message]
2025-03-31 12:49 ` [PATCH 9/9] doc: bootchooser: document NV storage backend separately Bastian Krause
2025-04-01 6:06 ` [PATCH 1/9] doc: bootchooser: drop article before bootchooser Sascha Hauer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250331124932.901033-8-bst@pengutronix.de \
--to=bst@pengutronix.de \
--cc=barebox@lists.infradead.org \
--cc=ejo@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox