brasatore/boot.ipxe

68 lines
2.5 KiB
Plaintext

#!ipxe
set boot-url http://${dhcp-server}
:start
isset ${menu-timeout} || set menu-timeout 30000
isset ${menu-default} || set menu-default ubuntu
menu iPXE boot menu
item --key u ubuntu_22.04 Boot Ubuntu 22.04
item --key u popos_22.04 Boot POP OS 22.04
item --key u popos_nvidia_22.04 Boot POP OS 22.04 (nvidia)
item --key u linuxmint_21.2_cinnamon Boot Linuxmint 21.2 Cinnamon
item --key u linuxmint_21.2_xfce Boot Linuxmint 21.2 XFCE
item --key u linuxmint_21.2_mate Boot Linuxmint 21.2 Mate
item --key u lmde_6 Boot Linuxmint Debian Edition 6
item --key u xubuntu_22.04 Boot XUbuntu 22.04
item --key u lubuntu_22.04 Boot LUbuntu 22.04
item --key u zorinos_16.3_core Boot Zorin OS 16.3 Core
item --key u zorinos_16.3_lite Boot Zorin OS 16.3 Lite
item --key u elementaryos_7 Boot Elementary OS 7
item --key u fedora_38_live Boot Fedora Workstation 38 Live
item --key u opensuse_leap_15.5 Boot openSUSE Leap 15.5
# item --key u debian Boot Debian Live 12.2.0
# item --key u kali Boot Kali Linux 2023.3
# item --key u ubuntu-http Boot Ubuntu 22.04 (HTTP)
item --key f freedos Boot FreeDOS
item --key n netboot-xyz netboot.xyz
item shell iPXE shell
item reboot Reboot
item
item --key x exit Exit iPXE and continue BIOS boot
choose --timeout ${menu-timeout} --default ${menu-default} selected || goto cancel
set menu-timeout 0
# will load http://ipaddress/menu/selected.ipxe if it exists
chain ${boot-url}/menu/${selected}.ipxe ||
goto ${selected}
:cancel
echo You cancelled the menu, dropping you to a shell
:shell
echo Type 'exit' to get the back to the menu
shell
set menu-timeout 0
set submenu-timeout 0
goto start
:failed
echo Booting failed, dropping to shell
goto shell
:reboot
reboot
:exit
exit
:back
set submenu-timeout 0
clear submenu-default
goto start
:ubuntu-http
echo Booting Ubuntu 22.04 (HTTP)
initrd ${boot-url}/mount/ubuntu-22.04.3-desktop-amd64.iso/casper/initrd
set url http://${dhcp-server}/iso/ubuntu-22.04.3-desktop-amd64.iso
chain ${boot-url}/mount/ubuntu-22.04.3-desktop-amd64.iso/casper/vmlinuz ip=${net0/ip}::${dhcp-server}:255.255.255.0::::${dhcp-server}: boot=casper netboot=url url=${url} initrd=initrd config -- keyboard-configuration/layoutcode=it keyboard-configuration/modelcode=pc105 debian-installer/locale=it
goto start