
From: Simon Glass <sjg@chromium.org> It is sometimes desirable to have the devicetrees packaged with firware, or in a different FIT from the OS. This series adds support for this, including a test. The new bootmeth can automatically locate a state file and use that to decide what images to use when booting. The OS must update the file before rebooting, if a different selection is required. For now there is no logic to deal with boot failures. Simon Glass (24): Correct implementation of Spawn() in ConsoleBase test: Rename test_vboot() to test_vboot_base() sandbox: Increase the number of bootstage records boot: Tidy up fit_get_desc() boot: Use a common index in fit_conf_print boot: Show messages when using FIT best-match boot: Add a constant for the FIT-configuration compatible boot: Show compatible strings with FIT information sandbox: Enable FIT best-match mkimage: Remove an unused argument from fdt_property_file() mkimage: Add compatible strings to configuration node mkimage: Support a load-only FIT mkimage: Set the timestamp with -f auto test: Allow inspection of input filesystems test: Drop double removal of the FS image on failure boot: Move PXE-parsing logic out to a separate file boot: Remove blank lines in pxe_parse boot: pxe: Add a token for FIT boot: Use provided filename with bootmeth_alloc_other() boot: Support restarting a bootm sequence from PXE boot: Add comments for struct pxe_label boot: Add support for VBE for the OS boot: test: Add a test for the VBE OS flow boot: Add documentation for the VBE-OS bootmeth arch/sandbox/dts/test.dts | 11 + boot/Kconfig | 14 + boot/Makefile | 2 +- boot/bootflow.c | 2 + boot/bootmeth-uclass.c | 3 +- boot/bootmeth_extlinux.c | 3 +- boot/bootmeth_pxe.c | 2 +- boot/ext_pxe_common.c | 3 +- boot/image-board.c | 3 +- boot/image-fit.c | 75 ++- boot/pxe_parse.c | 659 +++++++++++++++++++++++ boot/pxe_utils.c | 711 +------------------------ boot/vbe_abrec.c | 2 +- boot/vbe_abrec.h | 5 + boot/vbe_abrec_fw.c | 1 + boot/vbe_abrec_os.c | 293 ++++++++++ configs/sandbox_defconfig | 1 + doc/develop/bootstd/index.rst | 1 + doc/develop/bootstd/vbe_os.rst | 61 +++ doc/develop/vbe.rst | 2 + doc/mkimage.1 | 13 + include/bootflow.h | 8 +- include/extlinux.h | 4 +- include/image.h | 15 +- include/pxe_utils.h | 63 ++- include/vbe.h | 13 + test/boot/Makefile | 1 + test/boot/bootflow.c | 75 ++- test/boot/bootmeth.c | 19 +- test/boot/vbe_abrec_os.c | 138 +++++ test/py/console_base.py | 15 +- test/py/console_board.py | 2 +- test/py/test.py | 4 + test/py/tests/fs_helper.py | 74 ++- test/py/tests/img/vbe.py | 167 ++++++ test/py/tests/test_ut.py | 3 +- test/py/tests/test_vbe.py | 22 + test/py/tests/test_vboot.py | 4 +- test/py/tests/vboot/sandbox-kernel.dts | 3 +- tools/fit_image.c | 114 ++-- tools/imagetool.h | 15 +- tools/mkimage.c | 12 +- 42 files changed, 1757 insertions(+), 881 deletions(-) create mode 100644 boot/pxe_parse.c create mode 100644 boot/vbe_abrec_os.c create mode 100644 doc/develop/bootstd/vbe_os.rst create mode 100644 test/boot/vbe_abrec_os.c create mode 100644 test/py/tests/img/vbe.py -- 2.43.0 base-commit: 05840f9593b476d7500e1641723a899c57b26233 branch: loadg