#!ipxe

set base http://64.62.136.180

:start

menu ==========================================
menu       DC Network Boot / Provisioning
menu ==========================================

item --gap -- ---------------- INSTALL ----------------
item debian12       Debian 12 Automated Install
item ubuntu22       Ubuntu 22.04 Automated Install
item ubuntu24       Ubuntu 24.04 Automated Install
item almalinux8     AlmaLinux 8 Automated Install
item almalinux9     AlmaLinux 9 Automated Install
item almalinux10    AlmaLinux 10 Automated Install
item rocky8         Rocky Linux 8 Automated Install
item rocky9         Rocky Linux 9 Automated Install
item windows        Windows Server Install

item --gap -- ---------------- RESCUE -----------------
item systemrescue   SystemRescue 13.02
item clonezilla     Clonezilla
item gparted        GParted Live

item --gap -- ---------------- TOOLS ------------------
item shell          iPXE Shell

item --gap -- ---------------- BOOT -------------------
item local          Boot Local Disk

choose --timeout 5000 --default local selected || goto local
goto ${selected}


:debian12
echo ==========================================
echo WARNING: Debian 12 Automated Installation
echo ALL DATA ON TARGET DISK WILL BE ERASED
echo ==========================================

kernel ${base}/debian12/installer/vmlinuz \
    auto=true \
    priority=critical \
    interface=auto \
    url=${base}/debian12/preseed.cfg

initrd ${base}/debian12/installer/initrd.gz
boot || goto failed


:ubuntu22
echo ==========================================
echo WARNING: Ubuntu 22.04 Automated Installation
echo ALL DATA ON TARGET DISK WILL BE ERASED
echo ==========================================

kernel ${base}/ubuntu22/installer/vmlinuz \
    ip=dhcp \
    url=${base}/ubuntu22/ubuntu22.iso \
    autoinstall \
    ds=nocloud-net;s=${base}/ubuntu22/autoinstall/

initrd ${base}/ubuntu22/installer/initrd
boot || goto failed


:ubuntu24
echo ==========================================
echo WARNING: Ubuntu 24.04 Automated Installation
echo ALL DATA ON TARGET DISK WILL BE ERASED
echo ==========================================

kernel ${base}/ubuntu24/installer/vmlinuz \
    ip=dhcp \
    url=${base}/ubuntu24/ubuntu24.iso \
    autoinstall \
    ds=nocloud-net;s=${base}/ubuntu24/autoinstall/

initrd ${base}/ubuntu24/installer/initrd
boot || goto failed


:almalinux8
echo ==========================================
echo WARNING: AlmaLinux 8 Automated Installation
echo ALL DATA ON TARGET DISK WILL BE ERASED
echo ==========================================

kernel ${base}/alma8/installer/vmlinuz \
    ip=dhcp \
    inst.repo=${base}/alma8/iso \
    inst.ks=${base}/alma8/ks.cfg

initrd ${base}/alma8/installer/initrd.img
boot || goto failed


:almalinux9
echo ==========================================
echo WARNING: AlmaLinux 9 Automated Installation
echo ALL DATA ON TARGET DISK WILL BE ERASED
echo ==========================================

kernel ${base}/alma9/installer/vmlinuz \
    ip=dhcp \
    inst.repo=${base}/alma9/iso \
    inst.ks=${base}/alma9/ks.cfg

initrd ${base}/alma9/installer/initrd.img
boot || goto failed


:almalinux10
echo ==========================================
echo WARNING: AlmaLinux 10 Automated Installation
echo ALL DATA ON TARGET DISK WILL BE ERASED
echo ==========================================

kernel ${base}/alma10/installer/vmlinuz \
    ip=dhcp \
    inst.repo=${base}/alma10/iso \
    inst.ks=${base}/alma10/ks.cfg

initrd ${base}/alma10/installer/initrd.img
boot || goto failed


:rocky8
echo ==========================================
echo WARNING: Rocky Linux 8 Automated Installation
echo ALL DATA ON TARGET DISK WILL BE ERASED
echo ==========================================

kernel ${base}/rocky8/installer/vmlinuz \
    ip=dhcp \
    inst.repo=${base}/rocky8/iso \
    inst.ks=${base}/rocky8/ks.cfg

initrd ${base}/rocky8/installer/initrd.img
boot || goto failed


:rocky9
echo ==========================================
echo WARNING: Rocky Linux 9 Automated Installation
echo ALL DATA ON TARGET DISK WILL BE ERASED
echo ==========================================

kernel ${base}/rocky9/installer/vmlinuz \
    ip=dhcp \
    inst.repo=${base}/rocky9/iso \
    inst.ks=${base}/rocky9/ks.cfg

initrd ${base}/rocky9/installer/initrd.img
boot || goto failed


:windows
echo Windows deployment is not installed yet.
prompt
goto start


:systemrescue
echo ==========================================
echo SystemRescue 13.02
echo ==========================================

kernel ${base}/systemrescue/sysresccd/boot/x86_64/vmlinuz \
    archisobasedir=sysresccd \
    archiso_http_srv=${base}/systemrescue/

initrd ${base}/systemrescue/sysresccd/boot/x86_64/sysresccd.img
boot || goto failed


:clonezilla
echo Clonezilla is not installed yet.
prompt
goto start


:gparted
echo GParted is not installed yet.
prompt
goto start


:shell
shell
goto start


:local
echo Booting local disk...
sanboot --no-describe --drive 0x80 || exit


:failed
echo.
echo Boot failed.
echo.
prompt
goto start
