55 lines
1.8 KiB
Plaintext
55 lines
1.8 KiB
Plaintext
#!ipxe
|
|
{{ if .ContainerName }}
|
|
echo
|
|
echo ================================================================================
|
|
echo Warewulf v4 now booting via dracut: {{.Fqdn}} ({{.Hwaddr}})
|
|
echo
|
|
echo Container: {{.ContainerName}}
|
|
{{if .KernelOverride }}
|
|
echo Kernel: {{.KernelOverride}}
|
|
{{else}}
|
|
echo Kernel: {{.ContainerName}} (container default)
|
|
{{end}}
|
|
echo KernelArgs: {{.KernelArgs}}
|
|
echo
|
|
|
|
set uri http://{{.Ipaddr}}:{{.Port}}/provision/{{.Hwaddr}}?assetkey=${asset}&uuid=${uuid}
|
|
echo Warewulf Controller: {{.Ipaddr}}
|
|
|
|
echo Downloading Kernel Image:
|
|
kernel --name kernel ${uri}&stage=kernel || goto reboot
|
|
|
|
{{if ne .KernelOverride ""}}
|
|
echo Downloading Kernel Modules:
|
|
imgextract --name kmods ${uri}&stage=kmods&compress=gz || initrd --name kmods ${uri}&stage=kmods || goto reboot
|
|
set kernel_mods initrd=kmods
|
|
{{end}}
|
|
|
|
echo Downloading initramfs
|
|
initrd --name initramfs ${uri}&stage=initramfs || goto reboot
|
|
|
|
set dracut_net rd.neednet=1 {{range $devname, $netdev := .NetDevs}}{{if and $netdev.Hwaddr $netdev.Device}} ifname={{$netdev.Device}}:{{$netdev.Hwaddr}} {{end}}{{end}}
|
|
set dracut_wwinit root=wwinit wwinit_uri={{.Ipaddr}}:{{.Port}} {{if ne .KernelOverride ""}}wwinit.kmods=true{{end}} init=/init
|
|
|
|
echo Booting initramfs
|
|
#echo Network KernelArgs: ${dracut_net}
|
|
#echo Dracut wwinit KernelArgs: ${dracut_wwinit}
|
|
#sleep 15
|
|
boot kernel initrd=initramfs ${kernel_mods} ${dracut_net} ${dracut_wwinit} wwid={{.Hwaddr}} {{.KernelArgs}}
|
|
|
|
|
|
:reboot
|
|
echo
|
|
echo There was an error, rebooting in 15s...
|
|
echo
|
|
sleep 15
|
|
reboot
|
|
{{ else }}
|
|
echo ================================================================================
|
|
echo Warewulf v4:
|
|
echo No node image/container defined for this node ({{.Fqdn}}).
|
|
echo Rebooting in 30s.
|
|
echo ================================================================================
|
|
sleep 30
|
|
reboot
|
|
{{ end }} |