#!ipxe echo echo ================================================================================ echo Warewulf v4 now booting: {{.Fqdn}} ({{.Hwaddr}}) echo echo Container: {{.ContainerName}} {{if .KernelOverride }} echo Kernel: {{.KernelOverride}} {{else}} echo Kernel: {{.ContainerName}} (container default) {{end}} echo KernelArgs: {{.KernelArgs}} echo set uri_base http://{{.Ipaddr}}:{{.Port}}/provision/{{.Hwaddr}}?assetkey=${asset}&uuid=${uuid} echo Warewulf Controller: {{.Ipaddr}} echo Downloading Kernel Image: kernel --name kernel ${uri_base}&stage=kernel || goto reboot ## try extracting compressed images first ## NOTE: system overlay tends to be the smallest, so failure here is the cheapest #echo Downloading Container Image: #imgextract --name container ${uri_base}&stage=container&compress=gz || goto nocompress # #echo Downloading System Overlay: #imgextract --name system ${uri_base}&stage=system&compress=gz || goto reboot # #echo Downloading Runtime Overlay: #imgextract --name runtime ${uri_base}&stage=runtime&compress=gz || goto reboot # #{{if ne .KernelOverride "" -}} #echo Downloading Kernel Modules: #imgextract --name kmods ${uri_base}&stage=kmods&compress=gz || goto reboot #{{- end}} # #goto imoktogo # #:nocompress # #echo Extraction failed, attempting un-compressed version of images echo Downloading Container Image: initrd --name container ${uri_base}&stage=container || goto reboot echo Downloading System Overlay: initrd --name system ${uri_base}&stage=system || goto reboot echo Downloading Runtime Overlay: initrd --name runtime ${uri_base}&stage=runtime || goto reboot {{if ne .KernelOverride "" -}} echo Downloading Kernel Modules: initrd --name kmods ${uri_base}&stage=kmods || goto reboot {{- end}} :imoktogo echo Booting in 3s... {{if ne .KernelOverride "" -}} echo boot kernel initrd=container initrd=kmods initrd=system initrd=runtime wwid={{.Hwaddr}} {{.KernelArgs}} sleep 3 boot kernel initrd=container initrd=kmods initrd=system initrd=runtime wwid={{.Hwaddr}} {{.KernelArgs}} || goto reboot {{- else -}} echo boot kernel initrd=container initrd=system initrd=runtime wwid={{.Hwaddr}} {{.KernelArgs}} sleep 3 boot kernel initrd=container initrd=system initrd=runtime wwid={{.Hwaddr}} {{.KernelArgs}} || goto reboot {{- end}} :reboot echo echo There was an error, rebooting in 15s... echo sleep 15 reboot