SOLVED FOG Working ok with Legacy, Can't boot to EFI

  • hey guys, i got my system setup perfecly with legacy, but i can’t boot it in efi networks, the system wouldn’t even show up.
    I have added ipxe32 and 64 on my pfsense dhcp server options but it didn’t do anything.
    What am i doing wrong?
    many thanks

  • i’ll write a quick tutorial as soon as i have everything working. I guess i can’t use -no–describe in uefi, but i can allways use wimbot to boot to an envoirment and then mount iscsi devices and go from there.
    memdisk is a nice kernel but loading the ENTIRE iso into the ram is network consuming and big isos will eat up my ram at best.
    running from iscsi is the way to go! it’s like a physical device , but mounted virtually, via a network, it’s like using a pen, but -no-describe ruins some of the feautres i want to use, well… if i want to use it in uefi mode anyway.

  • Moderator

    @vascomorais First let me say you are doing things that are way more advanced than even the developers have done. So support on this will be weak at best from the FOG forums.

    I can say I have not personally tried to network boot from an iscsi disk using FOG. So my experience in this area is not very good.

    I can tell you some things though.

    1. You can look at the ipxe fog menu (the code behind the menu) by calling this URL with a browser. http://<fog_server_ip>/fog/service/ipxe/boot.php?mac=00:00:00:00:00:00 This will let you see what changes you make in the web gui and how those changes impact what iPXE sees.
    2. The command is --no-describe you did reference it two different ways in this post. Just make sure your coding is correct. I looked at the iPXE page for sanboot and they do make reference to --no-describe but didn’t say what it does or why its used. How do you know you need to use that command switch? ref:
    3. For uefi you might need to use the --filename operator to define the boot file location and name.

  • @george1421 Hey George, thanks! i will take a look a it, but now i have one slight problem.
    I tought everything was running perfectly, but it seems that the -no-description will actually destroy some of my , previously working stuff.
    For instance, if i use no-description to boot a windows instalation boot disk , it will ask me to point out where are the drivers and files for the said instalation, this is because it seems that no-description will not mount the iscsi device as a san “drive” like it’s meant, with drive letters and blocks and etc…

    if i use no-description with ipxe.efi it will not work.

    is there any other efi bootable file i can try?

  • Moderator

    @vascomorais FOG doesn’t support this because it doesn’t care about uefi/bios for booting.

    But you could use FOG to present your own custom iPXE menus that could care. If you look at this code snippet from the ref’d post below, you can control program (ipxe menu) flow based on if the platform you are executing the menu script on.

    iseq ${platform} pcbios && goto mem_bios || goto no_mem
    kernel memdisk initrd=memtest.bin iso raw
    initrd memtest.bin
    boot || goto MENU
    prompt --timeout 30000 Host must be BIOS (not UEFI) booted for this option. Press any key to return to the menu... && goto MENU || goto MENU


    You can read more about the run time variable platform here:

    So the idea is that you would use fog menu entry to create a submenu with your dynamic menu items.

    Search the FOG Project forum for “submenu” to find examples of doing this. You may find examples of hacking php code. That information is outdated since the FOG developers added the great capabilities to customize the FOG iPXE menu within the gui.

  • okay i got everything working now, but i had to use --no-describe

    so here’s my parameters for ipxe boot menu:

    sanboot --no-describe

    boots perfectly on bios and legacy.

    Now… is there a way i can hide menu items depending on if they are booting from legacy or uefi it would be awsome as some of my isos have both efi and bios boot and others only have either efi or bios

  • Moderator

    For your pfsense settings, they should look similar to the OP here:

    With the exception of the root-path string. That field should be blank.

  • okay, i still have a weird problem, but this time i think it’s a bug.
    after finding the ipxe.efi file instead of both 32 and 64, i managed to boot to fog ipxe menu (same as legacy) but the sanboot comands don’t work in the menu, if i try to use them and then press “s” for the ipxe shell, and type them manually, they work, but if i try to use the script in the fog configuration menu , it will just fail, altough the script works fine in legacy boot mode.

    is this a bug or…

  • ah wait, i looked at the tftpboot folder and found out that i only have ipxe.efi file, not 32 and 64 like on ipxe documentation, is this normal? i pointed both 32 and 64 on my dhcp to this kernel. i did good?