bootstd: Update extlinux and pxe to allow boot interruption

It is useful to be able to inspect things before the OS is actually
booted, perhaps to check that all is well or to adjust the kernel
command-line. Implement the 'read_all()' method to allow this.

Provide a simple test to check that the images are found.

For now it is not possible to actually continue the uninterrupted boot,
without re-reading all the images.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2024-12-05 19:36:20 -07:00
parent 2d7ae1a1b5
commit 2283ab0538
5 changed files with 106 additions and 3 deletions

View File

@@ -64,4 +64,19 @@ int extlinux_boot(struct udevice *dev, struct bootflow *bflow,
pxe_getfile_func getfile, bool allow_abs_path,
const char *bootfile);
/**
* extlinux_read_all() - read all files for a bootflow
*
* @dev: Bootmethod device to boot
* @bflow: Bootflow to read
* @getfile: Function to use to read files
* @allow_abs_path: true to allow absolute paths
* @bootfile: Bootfile whose directory loaded files are relative to, NULL if
* none
* Return: 0 if OK, -EIO on I/O error, other -ve on other error
*/
int extlinux_read_all(struct udevice *dev, struct bootflow *bflow,
pxe_getfile_func getfile, bool allow_abs_path,
const char *bootfile);
#endif