@kgosset Well I’m a strong believer of you learn more from your mistakes than your successes, so I’ll only give you a push in a direction.

So lets take a hacker’s approach to this (the 1980s definition of a hacker not the 2000s blackhat).

I already gave you one clue. Point your browser to http://<fog_server_ip>/fog/service/ipxe/boot.php?mac=00:00:00:00:00:00 That will display the FOG iPXE menu as the FOG Project developer (wizards) have create. I figure they know a lot more than I do about the iPXE menu commands and structure. So copy the contents of that menu save it into a text file (save yourself some grief by using notepad++ and not ms windows notepad to edit this file). Save the file as a UNIX script file and name it something like custommenu.ipxe. The ipxe extension is important.

Now you can throw out a lot in this menu, but look for a :Menu line label. Delete the content below (but leave :Menu) down to :bootme (leave :bootme)

Now insert this into the deleted section (between :Menu and :bootme)

NOTE: this has NOT been tested. I only dreamed it up moments ago

menu item fog.mainmenu Return to the FOG iPXE menu item --gap menu --name dell-laptop Dell Laptops item fog.dell.7400 Dell Latitude 7400 item --gap menu --name dell-desktop Dell Desktops item fog.dell.3060 Dell Optiplex 3060 (mini) item --gap menu --name utilities item fog.mdt Boot into MDT choose --default fog.mainmenu --timeout 10000 target && goto ${target} :fog.mainmenu params param mac0 ${net0/mac} param arch ${arch} param platform ${platform} param product ${product} param manufacturer ${product} param ipxever ${version} param filename ${filename} param sysuuid ${uuid} chain http://${boot-url}/service/ipxe/boot.php##params boot || goto MENU :fog.dell.7400 boot || goto MENU :fog.dell.3060 boot || goto MENU :fog.mdt mdt.1903 kernel http://${fog-ip}/wimboot imgfetch --name BCD http://${fog-ip}/mdt/Boot/BCD BCD imgfetch --name boot.sdi http://${fog-ip}/mdt/Boot/boot.sdi boot.sdi imgfetch --name boot.wim http://${fog-ip}/mdt/Sources/Boot.wim boot.wim boot || goto MENU

Place this file on the FOG server in the /tftpboot directory.

Now you need to make a new iPXE menu entry to call this menu.

Menu Item: fog.CustomMenu
Description: Custom FOG Menu
Parameters:
chain tftp://${fog-ip}/custommenu.ipxe
boot || goto MENU

Now pxe boot a target computer. See if your menu works to go into and out of the custom menu. I’ll say this again, I did not test this menu design so there are probably bugs in it. But this is the framework. Once your menu works then we can work on filling out the menu items in your custom menu. I will show you how to get the details for the menu items.

ref:

Contents of /tftpboot/default.ipxe https://forums.fogproject.org/topic/10944/using-fog-to-pxe-boot-into-your-favorite-installer-images https://ipxe.org/cmd/menu