123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #!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 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
- 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
- :menu
- set conn_type https
- chain --autofree https://${boot_domain}/menu.ipxe || echo ${HTTPS_ERR}
- sleep 5
- set conn_type http
- chain --autofree http://${boot_domain}/menu.ipxe || echo ${HTTP_ERR}
- goto localboot
- :localboot
- exit
- :retry
- goto start
- :reboot
- reboot
- goto start
- :debug
- echo Type "exit" to return to menu
- shell
- goto failsafe
|