UNSOLVED USB boot UEFI - not booting from USB

  • so I have followed the “easy” instructions on how to get this working. (which is a MUST for me since I have the option to type in my fog server IP)

    It will not boot.

    I have found throughout the forums “ipxe.iso”, downloaded it which contains BOOT.CAT, IPXE.KRN, ISOLINUX.BIN, ISOLINUX.CFG.

    I am assuming I copy that to the root of my USB drive. create the EFI/BOOT/bootx64.efi file and path.

    Nothing is working. I have the option to select boot from USB and it skips booting from USB.

    Can you guys tell me what I am possibly doing wrong?

  • Moderator

    @vince-villarreal Two other points.

    You can build a usb boot drive with iPXE, but again that still relies on dhcp having the right settings to instruct ipxe on how to find the fog server.

    You can also build a FOS usb boot disk, that will boot you right into FOS bypassing PXE altogether. But there are some caveats with this approach. If you can overlook the caveats and just want to capture and deploy (no multicast, no direct imaging from iPXE menus, etc) it will work for you.

    One last comment, fog doesn’t like it when/if you change the IP address of the fog server once the FOG management console is installed. There are work arounds, but its best to have it at its assigned (forever) address when you install FOG.

  • Moderator

    @vince-villarreal Well if you have a soho router you can still make pxe booting work pretty easily. Just install dnsmaq on your fog server. Your soho router will supply dhcp IP addresses and dnsmasq will function as proxy-dhcp server and only provide pxe boot info. It works really well.

    1. Install dnsmaq on the fog server from your linux distro’s repository.
    2. Make sure you are running dnsmasq version 2.76 or later sudo dnsmasq -v
    3. Create a new file as /etc/dnsmasq.d/ltsp.conf
    4. Paste this config file into that file (ltsp.conf)
    # Don't function as a DNS server:
    # Log lots of extra information about DHCP transactions.
    # Set the root directory for files available via FTP.
    # The boot filename, Server name, Server Ip Address
    # Disable re-use of the DHCP servername and filename fields as extra
    # option space. That's to avoid confusing some old or broken DHCP clients.
    # inspect the vendor class string and match the text to set the tag
    # Set the boot file name based on the matching tag from the vendor class (above)
    # PXE menu.  The first part is the text displayed to the user.  The second is the timeout, in seconds.
    pxe-prompt="Booting FOG Client", 1
    # The known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86,
    # Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI
    # This option is first and will be the default if there is no input from the user.
    pxe-service=X86PC, "Boot to FOG", undionly.kpxe
    pxe-service=X86-64_EFI, "Boot to FOG UEFI", ipxe.efi
    pxe-service=BC_EFI, "Boot to FOG UEFI PXE-BC", ipxe.efi
    1. Be sure to replace <fog_server_ip> exactly with the IP address of your fog server. Be aware that that string appears in multiple places.
    2. Start/restart dnsmasq
      sudo systemctl restart dnsmasq
    3. Confirm its running in memory
      sudo ps aux|grep dnsmasq
    4. Ensure it starts on every reboot
      sudo systemctl enable dnsmasq

    That should be it. PXE boot your target computer and it should connect you to the fog IPXE menu.

  • I have an ultra cheap router. Fog server setup locally. Router is acting as DHCP. I just need the USB to point directly to my fog server’s IP rather than wasting anytime getting PXE boot to work.

    This is a temporary thing as I am shipping someone a $20 router, fog server, a gigabit switch, and a few ethernet cables so he can image about 30 pcs at his location.

  • Moderator

    lets start out by understanding why you are usb booting into the iPXE menu. What problem are you trying to get around?

    which is a MUST for me since I have the option to type in my fog server IP

    This tells me it working, but your dhcp server isn’t sending out the right information to go to the next step.