
Add documentation for the pxe bootmeth.
Signed-off-by: Simon Glass sjg@chromium.org Reviewed-by: Quentin Schulz quentin.schulz@cherry.de ---
Changes in v2: - Adjustments from Heinrich's comments
doc/develop/bootstd/index.rst | 1 + doc/develop/bootstd/overview.rst | 2 +- doc/develop/bootstd/pxelinux.rst | 27 +++++++++++++++++++++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 doc/develop/bootstd/pxelinux.rst
diff --git a/doc/develop/bootstd/index.rst b/doc/develop/bootstd/index.rst index 5bbb3d633a3..5052afe448f 100644 --- a/doc/develop/bootstd/index.rst +++ b/doc/develop/bootstd/index.rst @@ -8,3 +8,4 @@ Standard Boot
overview extlinux + pxelinux diff --git a/doc/develop/bootstd/overview.rst b/doc/develop/bootstd/overview.rst index 7af159b9ca8..b9b45f1e7a7 100644 --- a/doc/develop/bootstd/overview.rst +++ b/doc/develop/bootstd/overview.rst @@ -413,7 +413,7 @@ Available bootmeth drivers Bootmeth drivers are provided for booting from various media:
- :doc:`extlinux / syslinux <extlinux>` boot from a storage device - - extlinux boot from a network (PXE) + - :doc:`extlinux / syslinux <extlinux>` boot from a network (PXE) - U-Boot scripts from disk, network or SPI flash - EFI boot using bootefi from disk - VBE diff --git a/doc/develop/bootstd/pxelinux.rst b/doc/develop/bootstd/pxelinux.rst new file mode 100644 index 00000000000..a4e559160ca --- /dev/null +++ b/doc/develop/bootstd/pxelinux.rst @@ -0,0 +1,27 @@ +.. SPDX-License-Identifier: GPL-2.0+: + +PXE Bootmeth +============ + +PXE (Preboot eXecution-Environment) provides a way to boot an operating system +over a network interface. The PXE bootmeth supports PXELINUX and 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 described +`here https://uapi-group.org/specifications/specs/boot_loader_specification`_. +It consists primarily of a list of named operating systems along with the +kernel, initial ramdisk and other settings. The file is retrieved from a network +server using the TFTP protocol. + +When invoked on a bootdev, this bootmeth searches for the file and creates a +bootflow if found. See +`PXELINUX https://wiki.syslinux.org/wiki/index.php?title=PXELINUX`_ for +a full description of the search procedure. + +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 Operating System or provide a list of options to the user, perhaps +with a timeout. + +The compatible string "u-boot,extlinux-pxe" is used for the driver. It is +present if `CONFIG_BOOTMETH_EXTLINUX_PXE` is enabled.