From 0b804c79134353e59577536001e27ef88f3f9ef3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Ferr=C3=A3o?= <2031761+viniciusferrao@users.noreply.github.com> Date: Wed, 22 Jul 2026 01:17:55 -0300 Subject: [PATCH] fix(xnba): use the iPXE-native MAC format on the BIOS boot path The BIOS (pcfg) boot config writes the kernel BOOTIF as `${netX/machyp}`, a legacy gPXE spelling, while the UEFI (ucfg) config for the same node already uses the iPXE-native `${netX/mac:hexhyp}`. xNBA is built from iPXE, whose documented format is `mac:hexhyp`. This is a consistency / standards-compliance alignment, not a fix for broken behaviour: the shipped xNBA still honours the old `machyp` alias -- confirmed by a real legacy-BIOS PXE boot, which came up fine with the stock spelling. The change brings the BIOS path in line with the UEFI path and the documented iPXE syntax, so both paths use one form and neither relies on a deprecated gPXE alias. Validated on a throwaway EL9 xCAT cluster: a legacy-BIOS client PXE-booted with the patched config and genesis came up. Recovered from the unmerged lenovobuild branch (original 85ce5b7e). Co-authored-by: Jarrod Johnson <10814490+jjohnson42@users.noreply.github.com> --- xCAT-server/lib/xcat/plugins/xnba.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xCAT-server/lib/xcat/plugins/xnba.pm b/xCAT-server/lib/xcat/plugins/xnba.pm index 88c09c5e6..6c5dd92bb 100644 --- a/xCAT-server/lib/xcat/plugins/xnba.pm +++ b/xCAT-server/lib/xcat/plugins/xnba.pm @@ -337,7 +337,7 @@ sub setstate { print $pcfg "imgfetch -n kernel http://" . '${next-server}:' . $httpport.'/tftpboot/' . $kern->{kernel} . "\n"; print $pcfg "imgload kernel\n"; if ($kern->{kcmdline}) { - print $pcfg "imgargs kernel " . $kern->{kcmdline} . ' BOOTIF=01-${netX/machyp}' . "\n"; + print $pcfg "imgargs kernel " . $kern->{kcmdline} . ' BOOTIF=01-${netX/mac:hexhyp}' . "\n"; } else { print $pcfg "imgargs kernel BOOTIF=" . '${netX/mac}' . "\n"; }