[PATCH 00/39] pxe: Support read_all() for extlinux and PXE

Simon Glass sjg at chromium.org
Wed Nov 20 16:33:46 CET 2024


Hi Heinrich,

On Tue, 19 Nov 2024 at 10:12, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
> On 19.11.24 14:18, Simon Glass wrote:
> > This series implements read_all() so that it is possible to read all the
> > files relating to a bootflow, make adjustments and then boot.
> >
> > Unfortunately quite a few things stand in the way, so this series
> > finishes off several pending items: zboot without CONFIG_CMDLINE,
> > required support in pxe_utils and the differing code in the extlinux and
> > PXE bootmeths. There is very little new code, but quite a lot of
> > refactoring.
> >
> > The bootm, booti and bootz commands have all been refactored previously,
> > so that they can operate without needing CONFIG_CMDLINE to be enabled.
> > At the, time, zboot was left alone, since it is x86-specific and a bit
> > more trouble.
> >
> > This series adds a programatic API for zboot and uses the forthcoming
> > bootstd 'image list' to collect information from an extlinux file. It is
> > therefore possible to parse the file, load the resulting images and then
> > examine/adjust the resulting bootflow, before booting.
> >
> > The addition of options to extlinux resulted in the PXE and extlinux
> > bootmeth having slightly different features. This is tidied up in this
> > series, with common functions for both. This allows the same features
> > (loading images as a separate step) to be provided for PXE.
>
> The biggest problem I see currently with PXE in U-Boot is:
>
> eth_bootdev_hunt() invokes dhcp_run() which may lead to actually
> downloading and booting a file (assuming autostart=yes).
>
> We should only check that a network device exists and can be probed.
> Maybe check that the medium is attached when probing. But actually
> reading a file should be left to one of the different boot methods that
> can make use of the boot device (PXE, HTTP-Boot, ...).
>
> But I cannot see a fix for net/eth_bootdev.c in this series.

No, it doesn't include anything for that.

We could maintain a flag to indicate whether the net dev has had DHCP
run on it, then make sure only to do it once.

Regards,
Simon


More information about the U-Boot mailing list