#!ipxe set server http://@bootHost@ # Figure out if client is 64-bit capable cpuid --ext 29 && set arch x86_64 || set arch i386 isset ${menu-default} || set menu-default exit :start menu Welcome to /dev/player0's humble iPXE boot menu item --gap -- Operating Systems iseq ${arch} x86_64 && item --key n nixos NixOS installer # iseq ${arch} x86_64 && # item --key a archlinux Arch Linux (archiso x86_64) # iseq ${arch} x86_64 && # item --key p alpine Alpine Linux item --gap -- Other Options item --key e efi_shell UEFI Shell item --key x xyz netboot.xyz item --key c config iPXE settings item --key s shell Drop to iPXE shell item --key r reboot Reboot item --key q exit Exit (and continue to next boot device) choose --timeout 0 --default ${menu-default} selected || goto cancel goto ${selected} :cancel echo You cancelled the menu, dropping you to an iPXE shell :shell echo Type 'exit' to go back to the menu shell set menu-default nixos goto start :failed echo Booting failed, dropping to shell goto shell :reboot reboot :exit exit :config config set menu-default config goto start :efi_shell chain ${server}/efi-shell-${arch}.efi || goto failed :xyz chain --autofree https://boot.netboot.xyz || goto failed :nixos set cmdline nbd_export=nixos-installer chain ${server}/nixos-installer/boot.ipxe || goto failed :archlinux # set mirrorurl https://arch.nul.ie/ chain ${server}/arch.ipxe || goto failed :alpine chain ${server}/alpine.ipxe || goto failed