Passing state/args/data to chainloaded iPXE - Printable Version +- iPXE discussion forum (https://forum.ipxe.org) +-- Forum: iPXE user forums (/forumdisplay.php?fid=1) +--- Forum: General (/forumdisplay.php?fid=2) +--- Thread: Passing state/args/data to chainloaded iPXE (/showthread.php?tid=7968) |
Passing state/args/data to chainloaded iPXE - svenx - 2016-02-22 17:53 How do I easily pass state/args/data from iPXE, to another chainloaded iPXE binary? I have to do a multi-stage boot chain, to load an iPXE binary with the correct console output device (serial COM1, COM2, VGA, etc), and break the loop afterwards. My use case, step by step:
At this point, how can the second-stage iPXE binary know that it is at the second stage, and then set a user-class that will indicate this to the DHCP server? (Which will then return the main iPXE boot script to the client.) While I could build a set of binaries that embed a script that sets the user-class to "iPXE-stage2" or something, it makes it rather inflexible. Can I instead embed a single script that can be used in both stage 1 and 2, and have access to some sort of variable/argument that tells it to set the DHCP user-class option? RE: Passing state/args/data to chainloaded iPXE - mcb30 - 2016-02-28 23:03 (2016-02-22 17:53)svenx Wrote: How do I easily pass state/args/data from iPXE, to another chainloaded iPXE binary? If your second iPXE binary is in a format that supports a command line (such as .lkrn or .[k]pxe), then you can use the command line to pass arbitrary instructions to the second iPXE. Michael RE: Passing state/args/data to chainloaded iPXE - mcb30 - 2016-02-28 23:11 (2016-02-28 23:03)mcb30 Wrote: If your second iPXE binary is in a format that supports a command line (such as .lkrn or .[k]pxe), then you can use the command line to pass arbitrary instructions to the second iPXE. Although for this specific use case, it's probably easier to fix up the "console" command to support runtime reconfiguration of the serial port. There's a work-in-progress commit at http://git.ipxe.org/people/mcb30/ipxe.git/commitdiff/a589a06. Michael |