summaryrefslogtreecommitdiff
path: root/doc/README.bootcount
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2020-04-24 13:04:38 -0400
committerTom Rini <[email protected]>2020-04-24 13:04:38 -0400
commit18b9c98024ec89e00a57707f07ff6ada06089d26 (patch)
tree60b4659a673d7a9dff309ee0d0b324c242a53cfc /doc/README.bootcount
parentb897306341024695d17296efc1f9d83d06368209 (diff)
parent08140dba0f539842d4836afb56fe43a33d8ba045 (diff)
Merge branch '2020-04-24-master-imports'
- Assorted minor bugfixes. - Resync fixdep with Linux v5.7-rc1 - Numerous changes to reduce SPL in various cases including when we have read-only env support. - Allow mkimage to align the header on FIT images to a specific size.
Diffstat (limited to 'doc/README.bootcount')
-rw-r--r--doc/README.bootcount51
1 files changed, 51 insertions, 0 deletions
diff --git a/doc/README.bootcount b/doc/README.bootcount
new file mode 100644
index 00000000000..b1c22905c66
--- /dev/null
+++ b/doc/README.bootcount
@@ -0,0 +1,51 @@
+.. SPDX-License-Identifier: GPL-2.0+
+
+Boot Count Limit
+================
+
+This allows to detect multiple failed attempts to boot Linux.
+
+After a power-on reset, "bootcount" variable will be initialized with 1, and
+each reboot will increment the value by 1.
+
+If, after a reboot, the new value of "bootcount" exceeds the value of
+"bootlimit", then instead of the standard boot action (executing the contents of
+"bootcmd") an alternate boot action will be performed, and the contents of
+"altbootcmd" will be executed.
+
+If the variable "bootlimit" is not defined in the environment, the Boot Count
+Limit feature is disabled. If it is enabled, but "altbootcmd" is not defined,
+then U-Boot will drop into interactive mode and remain there.
+
+It is the responsibility of some application code (typically a Linux
+application) to reset the variable "bootcount", thus allowing for more boot
+cycles.
+
+BOOTCOUNT_EXT
+-------------
+
+This adds support for maintaining boot count in a file on an EXT filesystem.
+The file to use is define by:
+
+SYS_BOOTCOUNT_EXT_INTERFACE
+SYS_BOOTCOUNT_EXT_DEVPART
+SYS_BOOTCOUNT_EXT_NAME
+
+The format of the file is:
+
+==== =================
+type entry
+==== =================
+u8 magic
+u8 version
+u8 bootcount
+u8 upgrade_available
+==== =================
+
+To prevent unattended usage of "altbootcmd" the "upgrade_available" variable is
+used.
+If "upgrade_available" is 0, "bootcount" is not saved, if "upgrade_available" is
+1 "bootcount" is save.
+So the Userspace Application must set the "upgrade_available" and "bootcount"
+variables to 0, if a boot was successfully.
+This also prevents writes on all reboots.