diff --git a/roles/netbootxyz/templates/menu/boot.cfg.j2 b/roles/netbootxyz/templates/menu/boot.cfg.j2 index be8b0f2cfc..d4c5844d80 100644 --- a/roles/netbootxyz/templates/menu/boot.cfg.j2 +++ b/roles/netbootxyz/templates/menu/boot.cfg.j2 @@ -2,22 +2,22 @@ :global_vars # set site name -set site_name {{ site_name }} +isset ${site_name} || set site_name {{ site_name }} # set boot domain -set boot_domain {{ boot_domain }} +isset ${boot_domain} || set boot_domain {{ boot_domain }} # set location of memdisk -set memdisk {{ memdisk_location }} +isset ${memdisk} || set memdisk {{ memdisk_location }} # set location of custom netboot.xyz live assets, override in local-vars.ipxe isset ${live_endpoint} || set live_endpoint {{ live_endpoint }} # signature check enabled? -set sigs_enabled {{ sigs_enabled | default(false) | bool | lower }} +isset ${sigs_enabled} || set sigs_enabled {{ sigs_enabled | default(false) | bool | lower }} # set location of signatures for sources -set sigs {{ sigs_location }} +isset ${sigs} || set sigs {{ sigs_location }} # set location of latest iPXE iseq ${platform} efi && set ipxe_disk netboot.xyz-snponly.efi || set ipxe_disk netboot.xyz-undionly.kpxe @@ -32,8 +32,8 @@ isset ${boot_timeout} || set boot_timeout {{ boot_timeout }} {% for key, value in releases.items() | sort(attribute='1.name') %} {% if value.mirror is defined and value.base_dir is defined %} ### {{ value.name }} -set {{ key }}_mirror {{ value.mirror }} -set {{ key }}_base_dir {{ value.base_dir }} +isset {{ '${' + key + '_mirror}' }} || set {{ key }}_mirror {{ value.mirror }} +isset {{ '${' + key + '_base_dir}' }} || set {{ key }}_base_dir {{ value.base_dir }} {% endif %} {% endfor %} @@ -100,7 +100,7 @@ iseq ${ipxe_cloud_config} packet && goto metal || goto clouds_end :gce -set cmdline console=ttyS0,115200n8 +isset ${cmdline} || set cmdline console=ttyS0,115200n8 goto clouds_end :metal @@ -110,7 +110,7 @@ iseq ${arch} arm64 && goto metal_arm64 || goto clouds_end :metal_x86_64 -set cmdline console=ttyS1,115200n8 +isset ${cmdline} || set cmdline console=ttyS1,115200n8 iseq ${platform} efi && set ipxe_disk netboot.xyz-metal-snp.efi || set ipxe_disk netboot.xyz-metal.kpxe set menu_linux_i386 0 set menu_freedos 0 @@ -119,7 +119,7 @@ iseq ${platform} efi && set menu_pci 0 || goto clouds_end :metal_arm64 -set cmdline console=ttyAMA0,115200 +isset ${cmdline} || set cmdline console=ttyAMA0,115200 set ipxe_disk netboot.xyz-metal-arm64-snp.efi set menu_bsd 1 set menu_freedos 0 diff --git a/roles/netbootxyz/templates/menu/debian.ipxe.j2 b/roles/netbootxyz/templates/menu/debian.ipxe.j2 index f3bc025ef1..305eb3c9b5 100644 --- a/roles/netbootxyz/templates/menu/debian.ipxe.j2 +++ b/roles/netbootxyz/templates/menu/debian.ipxe.j2 @@ -38,7 +38,7 @@ set dir ${debian_base_dir}/dists/${debian_version}/main/installer-${os_arch}/cur goto deb_boot_type :mirrorcfg -set debian_mirror ${debian_mirror} +# debian_mirror is set in boot.cfg.j2 with isset guard, no need to reassign set mirrorcfg mirror/suite=${debian_version} set dir ${debian_base_dir}/dists/${debian_version}/main/installer-${os_arch}/current/images/netboot/ goto deb_boot_type