Skip to content

Instantly share code, notes, and snippets.

@Mebus
Forked from mulbc/boot.ipxe
Created March 21, 2019 09:23
Show Gist options
  • Save Mebus/f926a15c034e365e93b73cc8491a4ea9 to your computer and use it in GitHub Desktop.
Save Mebus/f926a15c034e365e93b73cc8491a4ea9 to your computer and use it in GitHub Desktop.
#!ipxe
# Source: https://gist.github.com/robinsmidsrod/2234639#file-menu-ipxe
# Some menu defaults
#set menu-timeout 5000
set menu-timeout 0
set submenu-timeout ${menu-timeout}
isset ${menu-default} || set menu-default exit
# Figure out if client is 64-bit capable
cpuid --ext 29 && set arch x64 || set arch x86
cpuid --ext 29 && set archl amd64 || set archl i386
:start
menu iPXE boot menu
item --gap -- ------------------------- Operating systems ------------------------------
item --gap -- ------------------------- Tools and utilities ----------------------------
item --key p pxelinux Load PXELinux menu
item --key d menu-diag Diagnostics tools...
item --key i menu-install Installers...
item --gap -- ------------------------- Advanced options -------------------------------
item --key c config Configure settings
item shell Drop to iPXE shell
item reboot Reboot computer
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
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
:config
config
goto start
:back
set submenu-timeout 0
clear submenu-default
goto start
############################ INSTALLER MENU #########################
:menu-install
menu Installers
item proxmox Install Proxmox 5.1 via PXE
item proxmox-iso Install Proxmox 5.1 via ISO
item fed28 Install Fedora Server from Halifax server
item ubuntuBio Install Ubuntu Bionic from Halifax server
item
item --key 0x08 back Back to top menu...
iseq ${menu-default} menu-install && isset ${submenu-default} && goto menu-install-timed ||
choose selected && goto ${selected} || goto start
:menu-install-timed
choose --timeout ${submenu-timeout} --default ${submenu-default} selected && goto ${selected} || goto start
:ubuntuBio
set base-url http://ftp.halifax.rwth-aachen.de/ubuntu/dists/bionic/main/installer-amd64/current/images/netboot/ubuntu-installer/amd64/
kernel ${base-url}/linux
initrd ${base-url}/initrd.gz
boot || goto start
:fed28
set base-url http://ftp.halifax.rwth-aachen.de/fedora/linux/releases/28/Server/x86_64/os/
kernel ${base-url}/isolinux/vmlinuz ip=dhcp inst.stage2=${base-url}
initrd ${base-url}/isolinux/initrd.img
boot || goto start
goto start
:proxmox
kernel proxmox/linux26 vga=791 video=vesafb:ywrap,mtrr ramdisk_size=16777216 rw quiet splash=verbose
initrd proxmox/initrd.iso.img
boot || goto start
goto start
:proxmox-iso
initrd http://10.10.10.5/proxmox5.1.iso
chain memdisk iso || goto start
goto start
goto start
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment