#!ipxe set esc:hex 1b set bold ${esc:string}[1m set boldoff ${esc:string}[22m set fg_gre ${esc:string}[32m set fg_cya ${esc:string}[36m set fg_whi ${esc:string}[37m set TFTP_ERR Local TFTP failed... attempting remote HTTPS set HTTPS_ERR HTTPS appears to have failed... attempting HTTP set HTTP_ERR HTTP has failed, localbooting... set boot_domain {{ boot_domain }} set version {{ boot_version }} :start echo ${bold}${fg_gre}${boot_domain} - ${fg_whi}v${version}${boldoff} echo ${bold}${fg_whi}Powered by${fg_gre}netboot.xyz${boldoff} prompt --key m --timeout 4000 Hit the ${bold}m${boldoff} key to open failsafe menu... && goto failsafe || goto dhcp :dhcp echo dhcp || goto netconfig isset ${next-server} && iseq ${filename} {{ site_name }}.kpxe && goto tftpmenu || isset ${next-server} && iseq ${filename} {{ site_name }}.efi && goto tftpmenu || goto menu :failsafe menu ${boot_domain} Failsafe Menu item localboot Boot to local drive item netconfig Manual network configuration item retry Retry boot item debug iPXE Debug Shell item reboot Reboot System choose failsafe_choice || exit goto ${failsafe_choice} :netconfig echo Network Configuration: echo Available interfaces... ifstat imgfree echo -n Set network interface number [0 for net0, defaults to 0]: ${} && read net isset ${net} || set net 0 echo -n IP: && read net${net}/ip echo -n Subnet mask: && read net${net}/netmask echo -n Gateway: && read net${net}/gateway echo -n DNS: && read dns ifopen net${net} echo Attempting chainload of ${boot_domain}... goto menu || goto failsafe :tftpmenu chain --autofree tftp://${next-server}/menu.ipxe || echo ${TFTP_ERR} && goto menu :menu {% if bootloader_https_enabled | bool %} set conn_type https chain --autofree https://${boot_domain}/menu.ipxe || echo ${HTTPS_ERR} sleep 5 {% endif %} {% if bootloader_http_enabled | bool %} set conn_type http chain --autofree http://${boot_domain}/menu.ipxe || echo ${HTTP_ERR} {% endif %} goto localboot :localboot exit :retry goto start :reboot reboot goto start :debug echo Type "exit" to return to menu shell goto failsafe