diff options
author | Vasileios Amoiridis <vassilisamir@gmail.com> | 2024-06-28 19:35:42 +0200 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2024-07-16 12:46:34 -0600 |
commit | 1c1e484ba856fa03122a01cd9e7b8e038fa5d1bc (patch) | |
tree | 885de66f1cc2afbfe97270f2b365945660ec3d98 /doc/api/bootcount.rst | |
parent | 1d7e2120af8ddf1abbdb6f34e3a39174cf54736f (diff) | |
download | u-boot-1c1e484ba856fa03122a01cd9e7b8e038fa5d1bc.tar.gz u-boot-1c1e484ba856fa03122a01cd9e7b8e038fa5d1bc.tar.bz2 u-boot-1c1e484ba856fa03122a01cd9e7b8e038fa5d1bc.zip |
doc: api: bootcount: Convert to rST documentation
Move to the new documentation style with rST formatting.
Signed-off-by: Vasileios Amoiridis <vasileios.amoiridis@cern.ch>
Diffstat (limited to 'doc/api/bootcount.rst')
-rw-r--r-- | doc/api/bootcount.rst | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/doc/api/bootcount.rst b/doc/api/bootcount.rst new file mode 100644 index 0000000000..9435a7ef15 --- /dev/null +++ b/doc/api/bootcount.rst @@ -0,0 +1,58 @@ +.. SPDX-License-Identifier: GPL-2.0+ + +Boot Count Limit +================ + +This is enabled by CONFIG_BOOTCOUNT_LIMIT. + +This allows to detect multiple failed attempts to boot Linux. + +After a power-on reset, the ``bootcount`` variable will be initialized to 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`` to 0 when the system booted +successfully, thus allowing for more boot cycles. + +CONFIG_BOOTCOUNT_FS +-------------------- + +This adds support for maintaining boot count in a file on a filesystem. +Tested filesystems are FAT and EXT. The file to use is defined by: + +CONFIG_SYS_BOOTCOUNT_FS_INTERFACE +CONFIG_SYS_BOOTCOUNT_FS_DEVPART +CONFIG_SYS_BOOTCOUNT_FS_NAME + +The format of the file is: + +.. list-table:: + :header-rows: 1 + + * - 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 saved. +So a userspace application should take care of setting the ``upgrade_available`` +and ``bootcount`` variables to 0, if the system boots successfully. +This also avoids writing the ``bootcount`` information on all reboots. |