Chainload ipxe script via PXE - Printable Version +- iPXE discussion forum (https://forum.ipxe.org) +-- Forum: iPXE user forums (/forumdisplay.php?fid=1) +--- Forum: General (/forumdisplay.php?fid=2) +--- Thread: Chainload ipxe script via PXE (/showthread.php?tid=18429) |
Chainload ipxe script via PXE - bishop - 2019-06-11 02:20 Hi, not even sure how to correctly title this thread. Here is my working scenario. I have an HTTP share that hosts an iPXE script, the same share also hosts the install files for esxi. In the pxelinux.cfg foolder of my PXE server I have my config file, I use undionly.kpxe as my bootfile. This boot file has a small script to chain the pxe config file, and then in the PXE config I chainload (via HTTP) a ipxe script. This works 100% Now some of my site have a firewall the will block HTTP traffic to overcome this I want to failback to tftp. I figured I could do something like the below in my undionly.kpxe embedded script Code: #!ipxe When I boot my server it gats all the way to the tftp file and just gets stuck no errors it simply outputs -> tftp://10.10.10.10/pxelinux.cfg/macaddress... ok and hangs. If I change the protocol from tftp tp http it works. I know tftp works on my network as other OS types are working fine. There is no firewall as this is a lab environment. I have http, https and tftp enabled in my general.h file. I have read through mang of the tftp threads on this forum and nothing seems to apply. Not sure how to troubleshoot further UPDATE: I enabled logging using this #define LOG_LEVEL LOG_ALL #define CONSOLE_PCBIOS CONSOLE_USAGE_ALL When I boot, I can now see that it downloads the pxe config file (mac address file ) and the when it execute it stops. My config file just contains #!ipxe echo HELLO chain http://servername/ipxescript RE: Chainload ipxe script via PXE - NiKiZe - 2019-06-11 05:09 pxelinux.cfg are usually used with pxelinux, which is not iPXE If you general.h was missing support for any protocol you would see different errors, normally you keep config/general.h unchanged, and only add what you really need to change into config/local/general.h When troubleshooting - always use tcpdump, wireshark or other tool to see the packets and what is going on. I would change to just do an imgfetch, followed by imgstat, and than chain macaddress if the filename is the same for both than the last chain will load from local "cache" but imgstat will show filesize etc. I also want to stress that iPXE does not use config files, but rather scripts, which helps make it easier to understand what is going on. debugging is enabled with the DEBUG= flags during compile. to diagnose scripts, build with DEBUG=script |