#!ipxe :version_check set esc:hex 1b set cls ${esc:string}[2J iseq ${platform} efi && set ipxe_update snponly.efi || set ipxe_update undionly.kpxe set latest_version 1.21.1+ (g31555) echo ${cls} iseq ${version} ${latest_version} && goto version_up2date || echo echo Updated version is available: echo echo Running version.....${version} echo Updated version.....${latest_version} echo echo Attempting to chain to latest version... echo chain --autofree ${ipxe_update} || :version_up2date isset ${ip} || dhcp set timeout 60000 set base-domain boot.test.net.in set base-url http://${base-domain} set private_title Login set login_ok 0 set default bookworm set liveopts boot=live components loglevel=3 net.ifnames=0 initrd=initrd.img ethdevice-timeout=60 colour --rgb 0xa0522d 7 || colour --rgb 0x4682b4 4 || cpair --foreground 7 --background 4 0 || cpair --foreground 7 --background 4 4 || :menu menu Boot options (${platform}) item trixie Debian 13 (trixie/awesome) item bookworm Debian 12 (bookworm) item item memtest Memtest86+ item item ipxe_netbootxyz > boot.netboot.xyz item item login -> ${private_title} item item item item item item item item item --key c config (c) Open configuration item --key r reboot (r) Reboot computer item --key s shell (s) Drop to iPXE shell item --key x exit (x) Exit and continue BIOS boot order choose --default ${default} --timeout ${timeout} selected && goto label || goto menu goto menu :label set timeout 0 goto ${selected} || echo The label '${selected}' could not be found, returning to menu... sleep 5 goto menu :fail echo Failed to boot '${selected}'. returning to menu... sleep 5 goto menu :login iseq ${login_ok} 1 && goto private || login || goto loginfail imgfetch http://${username:uristring}:${password:uristring}@${base-domain}/private/.logintest && goto loginok || goto loginfail goto menu :loginok imgfree set private-url http://${username:uristring}:${password:uristring}@${base-domain}/private set private_title Private menu set login_ok 1 goto private :loginfail imgfree set private_title Login (failed) set login_ok 0 goto menu :config config goto menu :reboot reboot :shell shell goto menu :exit echo Continuing BIOS boot order... sleep 1 exit :trixie kernel live/${selected}/vmlinuz ${liveopts} fetch=${base-url}/live/${selected}/filesystem.squashfs initrd live/${selected}/initrd.img boot || goto fail goto menu :bookworm kernel live/${selected}/vmlinuz ${liveopts} fetch=${base-url}/live/${selected}/filesystem.squashfs initrd live/${selected}/initrd.img boot || goto fail goto menu :memtest iseq ${platform} efi && goto memtest_efi || goto memtest_legacy goto menu :memtest_efi chain boot/memtest.efi || goto fail goto menu :memtest_legacy kernel boot/memtest boot || goto fail goto menu :ipxe_netbootxyz chain http://boot.netboot.xyz goto menu :private chain --autofree ${private-url}/private.ipxe goto menu