diff options
-rw-r--r-- | doc/develop/bootstd/extlinux.rst | 3 | ||||
-rw-r--r-- | doc/develop/bootstd/index.rst | 1 | ||||
-rw-r--r-- | doc/develop/bootstd/overview.rst | 2 | ||||
-rw-r--r-- | doc/develop/bootstd/pxelinux.rst | 27 |
4 files changed, 31 insertions, 2 deletions
diff --git a/doc/develop/bootstd/extlinux.rst b/doc/develop/bootstd/extlinux.rst index 46e9ad9eea1..bf27dc57aaa 100644 --- a/doc/develop/bootstd/extlinux.rst +++ b/doc/develop/bootstd/extlinux.rst @@ -14,7 +14,8 @@ 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 the PXE bootmeth uses the same file format, but in a network context. +Note that the :doc:`pxelinux` 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. 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 26b798596c5..6afa1c29615 100644 --- a/doc/develop/bootstd/overview.rst +++ b/doc/develop/bootstd/overview.rst @@ -417,7 +417,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..c4b7fbb4c9c --- /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. |