mirror of
https://github.com/netbootxyz/netboot.xyz.git
synced 2025-08-12 00:36:57 +02:00
For x86_64 systems with UEFI, use the efi disk, else leverage the legacy kpxe disk Fixes https://github.com/antonym/netboot.xyz/issues/383
70 lines
1.6 KiB
Plaintext
70 lines
1.6 KiB
Plaintext
#!ipxe
|
|
set esc:hex 1b
|
|
set bold ${esc:string}[1m
|
|
set boldoff ${esc:string}[22m
|
|
set fg_gre ${esc:string}[32m
|
|
set fg_red ${esc:string}[31m
|
|
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 packet
|
|
|
|
:start
|
|
echo ${bold}${fg_gre}netboot.xyz ${fg_whi}v${version} for ${fg_red}packet.com${fg_whi}${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
|