Add documentation for the extlinux bootmeth. Signed-off-by: Simon Glass <s...@chromium.org> ---
doc/develop/bootstd/extlinux.rst | 27 +++++++++++++++++++++++++++ doc/develop/bootstd/index.rst | 1 + doc/develop/bootstd/overview.rst | 2 +- 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 doc/develop/bootstd/extlinux.rst diff --git a/doc/develop/bootstd/extlinux.rst b/doc/develop/bootstd/extlinux.rst new file mode 100644 index 00000000000..28490f38899 --- /dev/null +++ b/doc/develop/bootstd/extlinux.rst @@ -0,0 +1,27 @@ +.. SPDX-License-Identifier: GPL-2.0+: + +Extlinux Bootmeth +================= + +`Extlinux <https://uapi-group.org/specifications/specs/boot_loader_specification>`_ +(sometimes called syslinux) allows U-Boot to provide a menu of possible +Operating Systems from which the user can choose. + +U-Boot includes a parser for the `extlinux.conf` file. It consists primarily of +a list of named OSes along with the kernel, initial ramdisk and other settings. +The file is stored in the `extlinux/` subdirectory, possibly under the `boot/` +subdirectory. This list of prefixes ({"/", "/boot"} by default) can be selected +with the `filename-prefixes` property in the bootstd device. + +Note that PXE (Preboot eXecution-Environment) uses the same file format, but in +a network context. + +When invoked on a bootdev, this bootmeth searches for the file and creates a +bootflow if found. + +When the bootflow is booted, the bootmeth calls pxe_setup_ctx() to set up the +context, then pxe_process() to process the file. Depending on the contents, this +may boot an OS or provide a list of options to the user, perhaps with a timeout. + +The compatible string "u-boot,extlinux" is used for the driver. The driver is +automatically instantiated if there are no bootmeth drivers in the devicetree. diff --git a/doc/develop/bootstd/index.rst b/doc/develop/bootstd/index.rst index f4f87c7787c..5bbb3d633a3 100644 --- a/doc/develop/bootstd/index.rst +++ b/doc/develop/bootstd/index.rst @@ -7,3 +7,4 @@ Standard Boot :maxdepth: 2 overview + extlinux diff --git a/doc/develop/bootstd/overview.rst b/doc/develop/bootstd/overview.rst index 761f61a573b..086a0b1281d 100644 --- a/doc/develop/bootstd/overview.rst +++ b/doc/develop/bootstd/overview.rst @@ -412,7 +412,7 @@ Available bootmeth drivers Bootmeth drivers are provided for: - - extlinux / syslinux boot from a disk + - :doc:`extlinux / syslinux <extlinux>` boot from a disk - extlinux boot from a network (PXE) - U-Boot scripts from disk, network or SPI flash - EFI boot using bootefi from disk -- 2.34.1