1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #!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 version 1.04
- set ipxe_cloud_config gce
- :start
- echo ${bold}${fg_gre}netboot.xyz ${fg_whi}v${version} for ${fg_cya}Google Compute Engine${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 netboot.xyz 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 netboot.xyz...
- goto menu || goto failsafe
- :menu
- set conn_type https
- chain --autofree https://boot.netboot.xyz/menu.ipxe || echo ${HTTPS_ERR}
- sleep 5
- set conn_type http
- chain --autofree http://boot.netboot.xyz/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
|