summaryrefslogtreecommitdiff
path: root/boot/Kconfig
diff options
context:
space:
mode:
authorMartin Schwan <[email protected]>2025-06-04 14:15:29 +0200
committerTom Rini <[email protected]>2025-06-18 12:15:35 -0600
commit7e5c2c782fb9aba2d9a2e580f51582dd394dc5a3 (patch)
treef4721081e7edc1f3170594e3c0bf6ffdd8c7fbb1 /boot/Kconfig
parentb22a276f039f818d5564bec6637071cfc8a7e432 (diff)
bootstd: Add implementation for bootmeth rauc
Add a bootmeth driver which supports booting A/B system with RAUC as their update client. Signed-off-by: Martin Schwan <[email protected]> Tested-by: Wadim Egorov <[email protected]>
Diffstat (limited to 'boot/Kconfig')
-rw-r--r--boot/Kconfig51
1 files changed, 51 insertions, 0 deletions
diff --git a/boot/Kconfig b/boot/Kconfig
index 30eb5b328d7..a610cf9faf9 100644
--- a/boot/Kconfig
+++ b/boot/Kconfig
@@ -855,6 +855,57 @@ config EXPO
The expo can be presented in graphics form using a vidconsole, or in
text form on a serial console.
+config BOOTMETH_RAUC
+ bool "Bootdev support for RAUC A/B systems"
+ default y if BOOTSTD_FULL
+ depends on CMDLINE
+ select BOOTMETH_GLOBAL
+ select HUSH_PARSER
+ help
+ Enables support for booting RAUC A/B systems from MMC devices. This
+ makes the bootdevs look for a 'boot.scr.uimg' or 'boot.scr' in the
+ respective boot partitions, describing how to boot the distro.
+
+if BOOTMETH_RAUC
+
+config BOOTMETH_RAUC_BOOT_ORDER
+ string "RAUC boot order"
+ default "A B"
+ help
+ Sets the default boot order. This must be list of space-separated
+ strings naming the individual boot slots. Each entry in this string
+ should correspond to an existing slot on the target's flash device.
+
+config BOOTMETH_RAUC_PARTITIONS
+ string "RAUC boot and root partitions indexes"
+ default "1,2 3,4"
+ help
+ Sets the partition indexes of boot and root slots. This must be a list
+ of comma-separated pair values, which in turn are separated by spaces.
+ The first value in pair is for the boot partition and second for the
+ root partition.
+
+config BOOTMETH_RAUC_DEFAULT_TRIES
+ int "RAUC slot default tries"
+ default 3
+ help
+ Sets how many times a slot should be tried booting, before considering
+ it to be bad.
+
+config BOOTMETH_RAUC_RESET_ALL_ZERO_TRIES
+ bool "Reset slot tries when all RAUC slots have zero tries left"
+ default y
+ help
+ When all slots have zero tries left or no valid slot was found, reset
+ to the default boot order set by BOOTMETH_RAUC_BOOT_ORDER and set the
+ slot tries to their default value specified by
+ BOOTMETH_RAUC_DEFAULT_TRIES.
+
+ This prevents a system from remaining in an unbootable state, after
+ all slot tries were decremented to zero.
+
+endif # BOOTMETH_RAUC
+
config BOOTMETH_SANDBOX
def_bool y
depends on SANDBOX