[PATCH v2] cmd: pxe: add alias devicetree-overlay for fdtoverlays

Edoardo Tomelleri e.tomell at gmail.com
Tue Oct 4 20:09:25 CEST 2022


Hello,
is there any issue remaining with this patch? Will this be accepted
for 2022.10 release?
Thanks,
Edoardo

Il giorno mer 21 set 2022 alle ore 15:41 Edoardo Tomelleri
<e.tomell at gmail.com> ha scritto:
>
> No problem, I noticed that I forgot to update the link when you asked
> to add it to the commit message.
>
> Il giorno mer 21 set 2022 alle ore 15:30 Neil Armstrong
> <neil.armstrong at linaro.org> ha scritto:
> >
> > On 21/09/2022 15:26, Edoardo Tomelleri wrote:
> > > This adds keyword devicetree-overlay as an alias for fdtoverlays in
> > > extlinux (sysboot) and pxe to better follow the Boot Loader Specification
> > > [1], improves documentation around them by adding an example for both
> > > fdtoverlays and devicetree-overlay and the environment variable required
> > > for this feature. The link for the spec is updated to the current one.
> > >
> > > [1] https://systemd.io/BOOT_LOADER_SPECIFICATION/
> > >
> > > Signed-off-by: Edoardo Tomelleri <e.tomell at gmail.com>
> > > ---
> > >
> > > Changes in v2:
> > > - Updated link to Boot Loader Specification
> > > - Added link to Boot Loader Specification to the patch commit
> > > - Changed README.pxe reusing the same wording as of the aliased commands
> > >
> > >   boot/pxe_utils.c       |  2 ++
> > >   doc/README.pxe         | 12 ++++++++++++
> > >   doc/develop/distro.rst | 32 +++++++++++++++++++++++++++++---
> > >   3 files changed, 43 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/boot/pxe_utils.c b/boot/pxe_utils.c
> > > index a364fa8bb5..d5c215ae2c 100644
> > > --- a/boot/pxe_utils.c
> > > +++ b/boot/pxe_utils.c
> > > @@ -380,6 +380,7 @@ err:
> > >
> > >   /**
> > >    * label_boot_fdtoverlay() - Loads fdt overlays specified in 'fdtoverlays'
> > > + * or 'devicetree-overlay'
> > >    *
> > >    * @ctx: PXE context
> > >    * @label: Label to process
> > > @@ -809,6 +810,7 @@ static const struct token keywords[] = {
> > >       {"devicetreedir", T_FDTDIR},
> > >       {"fdtdir", T_FDTDIR},
> > >       {"fdtoverlays", T_FDTOVERLAYS},
> > > +     {"devicetree-overlay", T_FDTOVERLAYS},
> > >       {"ontimeout", T_ONTIMEOUT,},
> > >       {"ipappend", T_IPAPPEND,},
> > >       {"background", T_BACKGROUND,},
> > > diff --git a/doc/README.pxe b/doc/README.pxe
> > > index 75caa01c4a..d14d2bdcc9 100644
> > > --- a/doc/README.pxe
> > > +++ b/doc/README.pxe
> > > @@ -163,6 +163,13 @@ fdtoverlays <path> [...] - if this label is chosen, use tftp to retrieve the DT
> > >                         and then applied in the load order to the fdt blob stored at the
> > >                         address indicated in the fdt_addr_r environment variable.
> > >
> > > +devicetree-overlay <path> [...] - if this label is chosen, use tftp to retrieve the DT
> > > +                      overlay(s) at <path>. it will be temporarily stored at the
> > > +                      address indicated in the fdtoverlay_addr_r environment variable,
> > > +                      and then applied in the load order to the fdt blob stored at the
> > > +                      address indicated in the fdt_addr_r environment variable.
> > > +                      Alias for fdtoverlays.
> > > +
> > >   kaslrseed           - set this label to request random number from hwrng as kaslr seed.
> > >
> > >   append <string>         - use <string> as the kernel command line when booting this
> > > @@ -178,6 +185,11 @@ fdt <path>           - if this label is chosen, use tftp to retrieve the fdt blob
> > >                     the fdt_addr_r environment variable, and that address will
> > >                     be passed to bootm.
> > >
> > > +devicetree <path>   - if this label is chosen, use tftp to retrieve the fdt blob
> > > +                   at <path>. it will be stored at the address indicated in
> > > +                   the fdt_addr_r environment variable, and that address will
> > > +                   be passed to bootm. Alias for fdt.
> > > +
> > >   fdtdir <path>           - if this label is chosen, use tftp to retrieve a fdt blob
> > >                     relative to <path>. If the fdtfile environment variable
> > >                     is set, <path>/<fdtfile> is retrieved. Otherwise, the
> > > diff --git a/doc/develop/distro.rst b/doc/develop/distro.rst
> > > index 3ee3dac6a2..bc72aa951e 100644
> > > --- a/doc/develop/distro.rst
> > > +++ b/doc/develop/distro.rst
> > > @@ -68,10 +68,10 @@ Boot Configuration Files
> > >
> > >   The standard format for boot configuration files is that of extlinux.conf, as
> > >   handled by U-Boot's "syslinux" (disk) or "pxe boot" (network). This is roughly
> > > -as specified at BootLoaderSpec_:
> > > +as specified at `Boot Loader Specification`_:
> > >
> > >
> > > -... with the exceptions that the BootLoaderSpec document:
> > > +... with the exceptions that the Boot Loader Specification document:
> > >
> > >   * Prescribes a separate configuration per boot menu option, whereas U-Boot
> > >     lumps all options into a single extlinux.conf file. Hence, U-Boot searches
> > > @@ -81,6 +81,8 @@ as specified at BootLoaderSpec_:
> > >   * Does not document the fdtdir option, which automatically selects the DTB to
> > >     pass to the kernel.
> > >
> > > +See also doc/README.pxe under 'pxe file format'.
> > > +
> > >   One example extlinux.conf generated by the Fedora installer is::
> > >
> > >       # extlinux.conf generated by anaconda
> > > @@ -115,6 +117,25 @@ One example extlinux.conf generated by the Fedora installer is::
> > >           fdtdir /boot/dtb-3.16.0-0.rc6.git1.1.fc22.armv7hl+lpae
> > >
> > >
> > > +One example of hand-crafted extlinux.conf::
> > > +
> > > +   menu title Select kernel
> > > +   timeout 100
> > > +
> > > +   label Arch with uart devicetree overlay
> > > +       kernel /arch/Image.gz
> > > +       initrd /arch/initramfs-linux.img
> > > +       fdt /dtbs/arch/board.dtb
> > > +       fdtoverlays /dtbs/arch/overlay/uart0-gpio0-1.dtbo
> > > +       append console=ttyS0,115200 console=tty1 rw root=UUID=fc0d0284-ca84-4194-bf8a-4b9da8d66908
> > > +
> > > +   label Arch with uart devicetree overlay but with Boot Loader Specification keys
> > > +       kernel /arch/Image.gz
> > > +       initrd /arch/initramfs-linux.img
> > > +       devicetree /dtbs/arch/board.dtb
> > > +       devicetree-overlay /dtbs/arch/overlay/uart0-gpio0-1.dtbo
> > > +       append console=ttyS0,115200 console=tty1 rw root=UUID=fc0d0284-ca84-4194-bf8a-4b9da8d66908
> > > +
> > >   Another hand-crafted network boot configuration file is::
> > >
> > >       TIMEOUT 100
> > > @@ -214,6 +235,11 @@ fdt_addr_r:
> > >
> > >     A size of 1MB for the FDT/DTB seems reasonable.
> > >
> > > +fdtoverlay_addr_r:
> > > +  Mandatory. The location in RAM where DTB overlays will be temporarily
> > > +  stored and then applied in the load order to the fdt blob stored at the
> > > +  address indicated in the fdt_addr_r environment variable.
> > > +
> > >   fdtfile:
> > >     Mandatory. the name of the DTB file for the specific board for instance
> > >     the espressobin v5 board the value is "marvell/armada-3720-espressobin.dtb"
> > > @@ -408,7 +434,7 @@ way in future u-boot versions.  In particular the <device type>_boot
> > >   variables (e.g. mmc_boot, usb_boot) are a strictly internal implementation
> > >   detail and must not be used as a public interface.
> > >
> > > -.. _BootLoaderSpec: http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/
> > > +.. _`Boot Loader Specification`: https://systemd.io/BOOT_LOADER_SPECIFICATION/
> > >
> > >   .. sectionauthor:: (C) Copyright 2014 Red Hat Inc.
> > >   .. sectionauthor:: Copyright (c) 2014-2015, NVIDIA CORPORATION.  All rights reserved.
> >
> > Thanks for updating the doc and link to the spec !
> >
> > Reviewed-by: Neil Armstrong <neil.armstrong at linaro.org>


More information about the U-Boot mailing list