adding dracut_static ipxe method

Signed-off-by: Shane Nehring <snehring@iastate.edu>
This commit is contained in:
Shane Nehring
2026-04-09 11:37:39 -05:00
parent f9c7858182
commit 0ecef40ba9
2 changed files with 13 additions and 0 deletions

View File

@@ -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 - Document configuring the arp cache for large clusters
- Expand troubleshooting documentation for container runtimes - Expand troubleshooting documentation for container runtimes
- Ignore local coding agent files - Ignore local coding agent files
- Add dracut_static ipxe method
### Removed ### Removed

View File

@@ -35,6 +35,7 @@ item imgextract Single-stage with imgextract
item initrd Single-stage with initrd item initrd Single-stage with initrd
item initrd_nocompress Single stage with initrd (no compression) item initrd_nocompress Single stage with initrd (no compression)
item dracut Two stage with dracut item dracut Two stage with dracut
item dracut_static Two stage with dracut and static ips
item shell iPXE shell item shell iPXE shell
choose --default ${method} --timeout 2000 method && goto ${method} || goto menu 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 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 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 :boot_single_stage
echo Booting (single stage)... echo Booting (single stage)...
boot kernel initrd=image initrd=system ${runtime_initrd} wwid={{.Hwaddr}} {{.KernelArgs}} || goto error_reboot boot kernel initrd=image initrd=system ${runtime_initrd} wwid={{.Hwaddr}} {{.KernelArgs}} || goto error_reboot