diff --git a/.gitea/workflows/ipxe.yaml b/.gitea/workflows/ipxe.yaml index 1fecc19..ab7b5b5 100644 --- a/.gitea/workflows/ipxe.yaml +++ b/.gitea/workflows/ipxe.yaml @@ -32,7 +32,7 @@ jobs: mv bin-i386-pcbios/undionly.kpxe artifact/undionly.kpxe mv bin-x86_64-efi/ipxe.efi artifact/ipxe64.efi - name: update Nightly Release - uses: akkuman/gitea-release-action@v1 + uses: watho/gitea-release-action@fix_error_on_delete_attachment with: name: ipxe prerelease: true diff --git a/ipxe/netboot.ipxe b/ipxe/netboot.ipxe index 3b14fa2..459577a 100644 --- a/ipxe/netboot.ipxe +++ b/ipxe/netboot.ipxe @@ -1 +1,27 @@ #!ipxe + +#Init networking +dhcp + +#Print useful information for debugging +echo next-server is ${next-server} +echo filaneme is ${filename} +echo MAC address is ${net0/mac} +echo IP address is ${ip} + +#Provisioner uses the following pattern: /boot/{mac} +set server http://${next-server}/boot/${mac:hexhyp} + +# Make an HTTP HEAD request to check if the URL exists +http ${server} head || goto link_does_not_exist + +#Make sure the link is valid +isset ${http_status} || goto link_does_not_exist +iseq ${http_status} 200 && goto link_exists + +:link_does_not_exist +echo Link ${server} does not exist, booting from next bios/uefi target +exit + +:link_exists +chain ${server}