[PATCH] bootstd: Allow PXE boot to be disabled

Tom Rini trini at konsulko.com
Fri Oct 10 22:07:24 CEST 2025


On Fri, Oct 10, 2025 at 12:38:58PM -0700, Tony Dinh wrote:
> Hi Tom & Simon,
> 
> On Fri, Oct 10, 2025 at 7:28 AM Tom Rini <trini at konsulko.com> wrote:
> >
> > On Thu, Oct 09, 2025 at 10:29:17PM -0700, Tony Dinh wrote:
> >
> > > Make it possible to disable CMD_PXE.
> > > Remove unnecessary PXE_UTILS selection in BOOTMETH_EXTLINUX config.
> > > In extlinux_boot(), invoke pxe utils only when
> > > CONFIG_BOOTMETH_EXTLINUX_PXE is enabled.
> > >
> > > This patch results in about 9K reduction in image size when
> > > PXE boot is disabled.
> > >
> > > Signed-off-by: Tony Dinh <mibodhi at gmail.com>
> > > ---
> > >
> > >  boot/Kconfig             |  3 +--
> > >  boot/bootmeth_extlinux.c | 18 ++++++++++--------
> > >  2 files changed, 11 insertions(+), 10 deletions(-)
> >
> > Is some part of the symbol logic here wrong? A challenge is that "PXE"
> > is also where the logic to parse extlinux.conf style files came from,
> > and I thought we had split those two out. And then there's this:
> >
> > >
> > > diff --git a/boot/Kconfig b/boot/Kconfig
> > > index 2993cd7f9ba..403ce4c3d46 100644
> > > --- a/boot/Kconfig
> > > +++ b/boot/Kconfig
> > > @@ -421,10 +421,10 @@ config BOOT_DEFAULTS_CMDS
> > >       select CMD_PART if PARTITIONS
> > >       select CMD_DHCP if CMD_NET
> > >       select CMD_PING if CMD_NET
> > > -     select CMD_PXE if CMD_NET
> > >       select CMD_BOOTI if ARM64
> > >       select CMD_BOOTZ if ARM && !ARM64
> > >       imply CMD_MII if NET
> > > +     imply CMD_PXE if CMD_NET
> >
> > This is one of the things where defaults isn't supposed to be so easy to
> > get out of. How many platforms are you wanting to then disable CMD_PXE
> > on to save space?
> 
> I'm simply trying to compile out PXE for a board that I'm working on!
> The only thing I need is booting with scripts on a block device. And
> it looks like we have to include everything in bootstd to use it. It
> seems wrong to make the image a lot larger than needed for boards that
> never use a specific feature.
> 
> I would agree about  "defaults isn't supposed to be so easy to get out
> of". But in this case (and similarly in other CMD_x), CMD_PXE brings
> in all dependencies for PXE including pxe_utils.

So, as a preface, it's quite likely that we do need to tweak some of the
Kconfig logic here. To help better understand the use case:
- Does this platform have networking devices in U-Boot?
- Are you wanting to support arbitrary off the shelf OS distributions?

Because if you don't have networking at all, then we should indeed be
able to bring the library part of PXE (parse extlinux.conf style files)
without bringing in all of PXE.

If you don't want to allow arbitrary OS distributions then it should be
possible to turn off the CONFIG that brings in everything an arbitrary
OS might want (for example, install via network) and still have
standard boot available for block devices and scripts and extlinux
support.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20251010/ef4f33c1/attachment.sig>


More information about the U-Boot mailing list