#!ipxe

set menu-timeout 3000
set mirror http://mirror.slitaz.org/
set mirror1 http://mirror1.slitaz.org/
set mirror2 http://mirror2.slitaz.org/

console --picture /pxe/ipxe/slitaz.png

:menu
menu SliTaz Web boot
#cpuid 15 && item --key r rolling SliTaz cooking ||
#item --key s stable SliTaz stable
cpuid --ext 29 || item cooking32retro Slitaz cooking (old hardware)
cpuid --ext 29 || item cooking32fire Slitaz cooking 32 bits
cpuid --ext 29 && item cooking64fire Slitaz cooking 64 bits ||
iseq ${cpumodel:hexhyp} 49-6e-74-65-6c-28-52-29-20-43-65-6c-65-72-6f-6e-28-52-29-20-4e-34-30-30-30-20-43-50-55-20-40-20-31-2e-31-30-47-48-7a-00-00-00-00-00-00-00-00-00 || goto notest
isgt 2 1 || goto no_isgt
item --gap isgt is available
goto got_isgt
:no_isgt
item --gap isgt is not available
:got_isgt
:notest
item allslitaz All SliTaz versions -->
item --gap
item --gap Web boot ring:
#item bko http://boot.kernel.org/ [down]
#item netbootme http://www.netboot.me/ [hang]
item salstar http://boot.salstar.sk/
item netbootxyz http://netboot.xyz/ (many tools)
item ipxedemo http://boot.ipxe.org/
item ritboot http://boot.rit.edu/bko/
item alpine https://boot.alpinelinux.org/
item --gap
item --gap Tools:
item tazfd SliTaz boot floppy
item localos Local disk OS
item misc Third party tools -->
item --gap
item --gap Leave web boot:
item local Boot from your hard disk
item reboot Reboot
choose --timeout ${menu-timeout} --default rolling target || goto exit
set menu-timeout 0
goto ${target}

:exit
help
echo Type 'exit' to get back to the menu
shell
goto menu

:rolling
sanboot http://mirror.slitaz.org/i486/cooking/iso/slitaz-cooking-core-5in1.iso ||
sanboot ${mirror}iso/rolling/slitaz-rolling-core-5in1.iso ||
sanboot http://mirror.slitaz.org/i486/cooking/iso/slitaz-cooking.iso ||
sanboot ${mirror}iso/rolling/slitaz-rolling.iso || read void
goto menu

:stable
cpuid 15 && sanboot http://mirror.slitaz.org/i486/stable/4.0/iso/slitaz-4.0.iso ||
cpuid 15 && sanboot ${mirror}iso/stable/slitaz-4.0.iso ||
sanboot http://mirror.slitaz.org/archives/3.0/slitaz-3.0.iso ||
sanboot ${mirror}iso/3.0/slitaz-3.0.iso || read void
goto menu

:allslitaz
chain --autofree /pxe/ipxe/slitaz.ipxe
goto menu

:localos
chain /pxe/grub.exe
goto menu

:bko
imgfree
kernel /boot/gpxe url=http://boot.kernel.org/bko/pxelinux.0,http://boot.rit.edu/bko/pxelinux.0
boot || read void
goto menu

:netbootme
imgfree
kernel /pxe/netboot.me
boot || read void
goto menu

:salstar
imgfree
kernel http://boot.salstar.sk/menu.ipxe
boot || read void
goto menu

:netbootxyz
chain --autofree https://boot.netboot.xyz/menu.ipxe || chain --autofree http://boot.netboot.xyz/menu.ipxe || read void
goto menu

:ipxedemo
chain --autofree http://boot.ipxe.org/demo/boot.php || read void
goto menu

:ritboot
set 209:string pxelinux.cfg/default
set 210:string http://boot.rit.edu/bko/
chain http://boot.rit.edu/bko/pxelinux.0 || read void
goto menu

:alpine
chain --autofree https://boot.alpinelinux.org/boot.ipxe || read void
goto menu

:tazfd
imgfree
kernel /pxe/memdisk
initrd /boot/floppy-grub4dos
boot
goto menu

:misc
chain --autofree /pxe/ipxe/tools.ipxe
goto menu

:local
imgfree
kernel /pxe/grub.exe --config-file="chainloader (hd0)+1 || chainloader (hd1)+1"
boot
goto menu

:reboot
reboot ||
goto menu

:cooking32fire
sanboot http://mirror.slitaz.org/i486/cooking/iso/slitaz-firefox-i486-cooking.iso ||
sanboot ${mirror1}i486/cooking/iso/slitaz-firefox-i486-cooking.iso ||
sanboot ${mirror2}i486/cooking/iso/slitaz-firefox-i486-cooking.iso ||
goto menu

:cooking64fire
sanboot http://mirror.slitaz.org/x86_64/cooking/iso/slitaz-firefox-x86_64-cooking.iso ||
sanboot ${mirror1}x86_64/cooking/iso/slitaz-firefox-x86_64-cooking.iso.iso ||
sanboot ${mirror2}x86_64/cooking/iso/slitaz-firefox-x86_64-cooking.iso.iso ||
goto menu

:cooking32retro
sanboot http://mirror.slitaz.org/i486/cooking/iso/slitaz-core-retro-i486-cooking.iso ||
sanboot ${mirror1}i486/cooking/iso/slitaz-core-retro-i486-cooking.iso ||
sanboot ${mirror2}i486/cooking/iso/slitaz-core-retro-i486-cooking.iso ||
goto menu
