OK, if I understand what you want to do (Add a custom ipxe boot menu item). I have been able (on paper) put together a partial solution for you. This solution assumes you are running a SVN trunk upgrade from the core 1.2.0 release.
If you go into the FOG settings and add a custom IPXE menu item. Add these settings:
Menu Item: Dutch.Exams
Description: Dutch Exams Example
You can view the results of this setting by pointing your browser at the following url
This will show you the ipxe menu that will be presented to the ipxe menu application
The file path on the fog server is (on rhel) /var/www/html/fog/service/ipxe/
Now the part I don’t know about. You will notice that in my ipxe menu I have a path for the boot kernel. I don’t know if we can create a symbolic link from the path above to where your files are stored and then include that in the ipxe menu command. Or just go the easy route and dump your exam kernel and initrd files in /var/www/html/fog/service/ipxe I think it would be safer for your files to have a sym link from /var/www/html/fog/service/ipxe/<something > to your file location.
As I said (on paper) this should work without having to dig into the FOG code if you are willing to use the SVN trunk.
@bakgat As far as I can tell the options 66 and 67 in the bootp.plist are base64 encoded. Trying to decode (e.g. www.base64decode.org) I only get a sensible result for option 67 (‘undionly.kpxe’) but not for opt 66.
The other thing I notice is that the packet you posted is a request (‘Message type: Boot Request (1)’) from a client machine. You don’t see the options in a request only on replys. See if you can find the answer from the server. DHCP goes like this: Client-Discovery, Server-Offer, Client-Request, Server-Ack (https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol#Operation)
So you should actually see at least four DHCP packets! If you don’t see any reply DHCP packets from the server I am wondering if the bootp service is actually started?!