I’ve created a table in FOG that does, more or this, exactly what’s being requested.
Because of this, for the most accurate of data, please use the proper filenames as it’s the best method I can come up with.
If you’re interested in finding out what files work and such, hence the idea behind the generation of this table, rather than setting your dhcp filename option to undionly.kpxe, start out with ipxe.pxe. Test your systems, and find out if the systems can boot under ipxe.pxe.
If they can, there’s little more you need to do.
If not all your systems work, then try the undionly.kpxe file. The table will read the new file name and create a new entry if it makes it into the menu. If it doesn’t make it into the menu it won’t enter it.
The basic construct of the table currently is:
Product, Manufacturer, Boot file, and mac address.
It will not keep making entries in the table for every mac address. It will only make new entries if the filename, product, and the manufacturer does not already exist.
This way, let’s say you changed undionly.kpxe to ipxe, you may end up with an entry for the same model of system for multiple files.
The ideology of this table is to eventually allow centralized place for fog and the ipxe team to better know what systems work and with which files.
Of course, when this gets entered, it will be completely optional to send this data to us.
Once we have the “central” table setup, the table will allow us (the developers) to hopefully code in what systems and what files to use for those systems.
For example, if we know the ipxe.pxe works for the Dell ts1700, and you’re booting to undionly.kpxe, We can supposedly cause the undionly.kpxe to rechain to ipxe.pxe. This would allow better operation of the nic during the ipxe state.