123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 |
- #!ipxe
- :global_vars
- # set site name
- set site_name {{ site_name }}
- # set boot domain
- set boot_domain {{ boot_domain }}
- # set location of memdisk
- set memdisk {{ memdisk_location }}
- # set location of custom netboot.xyz live assets
- set live_endpoint {{ live_endpoint }}
- # signature check enabled?
- set sigs_enabled {{ sigs_enabled | default(false) | bool | lower }}
- # set location of signatures for sources
- 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
- # set default boot timeout
- set boot_timeout {{ boot_timeout }}
- ##################
- # official mirrors
- ##################
- :mirrors
- {% 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 }}
- {% endif %}
- {% endfor %}
- #################################################
- # determine architectures and enable menu options
- #################################################
- :architectures
- set menu_linux 1
- set menu_bsd 1
- set menu_unix 1
- set menu_freedos 1
- set menu_live 1
- set menu_pci 1
- set menu_windows 1
- set menu_utils 1
- iseq ${arch} i386 && goto i386 ||
- iseq ${arch} x86_64 && goto x86_64 ||
- iseq ${arch} arm64 && goto arm64 ||
- goto architectures_end
- :x86_64
- set menu_linux_i386 0
- iseq ${platform} efi && goto efi ||
- goto architectures_end
- :i386
- set menu_linux 0
- set menu_linux_i386 1
- set menu_bsd 1
- set menu_unix 0
- set menu_freedos 1
- set menu_live 0
- set menu_windows 0
- set menu_utils 1
- iseq ${platform} efi && goto efi ||
- goto architectures_end
- :arm64
- set menu_linux 0
- set menu_linux_arm 1
- set menu_unix 0
- set menu_freedos 0
- set menu_live 0
- set menu_live_arm 1
- set menu_windows 0
- set menu_utils 0
- set menu_utils_arm 1
- set menu_pci 0
- iseq ${platform} efi && goto efi ||
- goto architectures_end
- :efi
- set menu_bsd 0
- set menu_freedos 0
- set menu_unix 0
- set menu_pci 0
- goto architectures_end
- :architectures_end
- goto clouds
- ###################################
- # set iPXE cloud provider specifics
- ###################################
- :clouds
- iseq ${ipxe_cloud_config} gce && goto gce ||
- iseq ${ipxe_cloud_config} metal && goto metal ||
- iseq ${ipxe_cloud_config} packet && goto metal ||
- goto clouds_end
- :gce
- set cmdline console=ttyS0,115200n8
- goto clouds_end
- :metal
- iseq ${arch} i386 && goto metal_x86_64 ||
- iseq ${arch} x86_64 && goto metal_x86_64 ||
- iseq ${arch} arm64 && goto metal_arm64 ||
- goto clouds_end
- :metal_x86_64
- 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
- set menu_windows 0
- iseq ${platform} efi && set menu_pci 0 ||
- goto clouds_end
- :metal_arm64
- set cmdline console=ttyAMA0,115200
- set ipxe_disk netboot.xyz-metal-arm64-snp.efi
- set menu_bsd 0
- set menu_freedos 0
- set menu_live 0
- set menu_windows 0
- set menu_utils 0
- set menu_pci 0
- goto clouds_end
- :clouds_end
- goto end
- :end
- exit
|