[syslinux] Purpose of 'localboot'
Frantisek Rysanek
Frantisek.Rysanek at post.cz
Thu Jan 9 16:30:53 CET 2025
> Hi,
>
> The documentation on this feature[1] doesn't quite explain how the
> system should actually do a localboot. Is this for BIOS / x86 only?
> There was a recent discussion about this on the U-Boot mailing
> list[2].
>
> Is someone able to help with how / if this should be implemented in
> U-Boot?
>
> Regards,
> Simon
>
I feel that you actually understand the whole point :-)
Syslinux is a bootloader for the PC's - those have a BIOS and
nowadays a Bios Boot Sequence (BBS). And, a specific member of the
syslinux family (package) is pxelinux, which loads from the LAN.
The "local" boot means, that while the PC is trying to boot, in a
particular step of the BIOS Boot Sequence (= the order of bootable
devices) it has loaded PXElinux, and now the user has a choice,
either to chainload some "payload" (e.g. the Linux kernel + initrd or
some such via TFTP), or to hand over to the next entry in the "BIOS
Boot Sequence" - effectively by calling an "iret" at the top-level
function called by its respective BBS entry, which is effectively a
software interrupt... which will end up trying another boot media,
the next one up in the BBS.
Yes this is specific to machines having a BIOS.
Not sure about UEFI, the bootloader loading mechanism is different,
but Syslinux never quite got there with UEFI, so I believe this point
is moot.
I haven't actually tried this with iPXE, there doesn't seem to be an
explicit keyword for this. Possibly if you "let the ipxe boot script
fall off the end" or by calling an exit... or possibly not.
https://www.google.com/search?q=UEFI+exit+ipxe+and+try+the+next+boot+e
ntry%3F
Now compare that to uBoot. Who typically has just a single purpose in
life, and a single option what to boot: the one kernel and initrd,
typically from a NAND flash MTD (or sometimes NOR flash for that
matter). You can possibly break normal boot and try loading something
via TFTP...
Frank
More information about the U-Boot
mailing list