Hi Heinrich, On Tue, 19 Nov 2024 at 10:12, Heinrich Schuchardt <xypron.g...@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