From 0ecef40ba9c44e94f922f522264113035e4e106d Mon Sep 17 00:00:00 2001 From: Shane Nehring Date: Thu, 9 Apr 2026 11:37:39 -0500 Subject: [PATCH] adding dracut_static ipxe method Signed-off-by: Shane Nehring --- CHANGELOG.md | 1 + etc/ipxe/default.ipxe | 12 ++++++++++++ 2 files changed, 13 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b2b213f..17a55425 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -66,6 +66,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Document configuring the arp cache for large clusters - Expand troubleshooting documentation for container runtimes - Ignore local coding agent files +- Add dracut_static ipxe method ### Removed diff --git a/etc/ipxe/default.ipxe b/etc/ipxe/default.ipxe index afcdafa7..643f99e9 100644 --- a/etc/ipxe/default.ipxe +++ b/etc/ipxe/default.ipxe @@ -35,6 +35,7 @@ item imgextract Single-stage with imgextract item initrd Single-stage with initrd item initrd_nocompress Single stage with initrd (no compression) item dracut Two stage with dracut +item dracut_static Two stage with dracut and static ips item shell iPXE shell choose --default ${method} --timeout 2000 method && goto ${method} || goto menu @@ -98,6 +99,17 @@ set dracut_net rd.neednet=1 {{range $devname, $netdev := .NetDevs}}{{if and $net set dracut_wwinit root=wwinit:{{default "tmpfs" .Root}} wwinit.server=${base} wwinit.uri=${base}/provision/${hwaddr} init=/warewulf/run-init goto boot_two_stage_dracut +:dracut_static +set next dracut_static_continue +goto metadata +:dracut_static_continue +echo +echo Downloading dracut initramfs... +initrd --name initramfs ${base}/initramfs/${hwaddr}?${params} || goto error_reboot +set dracut_net rd.neednet=1 {{range $devname, $netdev := .NetDevs}}{{if and $netdev.Hwaddr $netdev.Device}} ifname={{$netdev.Device}}:{{$netdev.Hwaddr}} ip={{$netdev.Ipaddr}}::{{$netdev.Gateway}}:{{$netdev.Netmask}}::{{$netdev.Device}}:on {{end}}{{end}} +set dracut_wwinit root=wwinit:{{default "tmpfs" .Root}} wwinit.server=${base} wwinit.uri=${base}/provision/${hwaddr} init=/warewulf/run-init +goto boot_two_stage_dracut + :boot_single_stage echo Booting (single stage)... boot kernel initrd=image initrd=system ${runtime_initrd} wwid={{.Hwaddr}} {{.KernelArgs}} || goto error_reboot