USB Boot UEFI client into FOG menu (easy way)


  • Moderator

    You may has why do we need this?

    UEFI PXE booting is a bit different than BIOS based PXE booting. Some of the early UEFI systems like the Dell Latitude e6420 and the OptiPlex 790 do not support PXE booting in UEFI mode. But through testing they do support USB booting in PXE mode. So knowing this I’m going to set out a simple solution to PXE boot these devices in UEFI mode. I can say for sure this method works with the previous mentioned systems. YMMV with other hardware platforms.

    The process steps are not hard at all (actually even easier than USB BIOS PXE booting). You will need to acquire these things.

    1. A 2GB (min) flash drive
    2. A UEFI pxe boot image from a functioning FOG server.

    Boot image creation process

    1. Insert your flash drive into a Windows based computer and format it with FAT32 disk format
    2. On that flash drive create a folder called EFI
    3. On that same flash drive create a folder called BOOT in the EFI folder creating this path “x:\EFI\BOOT”. Note: I have not tested if case is important or not, I used upper case for everything and it worked. That is as far as I tested.
    4. From a functioning FOG server copy /tftpboot/ipxe.efi to your windows computers. (pscp from putty tools works great)
    5. Copy that file to the flash drive in the EFI\BOOT folder. That file MUST BE RENAMED to bootx64.efi (note the case difference. I did not test to see if case is important)
    6. At this point remove the usb thumb drive from the build up computer and insert the drive into a target computer
    7. Power on the target computer and press F10 or F12 (depending on the mfg) to call up the EFI boot menu.
    8. Select the USB boot device under the EFI section of the EFI menu
    9. You should see the iPXE boot banner and then after about 30 seconds it should be prompted for the IP address of your FOG server. Key in the IP ADDRESS of your FOG server and press Enter.
    10. At this point you should boot into the FOG iPXE menu.

  • Moderator

    @george1421 I often see it when installing fog inside a vm. I install fog a lot so that makes sense. I think whatever it is isn’t with fog or fos, but with the latest Linux kernel, there’s something up with its display stuff when under load.


  • Moderator

    @Wayne-Workman Just so I understand, where are you are seeing that video delay in FOS or iPXE?


  • Moderator

    eg: with a ##% progress, the display halts at say 12% … nothing else will happen until I hit space/enter/backspace. Next it goes to 15%. again, smack a key. etc, etc. So I hold the space bar down and it flies through everything.

    I have two Optiplex 790 machines at home.

    Firstly, I love these two machines lol. They are the newest desktops in the house.

    I’ve been able to image one in BIOS mode fine using the boot file undionly.kkpxe. I’ve not tried UEFI mode yet.

    The delay your talking about, I see this all the time here lately with sub-par display adapters. Especially virtual machine display adapters. I’ve also seen it on older Optiplex 380s. The display just simply quits giving output unless you tap the enter key every now and again. This seems to be particularly prevalent when said systems are under load.

    I couldn’t tell you why, but I’ve worked around it the same way you have.

    I personally believe it has something to do with the latest Linux kernel. I used to not have this problem. And it cropped up perhaps a couple weeks ago.



  • It also tested fine with a 4GB key formatted to fat32. I don’t see why it wouldn’t also work on a 32GB key.

    I pulled ipxe.efi from my RC23 FOG server.


  • Moderator

    First let me say I’m not nit picking here just trying to understand and add what bits I know.

    Finding myself testing UEFI booting on Dell OptiPlex 790 I have some observations to post regarding the UEFI USB boot with iPXE.

    The 390/790s were the first generation of desktops that supported uefi, but not pxe booting (if I remember). That is what started me down that rom-o-matic path and this thread.

    As for your workflow for creating a bootable usb drive, yeah uefi is cool no more boot sector stuff, as long as you have the boot.efi in the right location its all good.

    USB Key size is not limited to 2GB. I successfully tested with a 1GB key.

    The usb key size should have been a max size of 2GB. And that should be imposed because of the fat32 file system.

    Beginning with “@ iPXE 1.0.0+ (aa11ff) …” at any point in the process leading up to FOG actually launching, whenever you would expect a progress indicator (##%) or an ‘’… OK" to pop up, keyboard input must be made to continue. I must hold the space bar, enter or backspace key down to ensure the process continues to the next visual refresh.

    OK this one has me a bit lost. You have to do stuff on the keyboard to get the iPXE kernel to boot? I find that suspicious. I’m not sure why that is a feature at all. Did you build your image using the rom-o-matic site or via the iPXE source code?



  • Finding myself testing UEFI booting on Dell OptiPlex 790 I have some observations to post regarding the UEFI USB boot with iPXE.

    Here is what I did.

    1. CMD: diskpart
    2. list disk 
    3. select disk # -- where # is the number representing your USB key listed by "list disk"
    4. clean
    5. create partition primary
    6. select partition 1
    7. format quick fs=fat32
    8. active
    9. exit
    
    10. COPY <FOG>\tftpboot\ipxe.efi to <USB>:\efi\boot\bootx64.efi
    

    USB Key size is not limited to 2GB. I successfully tested with a 1GB key.
    Case does not matter. Never does with Windows.

    Beginning with “@ iPXE 1.0.0+ (aa11ff) …” at any point in the process leading up to FOG actually launching, whenever you would expect a progress indicator (##%) or an ‘’… OK" to pop up, keyboard input must be made to continue. I must hold the space bar, enter or backspace key down to ensure the process continues to the next visual refresh.

    eg: with a ##% progress, the display halts at say 12% … nothing else will happen until I hit space/enter/backspace. Next it goes to 15%. again, smack a key. etc, etc. So I hold the space bar down and it flies through everything.

    Otherwise it works like a charm.


  • Moderator


  • Moderator

    @ITSolutions I created a new tutorial that requires the reader to create a new ipxe boot kernel to do as you want. It did work in my environment here is a link to the tutorial if you want to give it a try. https://forums.fogproject.org/topic/6400/usb-boot-uefi-client-into-fog-menu-harder-way


  • Moderator

    Using this (easy way) method, no.

    What we would need to do is compile a new efi kernel as I outlined in the tutorial for the BIOS usb boot [ https://forums.fogproject.org/topic/6347/usb-boot-bios-client-into-fog-menu ]. I attempted to do the same workflow for the EFI boot as BIOS but the kernel didn’t work. I decided to take the “easy way” and rely on the work done by the FOG developers.

    Now doing what you want is totally possible, if we can get the kernel configurations from the FOG developers, because the rom-o-matic can be used to compile custom kernels. We just need to know the options to select. This also assumes that the FOG developers haven’t patch the ipxe kernels in their environment.


  • Testers

    Is there any way to hard code the ip address into this key or would you have to type the IP every time?


  • Moderator

    Tagging this for the wiki


Log in to reply
 

Looks like your connection to FOG Project was lost, please wait while we try to reconnect.