From ee81dd9e5115a53bd3c9ccf832af701fa9d8324e Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Thu, 6 Aug 2026 22:19:32 +1000 Subject: [PATCH] Add inst.ks.sendmac to the iPXE boot script Cobbler's per-MAC gPXE script passed inst.ks.sendmac, making anaconda send its interface MACs as X-RHN-Provisioning-MAC-N headers when fetching the kickstart. The bootapi iPXE script omitted it, so it was not a full drop-in for Cobbler's gpxe output. - Emit inst.ks.sendmac immediately before inst.ks= in the boot iPXE template, matching Cobbler ordering. Claude-Session: https://claude.ai/code/session_01JUoARVdmhxKQHyyyp1pxeT --- ipxe/boot.ipxe.tmpl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/ipxe/boot.ipxe.tmpl b/ipxe/boot.ipxe.tmpl index bf94c18..96fe21b 100644 --- a/ipxe/boot.ipxe.tmpl +++ b/ipxe/boot.ipxe.tmpl @@ -6,12 +6,14 @@ it. Mirrors how Cobbler generated a per-MAC gPXE script carrying inst.ks=. KernelURL/InitrdURL/RepoURL come from the selected catalog entry (artifactapi remote); KernelArgs are the catalog's extra args. KickstartURL uses -BOOTAPI_BASE_URL (http://). +BOOTAPI_BASE_URL (http://). inst.ks.sendmac makes anaconda send its interface +MACs as X-RHN-Provisioning-MAC-N headers when fetching the kickstart (Cobbler +parity; lets /ks resolve a host by MAC as well as by name). */ -}} #!ipxe echo bootapi: provisioning {{ .FQDN }} ({{ .Platform }}) {{ if and .KernelURL .InitrdURL -}} -kernel {{ .KernelURL }} initrd=initrd.img{{ if .RepoURL }} inst.repo={{ .RepoURL }}{{ end }} inst.ks={{ .KickstartURL }} ip=dhcp{{ range .KernelArgs }} {{ . }}{{ end }} +kernel {{ .KernelURL }} initrd=initrd.img{{ if .RepoURL }} inst.repo={{ .RepoURL }}{{ end }} inst.ks.sendmac inst.ks={{ .KickstartURL }} ip=dhcp{{ range .KernelArgs }} {{ . }}{{ end }} initrd {{ .InitrdURL }} boot {{- else -}}