bootstd: Add command to enable setting of bootmeth specific properties

We have previously added logic to allow a "fallback" option to be
specified in the extlinux configuration. Provide a command that allows
us to set this as the preferred default option when booting.

Combined with the bootcount functionality, this allows the "altbootcmd"
to provide a means of falling back to a previously known good state
after a failed update. For example, if "bootcmd" is set to:

    bootflow scan -lb

We would set "altbootcmd" to:

    bootmeth set extlinux fallback 1; bootflow scan -lb

Causing the boot process to boot from the fallback option.

Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Martyn Welch <martyn.welch@collabora.com>
This commit is contained in:
Martyn Welch
2024-10-09 14:15:40 +01:00
committed by Tom Rini
parent 8ba82a91b3
commit 3809fd35a5
6 changed files with 196 additions and 6 deletions

View File

@@ -103,6 +103,12 @@ provide a `read_bootflow()` method which checks whatever bootdevs it likes, then
returns the bootflow, if found. Some of these bootmeths may be very slow, if
they scan a lot of devices.
The extlinux bootmeth also allows for bootmeth specific configuration to be
set. A bootmeth that wishes to support this provides the `set_property()`
method. This allows string properties and values to be passed to the bootmeth.
It is up to the bootmeth to determine what action to take when this method is
called.
Boot process
------------
@@ -459,8 +465,8 @@ Three commands are available:
See :doc:`/usage/cmd/bootflow`
`bootmeth`
Allow listing of available bootmethds and setting the order in which they
are tried. See :doc:`/usage/cmd/bootmeth`
Allow listing of available bootmethds, setting the order in which they are
tried and bootmeth specific configuration. See :doc:`/usage/cmd/bootmeth`
.. _BootflowStates: