david/ipxe
david
/
ipxe
Archived
1
0
Fork 0
This repository has been archived on 2020-12-06. You can view files and clone it, but cannot push or open issues or pull requests.
ipxe/src/embed.ipxe

93 lines
2.1 KiB
Plaintext

#!ipxe
# embedded ipxe script for netbooting
echo Commencing network boot
:dhcp
dhcp net0 || goto dhcp
colour --basic 9 4
colour --basic 6 1
:menu
menu Choose your favourite netboot server:
item --gap MAC Address: ${net0/mac}
item --gap IP Address: ${net0/ip}
item --gap Netmask: ${net0/netmask}
item --gap Gateway: ${net0/gateway}
item --gap DNS: ${net0/dns}
item
item localboot Boot from local disks
item
item stargazer Boot from tftp://stargazer.socialnerds.org
item aecat Boot from https://boot.aec.at
item netbootxyz Boot from https://boot.netboot.xyz
item
item advanced Advanced iPXE options
choose --default stargazer --timeout 10000 target && goto ${target}
goto menu
:advanced
menu Advanced iPXE options:
item --gap MAC Address: ${net0/mac}
item --gap IP Address: ${net0/ip}
item --gap Netmask: ${net0/netmask}
item --gap Gateway: ${net0/gateway}
item --gap DNS: ${net0/dns}
item
item reboot Reboot system
item exit Exit and continue local boot
item dhcp Renew IP address
item shell Drop to iPXE shell
item settings Open settings dialog
choose target && goto ${target}
goto advanced
:localboot
echo Booting from local disks
sleep 2
sanboot --no-describe --drive 0x80 || goto menu
exit
:aecat
echo Booting from the Ars Electronica Netboot Server (https://boot.aec.at)
sleep 2
set conn_type https
chain --autofree https://boot.aec.at/menu.ipxe || echo HTTPS failed... attempting HTTP...
set conn_type http
chain --autofree http://boot.aec.at/menu.ipxe || goto menu
exit
:stargazer
echo Booting from stargazer.socialnerds.org (tftp://${net0/gateway}/menu.ipxe)
sleep 2
chain --autofree tftp://${net0/gateway}/menu.ipxe || goto menu
exit
:netbootxyz
echo Booting from netboot.xyz (https://boot.netboot.xyz)
sleep 2
set conn_type https
chain --autofree https://boot.netboot.xyz/menu.ipxe || echo HTTPS failed... attempting HTTP...
set conn_type http
chain --autofree http://boot.netboot.xyz/menu.ipxe || goto menu
exit
:exit
exit
:config
config || goto menu
goto menu
:reboot
echo Rebooting system
sleep 2
reboot
:shell
shell