]> Git Repo - J-u-boot.git/blame - doc/README.bootcount
arm: bcm7xxx: Convert to DM_SERIAL
[J-u-boot.git] / doc / README.bootcount
CommitLineData
df928f85
FD
1.. SPDX-License-Identifier: GPL-2.0+
2
3Boot Count Limit
4================
5
fc1383ae
MO
6This is enabled by CONFIG_BOOTCOUNT_LIMIT.
7
df928f85
FD
8This allows to detect multiple failed attempts to boot Linux.
9
fc1383ae 10After a power-on reset, the "bootcount" variable will be initialized to 1, and
df928f85
FD
11each reboot will increment the value by 1.
12
13If, after a reboot, the new value of "bootcount" exceeds the value of
14"bootlimit", then instead of the standard boot action (executing the contents of
fc1383ae 15"bootcmd"), an alternate boot action will be performed, and the contents of
df928f85
FD
16"altbootcmd" will be executed.
17
18If the variable "bootlimit" is not defined in the environment, the Boot Count
19Limit feature is disabled. If it is enabled, but "altbootcmd" is not defined,
20then U-Boot will drop into interactive mode and remain there.
21
22It is the responsibility of some application code (typically a Linux
fc1383ae
MO
23application) to reset the variable "bootcount" to 0 when the system booted
24successfully, thus allowing for more boot cycles.
df928f85 25
fc1383ae
MO
26CONFIG_BOOTCOUNT_EXT
27--------------------
df928f85
FD
28
29This adds support for maintaining boot count in a file on an EXT filesystem.
fc1383ae 30The file to use is defined by:
df928f85 31
fc1383ae
MO
32CONFIG_SYS_BOOTCOUNT_EXT_INTERFACE
33CONFIG_SYS_BOOTCOUNT_EXT_DEVPART
34CONFIG_SYS_BOOTCOUNT_EXT_NAME
df928f85
FD
35
36The format of the file is:
37
38==== =================
39type entry
40==== =================
41u8 magic
42u8 version
43u8 bootcount
44u8 upgrade_available
45==== =================
46
fc1383ae 47To prevent unattended usage of "altbootcmd", the "upgrade_available" variable is
df928f85 48used.
fc1383ae
MO
49If "upgrade_available" is 0, "bootcount" is not saved.
50If "upgrade_available" is 1, "bootcount" is saved.
51So a userspace application should take care of setting the "upgrade_available"
52and "bootcount" variables to 0, if the system boots successfully.
53This also avoids writing the "bootcount" information on all reboots.
This page took 0.068487 seconds and 4 git commands to generate.