Hi Heinrich, On Mon, 15 Jul 2024 at 23:47, Heinrich Schuchardt <xypron.g...@gmx.de> wrote: > > On 7/15/24 12:13, Simon Glass wrote: > > Add documentation for the pxe bootmeth. > > > > Signed-off-by: Simon Glass <s...@chromium.org> > > --- > > > > 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 086a0b1281d..fd0692daf0d 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: > > > > - :doc:`extlinux / syslinux <extlinux>` boot from a disk > > - - 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..08ba67e09c5 > > --- /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 > > %s/Operating System/operating system/ > > > +over a network interface. The PXE bootmeth supports PXELINUX and allows > > U-Boot to > > %s/bootmeth/boot method/ > > > +provide a menu of possible Operating Systems from which the user can > > choose. > > PXELINUX is a binary. Does U-Boot really provide a menu when the > PXELINUX binary is downloaded and executed?
It downloads a config file which is what includes information about the menu. I think I was a bit unclear about this when I wrote this doc. > > > + > > +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 OSes along with the kernel, > > initial > > +ramdisk and other settings. The file is retrieved from a network server > > using > > +tftpboot. > > Does this paragraph relate to PXELINUX? > > tftpboot is a command and not a protocol. Shouldn't boot methods work > when the command line interface is disabled? I guess you want to replace > > %s/tftpboot/the TFTP protocol/ > > > + > > +When invoked on a bootdev, this bootmeth searches for the file and creates > > a > > %s/bootdev/boot device/ > %s/bootmeth/boot method/ > > > +bootflow if found. See > > %s/bootflow/boot flow/ > > > +`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 OS 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. The > > driver > > +is automatically instantiated if there are no bootmeth drivers in the > > +devicetree. > > Device-trees contain compatible strings for drivers, not the drivers > themselves. > > If every configured boot method is enabled if there is no compatible > string for boot methods in the device-tree, why don't we mention this in > the overview instead of repeating ourselves? OK done > > Please, mention the relevant configuration option. Regards, Simon