This line does not look legit to me;

isset ${net${interface-idx}/mac} || goto end-loop-int item --key 
${interface-idx} net${interface-idx} net${interface-idx} inc interface-idx && 
goto loop-int :end-loop-int

AFAIK you cant have multiple commands like this;

goto end-loop-int item --key ${interface...

So you would need to split it out like;

|| goto end-loop-int &&  goto loop-int

And then deal with you setting the "item" othwise. 

//A

andr...@2pintsoftware.com @andhammarskold +46727253995

-----Original Message-----
From: ipxe-devel <ipxe-devel-boun...@lists.ipxe.org> On Behalf Of James Peltier
Sent: Friday, 25 September 2020 19:44
To: ipxe-de...@ipxe.org
Subject: [ipxe-devel] Problem with iPXE menu

Hi All,

I'm having a bit of trouble with iPXE menus.  I'm trying to allow a user to 
select the interface that they would like to boot from and this works fine.  
However, if someone incorrectly selected the wrong interface, I want them to be 
able to go back into the menu and reselect the proper one.

When i choose the option to select the boot interface the first time it works 
and sets the boot-interface variable to the selected network, returns to the 
menu showing the "Select Boot Interface (DONE)". If I then select this option 
again it seems to attempt to boot and ends up with an INT18 error.

What am I doing wrong?


CODE
=========

:menu
clear boot-interface

menu Main Menu
item --gap Build Date: ${build_date} (UTC) item item --gap We will be booting 
from ${mirror} today.
item
item --key N boot-dhcp (N)ormal Boot
item --key C customization-menu (C)ustom Boot choose --timeout 0 --default 
boot-dhcp boot-select && goto boot-type || goto menu


:select-boot-interface
menu Select an interface to boot from

:loop-int
isset ${net${interface-idx}/mac} || goto end-loop-int item --key 
${interface-idx} net${interface-idx} net${interface-idx} inc interface-idx && 
goto loop-int :end-loop-int

choose --timeout 0 --default 0 boot-interface && goto customization-menu


:attempt-boot
echo
echo Attempting to boot ${boot-interface} #isset ${net${interface-idx}/mac} && 
goto ${fqdn} || goto boot-dhcp isset ${boot-interface}/mac} && goto ${fqdn} || 
goto boot-dhcp


:customization-menu
menu Customize Installation
item
item --key 1 attempt-boot (1) Try All Interfaces isset ${boot-interface} && 
item select-boot-interface Select Boot Interface (Done) || item 
select-boot-interface Select Boot Interface item custom-boot Start Custom Boot 
item menu Main Menu choose --timeout 0 --default attempt-boot 
customization-menu-selection || goto customization-menu goto 
${customization-menu-selection} _______________________________________________
ipxe-devel mailing list
ipxe-devel@lists.ipxe.org
https://lists.ipxe.org/mailman/listinfo/ipxe-devel
_______________________________________________
ipxe-devel mailing list
ipxe-devel@lists.ipxe.org
https://lists.ipxe.org/mailman/listinfo/ipxe-devel

Reply via email to