[PATCH 0/7] pxe_utils: small fixups, implement BLS type 1 boot on top of them

Alexey Charkov alchark at flipper.net
Thu Jun 4 17:31:05 CEST 2026


Add support for the Boot Loader Specification (BLS) type 1 boot entries,
as generated by default by systemd's kernel-install when loader=bls.

Given that the format of BLS entries is pretty much the same as PXElinux,
reuse the existing library for the parsing logic.

BLS type 2 entries are out of scope, as they are effectively just EFI
applications and should be booted as such.

This implementation is also only allowing a single top-sorting entry to
boot, as the standard boot infrastruture currently doesn't support
multiple entries per partition-bootmeth tuple. I have a proposed extension
to enable that and will post it separately as RFC - that enables the use
of `bootflow menu` to select the kernel to boot without jumping through
several menus with different behavior as is currently required with
extlinux.conf.

Signed-off-by: Alexey Charkov <alchark at flipper.net>
---
Alexey Charkov (7):
      pxe_utils: fix W=1 kernel-doc warnings
      pxe_utils: accept "options" as synonym for "append"
      pxe_utils: extract per-entry key parsing into parse_label_keys()
      pxe_utils: export per-entry label helpers
      pxe_utils: optionally ignore unknown keys in parse_label_keys()
      pxe_utils: accept "title" inside a label as a synonym for "menu label"
      boot: add a minimal bootmeth for the Boot Loader Specification

 boot/Kconfig        |  17 +++
 boot/Makefile       |   1 +
 boot/bootmeth_bls.c | 333 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 boot/pxe_utils.c    | 134 +++++++++++++--------
 include/pxe_utils.h |  62 ++++++++++
 5 files changed, 499 insertions(+), 48 deletions(-)
---
base-commit: 31af00bdc6a3ab5d4ada83e08407f2ce289f0ec6
change-id: 20260604-bls-db6a30b913ae

Best regards,
--  
Alexey Charkov <alchark at flipper.net>



More information about the U-Boot mailing list