#!ipxe

isset ${ip} || dhcp || goto dhcp_failed

set srv http://ipxe.technik-magic-code.de
set hook ${srv}/live-hooks/setup-user.sh|${srv}/hooks/webdav-mount.sh

:menu_top
menu Debian 13 Trixie  |  PXE Boot
item --gap        -- Desktop --
item xfce         Debian 13 Trixie  XFCE     (2.8 GB)
item --gap        -- Leicht --
item minimal      Debian 13 Trixie  Minimal  (1.2 GB)
item --gap        -- Sonstiges --
item shell        iPXE Shell
item reboot       Neustart
choose --default xfce --timeout 15000 target || goto shell
goto ${target}

:xfce
set base ${srv}/debian-live
kernel ${base}/vmlinuz                     || goto kernel_failed
initrd ${base}/initrd.img                  || goto initrd_failed
imgargs vmlinuz boot=live components fetch=${base}/filesystem.squashfs \
    keyboard-layouts=de locales=de_DE.UTF-8 timezone=Europe/Berlin \
    hostname=debian-xfce username=user \
    hooks=${hook}
boot || goto boot_failed

:minimal
set base ${srv}/debian-live-minimal
kernel ${base}/vmlinuz                     || goto kernel_failed
initrd ${base}/initrd.img                  || goto initrd_failed
imgargs vmlinuz boot=live components fetch=${base}/filesystem.squashfs \
    keyboard-layouts=de locales=de_DE.UTF-8 timezone=Europe/Berlin \
    hostname=debian-minimal username=user \
    hooks=${hook}
boot || goto boot_failed

:dhcp_failed
echo DHCP fehlgeschlagen!
sleep 5
reboot

:kernel_failed
echo Kernel konnte nicht geladen werden!
sleep 3
goto menu_top

:initrd_failed
echo Initrd konnte nicht geladen werden!
sleep 3
goto menu_top

:boot_failed
echo Boot fehlgeschlagen!
sleep 5
reboot

:shell
shell

:reboot
reboot
