diff --git a/src/embed.ipxe b/src/embed.ipxe index e36476c1..0ce784d1 100644 --- a/src/embed.ipxe +++ b/src/embed.ipxe @@ -1,16 +1,35 @@ #!ipxe -# embedded ipxe script for netbooting +# embedded ipxe script for netbooting from various sources -echo Commencing network boot +echo Activating first network device. +echo Commencing network boot. :dhcp dhcp net0 || goto dhcp + +# configuration +## console colour --basic 9 4 colour --basic 6 1 +## variables +set iscsi_portal 10.1.5.2 + +## iscsi targets +set iqn-discovery-esxi iscsi:${iscsi_portal}::::iqn.2000-01.com.synology:spacedock.discovery-esxi.e84d7761fd +set iqn-ghost-windows81 iscsi:${iscsi_portal}::::iqn.2000-01.com.synology:spacedock.ghost-windows81.e84d7761fd +set iqn-ghost-archlinux iscsi:${iscsi_portal}::::iqn.2000-01.com.synology:spacedock.ghost-archlinux.e84d7761fd +set iqn-ghost-antergos iscsi:${iscsi_portal}::::iqn.2000-01.com.synology:spacedock.ghost-antergos.e84d7761fd + + +# jump to ip specific config +:custom +goto ${net0/ip} || goto menu + +# print main boot menu :menu -menu Choose your favourite netboot server: +menu Boot options: item --gap MAC Address: ${net0/mac} item --gap IP Address: ${net0/ip} item --gap Netmask: ${net0/netmask} @@ -19,13 +38,12 @@ item --gap DNS: ${net0/dns} item item localboot Boot from local disks item -item stargazer Boot from tftp://stargazer.socialnerds.org item aecat Boot from https://boot.aec.at item netbootxyz Boot from https://boot.netboot.xyz item item advanced Advanced iPXE options -choose --default stargazer --timeout 10000 target && goto ${target} +choose target && goto ${target} goto menu :advanced @@ -45,37 +63,6 @@ item settings Open settings dialog choose target && goto ${target} goto advanced - -:localboot -echo Booting from local disks -sleep 2 -sanboot --no-describe --drive 0x80 || goto menu -exit - -:aecat -echo Booting from the Ars Electronica Netboot Server (https://boot.aec.at) -sleep 2 -set conn_type https -chain --autofree https://boot.aec.at/menu.ipxe || echo HTTPS failed... attempting HTTP... -set conn_type http -chain --autofree http://boot.aec.at/menu.ipxe || goto menu -exit - -:stargazer -echo Booting from stargazer.socialnerds.org (tftp://10.1.5.1/menu.ipxe) -sleep 2 -chain --autofree tftp://10.1.5.1/menu.ipxe || goto menu -exit - -:netbootxyz -echo Booting from netboot.xyz (https://boot.netboot.xyz) -sleep 2 -set conn_type https -chain --autofree https://boot.netboot.xyz/menu.ipxe || echo HTTPS failed... attempting HTTP... -set conn_type http -chain --autofree http://boot.netboot.xyz/menu.ipxe || goto menu -exit - :exit exit @@ -90,3 +77,82 @@ reboot :shell shell + +# boot options +## boot from local disks +:localboot +echo Booting from local disks +sleep 2 +sanboot --no-describe --drive 0x80 || goto menu +exit + +## boot.aec.at +:aecat +echo Booting from the Ars Electronica Netboot Server (https://boot.aec.at) +sleep 2 +set conn_type https +chain --autofree https://boot.aec.at/menu.ipxe || echo HTTPS failed... attempting HTTP... +set conn_type http +chain --autofree http://boot.aec.at/menu.ipxe || goto menu +exit + +## netboot.xyz +:netbootxyz +echo Booting from netboot.xyz (https://boot.netboot.xyz) +sleep 2 +set conn_type https +chain --autofree https://boot.netboot.xyz/menu.ipxe || echo HTTPS failed... attempting HTTP... +set conn_type http +chain --autofree http://boot.netboot.xyz/menu.ipxe || goto menu +exit + +## GHOST - Windows 8.1 +:windows81 +echo Booting into Windows 8.1 from ISCSI. +set net0/keep-san 1 +sleep 1 +sanboot --keep ${iqn-ghost-windows81} || goto menu + +## GHOST - Archlinux +:archlinux +echo Booting into Archlinux from ISCSI. +set net0/keep-san 1 +sleep 1 +sanboot --keep ${iqn-ghost-archlinux} || goto menu + +## GHOST - Antergos +:antergos +echo Booting into Antergos from ISCSI. +set net0/keep-san 1 +sleep 1 +sanboot --keep ${iqn-ghost-antergos} || goto menu + +## Custom boot for 10.1.5.4 (discovery_iscsi) +:10.1.5.4 +echo Booting into VMWare ESXi 6.5 from ISCSI. +set net0/keep-san 1 +sanboot --keep ${iqn-discovery-esxi} || goto menu + +## Custom boot for 10.1.5.3 (ghost_iscsi) +:10.1.5.3 +menu GHOST boot options +item --gap MAC Address: ${net0/mac} +item --gap IP Address: ${net0/ip} +item --gap Netmask: ${net0/netmask} +item --gap Gateway: ${net0/gateway} +item --gap DNS: ${net0/dns} +item +item antergos Boot into Antergos +item archlinux Boot into Archlinux +item windows81 Boot into Windows 8.1 +item +item aecat Boot from https://boot.aec.at +item netbootxyz Boot from https://boot.netboot.xyz +item +item advanced Advanced iPXE options +item + +choose target && goto ${target} +goto menu + + diff --git a/src/menu.ipxe b/src/menu.ipxe index 912d847d..10c034bf 100644 --- a/src/menu.ipxe +++ b/src/menu.ipxe @@ -68,8 +68,8 @@ item --gap IP Address: ${net0/ip} item --gap Netmask: ${net0/netmask} item item -item archlinux Boot into Archlinux item antergos Boot into Antergos +item archlinux Boot into Archlinux item windows81 Boot into Windows 8.1 item