25 lines
915 B
Plaintext
25 lines
915 B
Plaintext
#!ipxe
|
|
dhcp
|
|
|
|
echo Starting ${serial}
|
|
|
|
:start
|
|
goto node_${serial} || exit
|
|
# Default behavior (non install mode) is to exit iPXE script
|
|
|
|
{% for node in nodes %}
|
|
{%- if node.install -%}
|
|
# {{ node.filename }}
|
|
:node_{{ node.serial }}
|
|
{% set ipArg = "ip=" ~ [node.ip, "" , node.gateway, node.netmask, node.hostname, node.interface, "", node.dns[0], node.dns[1], node.ntp]|join(":") -%}
|
|
{% set kernelArgs = [ipArg, node.kernelArgs|join(" "), node.extraKernelArgs|join(" ")] -%}
|
|
{% if node.autoInstall %}
|
|
{% do kernelArgs.append("talos.config=" ~ config.server.httpUrl ~ "/configs/" ~ node.filename ~ ".yaml") %}
|
|
{% endif %}
|
|
imgfree
|
|
kernel https://pxe.factory.talos.dev/image/{{ node.schematicId }}/{{ node.talosVersion }}/kernel-{{ node.arch }} {{ kernelArgs|join(" ") }}
|
|
initrd https://pxe.factory.talos.dev/image/{{ node.schematicId }}/{{ node.talosVersion }}/initramfs-{{ node.arch }}.xz
|
|
boot
|
|
{% endif %}
|
|
{% endfor %}
|