Fog Ver. 1.2.0 UEFI & Legacy boot

  • Hi fellow Foggers,
    I have a quick question to ask about this new version of Fog. As i have learned in the past, Ver. 0.32 did not support uefi pxe booting, and I do know that this version does. In my environment I do have a mixed bag of Legacy boot devices and Uefi boot devices. I was wondering if Fog is now able to boot to both, or more specifically, can it tell what can kind of a device that is pxe booting and then give the proper boot file to the device.

  • I already have check’s and balances to check the architecture as in 32 bit vs. 64 bit. If 32 bit arch is found it loads bzImage32 and init_32.xz automatically. If 64 bit, it loads the bzImage and init.xz which are 64 bit files. Hopefully that helps clarify that.

  • Thanks Tom,

    One quick question, is it possible to have Ipxe itself recognize the architecture it is being loaded onto and boot accordingly, or at least something of the like. As for ArchFan’s suggestion, we are running Server 2012 R2 and unfortunately they removed Option 93 from the DHCP Scope Options.

  • Thanks for all your hard work Tom. I’ll see what I can figure out. [URL=‘’]Here[/URL] is a how-to for an older version of Microsoft DHCP server that looks like it describes how to do the same think as your isc-dhcp link - I haven’t tried it myself. DHCP option 93 can do architecture detection too, so that may be useful: [url][/url]

  • @ArchFan,

    We do have apple support now, but the files are in svn trunk.


    If you want to “play” with it download all the files in:

    Also, to get what you’re wanting, the only way I know of to do it right now is to use user classes in your DHCP settings. The only one that I know works in such a manner is isc-dhcp-server and possibly dnsmasq (as a dhcp server of course). I don’t know if Microsoft DHCP has this capability.


    The link here should give you an idea of what I’m referring to.

    Here’s all the options for ipxe to place into isc-dhcp:


    Hopefully this helps you out. If you figure out a way to do what you’re describing with other dhcp server, please let us know so I can try getting some documentation on how to what you’re attempting.

  • As of right now it will be on a as needed basis as we had just refreshed our lab, staff, and student machines this summer. the only thing is they are currently in legacy boot only mode right now, except the Dell Latitude 10 tablets. So if I were to re-image them I would have to change the BIOS boot to UEFI only, barring that my devices can do a UEFI pxe boot.

  • How often do you plan on imaging them? We have a lab of Latitude 3847’s that will only boot with undionly.kpxe.INTEL, not undionly.kpxe, but we have other devices that won’t boot using undionly.kpxe.INTEL. What I did to get the 3847’s imaged for the year was to move the undionly.kpxe file to undionly.kpxe.0 as a backup, then create a symbolic link from the desired boot file (undionly.kpxe.INTEL) to undionly.kpxe, like below:
    mv /tftpboot/undionly.kpxe{,.0}
    ln -s /tftpboot/undionly.kpxe.INTEL undionly.kpxe

    This way all I had to do was ssh into the FOG server, but avoided altering the DHCP options. Then to reverse it, I just ran:
    rm /tftpboot/undionly.kpxe
    mv /tftpboot/undionly.kpxe.0 /tftpboot/undionly.kpxe

    If nothing else, it’s a quick way to test if the change in files breaks booting for other devices

    If your legacy devices have the UEFI option though, and both those and the tablets will boot from either the ipxe.efi or snponly.efi file, that’s preferable, IMO

  • Right, I have some Dell Latitude 10 tablets that will only boot into uefi only. These devices do not have a legacy boot option… I do know of getting ipxe.efi and putting it into tftp folder and point dhcp to there, but doing this the legacy devices may not work. but i will check as i believe my legacy devices do also have a Uefi boot option as well. Maybe i can get this to work right.

  • Eric, I don’t believe there’s currently a way to boot both unless you disable UEFI on those machines and use the same undionly.kpxe or whatever *.*pxe file as you’re using for the legacy devices. Given the context here: [url][/url] I believe it’s something Tom is working on. Once snponly.efi is fully Apple compatible, we’ll be wanting the same feature, as our other devices are all legacy, but the Apples won’t PXE boot without extra steps

  • Moderator

    there is a thread in the hardware section on which hardware works…

    I have had machines that worked even on 0.32 that had UEFI. try and find out.