26 lines
829 B
Plaintext
26 lines
829 B
Plaintext
#!ipxe
|
|
|
|
dhcp
|
|
|
|
echo Starting ${serial}
|
|
|
|
:start
|
|
# Is a known serial is set, execute that
|
|
# If an unknown serial is set, exit
|
|
# If no serial is set, ask the user
|
|
goto node_${serial} || shell
|
|
# Default behavior (non install mode) is to exit iPXE script
|
|
|
|
{{ range datasource "nodes" }}
|
|
{{- if .install }}
|
|
# {{ .filename }}
|
|
:node_{{ .serial }}
|
|
{{- $ipArg := printf "ip=%s::%s:%s:%s:%s::%s:%s:%s" .ip .gateway .netmask .hostname .interface (index .dns 0) (index .dns 1) .ntp }}
|
|
{{- $kernelArgs := printf "%s %s %s" $ipArg (join .kernelArgs " ") (join .extraKernelArgs " ") }}
|
|
imgfree
|
|
kernel https://pxe.factory.talos.dev/image/{{ .schematicID }}/{{ .talosVersion }}/kernel-{{ .arch }} {{ $kernelArgs }}
|
|
initrd https://pxe.factory.talos.dev/image/{{ .schematicID }}/{{ .talosVersion }}/initramfs-{{ .arch }}.xz
|
|
boot
|
|
{{- end }}
|
|
{{ end }}
|