[PATCH 6/7] pxe_utils: accept "title" inside a label as a synonym for "menu label"
Alexey Charkov
alchark at flipper.net
Thu Jun 4 17:31:11 CEST 2026
The parser already understands the "title" keyword at the menu level
(via "menu title"). Boot Loader Specification [1] type #2 entry files
use a bare "title" line at the entry level to give the human-readable
name of the entry, the closest extlinux equivalent of which is
"menu label" inside a label body.
Make parse_label_keys() honour "title" the same way it honours
"menu label", populating label->menu. This lets BLS entries surface
their pretty name through the existing label->menu plumbing without
the BLS bootmeth (or any other caller) having to special-case it.
No effect on existing extlinux/pxelinux files: those use "menu label"
inside a label, not bare "title", so this change is purely additive.
[1] https://uapi-group.org/specifications/specs/boot_loader_specification/
Signed-off-by: Alexey Charkov <alchark at flipper.net>
---
boot/pxe_utils.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/boot/pxe_utils.c b/boot/pxe_utils.c
index 7ecee86a9ada..1f3f6150d9b1 100644
--- a/boot/pxe_utils.c
+++ b/boot/pxe_utils.c
@@ -1284,6 +1284,19 @@ int parse_label_keys(char **c, struct pxe_menu *cfg, struct pxe_label *label,
err = parse_label_menu(c, cfg, label);
break;
+ case T_TITLE:
+ /*
+ * Equivalent to 'menu label' inside a label body.
+ * Boot Loader Specification entries use a bare
+ * 'title' line for the human-readable name; honour
+ * it here so the existing parser handles BLS files
+ * natively. extlinux/pxelinux files conventionally
+ * use 'menu label' instead, so this is additive.
+ */
+ if (!label->menu)
+ err = parse_sliteral(c, &label->menu);
+ break;
+
case T_KERNEL:
case T_LINUX:
err = parse_label_kernel(c, label);
--
2.53.0
More information about the U-Boot
mailing list