Chainload PXE from iPXE
Hello all! Happy Easter!!
Does anyone know if it is possible to chainload PXE from iPXE?
I just setup a new FOG 1.2.0 server (svn 6917), and I have an existing FOG 0.32 server.
I want to chainload the 0.32 menu from the new 1.2.0 server’s menu because I have customized the 0.32 menu to do a lot of different stuff (tools, ISOs, live linux, Windows installers, etc.), and it will take me sometime to figure out how to customize them on the new 1.2.0 menu.
Here’s my chainload configuration on the 1.2.0 menu, but it doesn’t work. It comes up with an error “unable to locate configuration file”.
Anyone has any ideas? Any help will be appreciated.
I did it!!!
The problem was when the client executes the chain command, it sends another request to the DHCP server, and it points the client back to the same iPXE server because that’s what the DHCP server has.
The solution is to explicitly specify the PXE server with command “set net0/next-server iPXE-server-ip”.
Please see below for my screenshot.
Thank you guys for all the help!!!
One last bit of info that my be useful. If you DO decide to move to the trunk way of managing the boot menu. Using this url may help you with your porting of the 0.32 menus over to the trunk method.
If you key that into your browser, you can get an idea of when you change field X in the web gui it has impact Y in the boot menu. Once you figure out what fields do what in the boot menu, your configuration will be more understandable. Best of luck.
Hi @george1421 thanks for your suggestion!!
I may have to go that route if I can’t figure it out!!
IMO, you would be better off (now that you are on the trunk release) to just use the native trunk tools for creating your custom menu. Its quite easy now (as compared to hand editing the config files) and can all be done via the gui. Instead of putting effort into making the older way work, focus those efforts on the recommended and supported solution moving forward.
I wrote a tutorial that may be of some use on how to boot a MDT iso image from the new FOG menu.
There is also a geat wiki page with more helpful hints.https://wiki.fogproject.org/wiki/index.php/Include_any_ISO_in_the_FOG_Bootmenu
Hi @Tom-Elliott Thanks for your reply.
I have changed the DHCP options already. I’m able to boot to the new FOG server ( trunk 6917), but I can’t figure out how to chainload the 0.32 menu from there. Do you have any ideas?
eric0626 last edited by eric0626
that doesn’t work. It comes up with the exact same error.
any ideas on what else i can try? Thanks!
You’re not running 1.2.0, you’re running Trunk version 6917. This is important. 1.2.0 was the last stable release. Trunk (at least in my eye’s) is NOT 1.2.0 (rev 6917). It’s Trunk version 6917.
I feel this needs to be added.
Your 1.2.0 server doesn’t have a /tftpboot/pxelinux.cfg folder, and it does not have pxelinux.0 readily available. You should change your DHCP Option 66/67 (next-server/filename) settings to look at the 1.2.0 ip and filename undionly.kpxe (or undionly.kkpxe).
From there, the chain should be able to happen pretty easily.
I’d more recommend you to upgrade to trunk where you can actually create your own menu items that display on the first menu page.
@eric0626 If the PXE is located on the same server all you should need is
If it’s located on another server then
Assuming your tftp directory is /tftpboot you will need the following:
/tftpboot/pxelinux.cfg/default (<- config file)
And of course other relevant PXE files.
Hi @Quazz, thanks for your reply.
So could you please tell me how i should change the config parameters?
You have to chain the pxelinux.0 file, not the configuration file itself.
And your default file should be in the pxelinux.cfg folder which should reside at the root of your tftp directory