• Recent
    • Unsolved
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    USB Boot UEFI client into FOG menu (harder way)

    Scheduled Pinned Locked Moved
    Tutorials
    5
    35
    19.0k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • george1421G
      george1421 Moderator
      last edited by george1421

      WARNING: this tutorial is no longer relevant since the rom-o-matic site has been shutdown since Dec 2019. These instructions are no longer valid and can be followed. I'm leaving these instructions here for historical reasons. No additional support on this topic can be provided since they depend on an external web site working

      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 create the harder solution (see easier solution if this method is too complicated for your needs) to PXE boot these devices in UEFI mode. This method we will create a new efi boot kernel to install on our usb flash drive to boot into the FOG environment. Building linux kernels are not extremely difficult using the rom-o-matic, but because of the number of options you can choose, you can run into problems if not created correctly. I can say for sure this method works with the previous mentioned systems. YMMV with other hardware platforms.

      The process steps are not that hard, its a bit like giving your self a root canal without medicine. It will hurt like crazy while you are doing it, but once its over you will have the satisfaction of not wanting to ever do it again <jk>. Its not really that hard, the rom-o-matic does all of the work.

      You will need to acquire these things.

      1. A 2GB (min) flash drive
      2. A UEFI pxe boot image we will create from the rom-o-matic web site

      iPXE UEFI boot kernel creation process

      1. From a browser access the rom-o-matic web site at https://rom-o-matic.eu/
      2. Select Advanced, for experienced users radio button
      3. In the drop down list for the output format select EFI PXE bootstrap 64-bit (.efi) selection.
      4. Ensure that NIC type is set to all-drivers (default)
        Since there are a ton of settings that could be changed here, I'm only going to post the changes from the default settings for the PXE boot. HINT: You may want to search in your browser for the variable names I used below to locate the exact setting in question.
      5. Section: Download protocols.
        DOWNLOAD_PROTO_HTTPS = checked
        DOWNLOAD_PROTO_FTP = checked
        DOWNLOAD_PROTO_NFS = checked
      6. Section: SAN boot protocols
        All checked in this section except HTTP_ENC_PEERDIST = unchecked
      7. Section: Image types
        All unchecked except IMAGE_PNG = checked
      8. Section: Command-line commands to include
        All checked except IWMGMT_CMD = unchecked, PXE_CMD = unchecked, PROFSTAT_CMD, = unchecked
      9. Section: Console options
        All unchecked except CONSOLE_FRAMEBUFFER = checked
      10. Section: Embedded script add in the following script
      #!ipxe
      
      set fogserver 192.168.1.88
      
      isset ${net0/mac} && dhcp net0 || goto dhcpnet1
      echo Received DHCP answer on interface net0 && goto netboot
      
      :dhcpnet1
      isset ${net1/mac} && dhcp net1 || goto dhcperror
      echo Received DHCP answer on interface net1 && goto netboot
      
      :dhcperror
      prompt --key s --timeout 10000 DHCP Failed, hit 's' for the iPXE shell; reboot in 10 seconds && shell || reboot
      
      :netboot
      cpuid --ext 29 && set arch x86_64 || set arch i386
      params
      param mac0 ${net0/mac}
      param arch ${arch}
      param platform ${platform}
      param product ${product}
      param ipxever ${version}
      isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme
      
      :bootme
      chain http://${fogserver}/fog/service/ipxe/boot.php##params
      

      Be sure to change the ip address above for next-server to the IP address of your FOG server. You must use an IP address and not the conical name of your fog server.

      1. Section: Which revision should be set to Master (default)
      2. Press the Proceed >> button. After a bit you will be prompted to download a file called **ipxe.efi ** be sure to save it. We will need this file in the section below.

      Boot drive 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. Copy the ipxe.efi kernel created in the previous section 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)
      5. At this point remove the usb thumb drive from the build up computer and insert the drive into a target computer
      6. Power on the target computer and press F10 or F12 (depending on the mfg) to call up the EFI boot menu.
      7. Select the USB boot device under the EFI section of the EFI menu
      8. 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.
      9. At this point you should boot into the FOG iPXE menu.

      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

      Wayne WorkmanW 1 Reply Last reply Reply Quote 3
      • Wayne WorkmanW
        Wayne Workman
        last edited by Wayne Workman

        Tagging this for the wiki

        Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
        Daily Clean Installation Results:
        https://fogtesting.fogproject.us/
        FOG Reporting:
        https://fog-external-reporting-results.fogproject.us/

        1 Reply Last reply Reply Quote 0
        • Wayne WorkmanW
          Wayne Workman @george1421
          last edited by Wayne Workman

          @george1421 This has been added to the wiki here: https://wiki.fogproject.org/wiki/index.php?title=USB_Bootable_Media

          FYI, George, all that formatting was a PITA.

          Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
          Daily Clean Installation Results:
          https://fogtesting.fogproject.us/
          FOG Reporting:
          https://fog-external-reporting-results.fogproject.us/

          1 Reply Last reply Reply Quote 1
          • PsycholiquidP
            Psycholiquid Testers
            last edited by

            I am trying this and for the most part it is seeing my USB drive and starting, however once it hits the Open Source Network Boot Firmware it closes and goes into windows. Am I missing something here. It never asks me for the server IP.

            Here is the script I used in the ROM-o-matic site:

            #!ipxe

            dhcp
            set next-server 10.20.60.14
            set filename ipxe.efi
            chain tftp://${next-server}/${filename}

            I have tested and the file is easily grabbable form all VLANs, so I am not sure what might be happening, unless the network card I am using just isn’t working. Is there anyway to tell. I am not seeing a IP being assigned.

            Tom ElliottT Wayne WorkmanW 2 Replies Last reply Reply Quote 0
            • Tom ElliottT
              Tom Elliott @Psycholiquid
              last edited by

              @Psycholiquid I’d think you need to chain to the default.ipxe file of fog, not the ipxe.efi. The ipxe.efi should be already started by the usb stick, or at least how I’m seeing it.

              Maybe I’m misunderstanding.

              Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

              Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

              Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

              1 Reply Last reply Reply Quote 1
              • Tom ElliottT
                Tom Elliott
                last edited by Tom Elliott

                I guess what I’m trying to say, if you’re using the usb, you’re already IN ipxe in some way, why would you want to redirect to another ipxe file. Why not make the config the same AS the default.ipxe file, or just load the file itself.

                Load the file itself directly

                #!ipxe
                dhcp
                chain tftp://${next-server}/default.ipxe
                

                Just boot directly to what you need:

                #!ipxe
                isset ${net0/mac} && dhcp net0 || goto dhcpnet1
                echo Received DHCP answer on interface net0 && goto netboot
                
                :dhcpnet1
                isset ${net1/mac} && dhcp net1 || goto dhcperror
                echo Received DHCP answer on interface net1 && goto netboot
                
                :dhcperror
                prompt --key s --timeout 10000 DHCP Failed, hit 's' for the iPXE shell; reboot in 10 seconds && shell || reboot
                
                :netboot
                cpuid --ext 29 && set arch x86_64 || set arch i386
                params
                param mac0 ${net0/mac}
                param arch ${arch}
                param platform ${platform}
                param product ${product}
                param ipxever ${version}
                isset ${net1/mac} && param mac1 ${net1/mac} || goto bootme
                
                :bootme
                chain http://fogserverip/fog/service/ipxe/boot.php##params
                

                Then again, i may be grossly misunderstanding the purpose of all of this.

                Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                george1421G 1 Reply Last reply Reply Quote 0
                • PsycholiquidP
                  Psycholiquid Testers
                  last edited by Psycholiquid

                  @Tom Elliott Let me give that a try. I tried just loading the ipxe.efi directly form the server I get the same result. I hate these Dell XPS 12s

                  Tom ElliottT 1 Reply Last reply Reply Quote 0
                  • Wayne WorkmanW
                    Wayne Workman @Psycholiquid
                    last edited by

                    @Psycholiquid Let us know about anything you needed to do differently.

                    Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
                    Daily Clean Installation Results:
                    https://fogtesting.fogproject.us/
                    FOG Reporting:
                    https://fog-external-reporting-results.fogproject.us/

                    1 Reply Last reply Reply Quote 0
                    • Tom ElliottT
                      Tom Elliott @Psycholiquid
                      last edited by

                      @Psycholiquid I believe the point of these usb files is for the cases where you do have problems. If you’re having problems with the files from PXE, booting “BACK” to them from the usb side would yield, I would imagine, the exact same results.

                      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                      Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                      Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                      1 Reply Last reply Reply Quote 1
                      • PsycholiquidP
                        Psycholiquid Testers
                        last edited by

                        What I am trying to do is boot from USB pxe because the laptop has no NIC or UEFI is not cooperating like it should.and Wireless wont boot from network. So basically trying to make a live USB drive so I can boot to FOG on machine where there is no nic or the docking station wont show up.

                        Wayne WorkmanW Tom ElliottT george1421G 3 Replies Last reply Reply Quote 0
                        • Wayne WorkmanW
                          Wayne Workman @Psycholiquid
                          last edited by Wayne Workman

                          @Psycholiquid said:

                          What I am trying to do is boot from USB pxe because the laptop has no NIC or UEFI is not cooperating like it should.and Wireless wont boot from network. So basically trying to make a live USB drive so I can boot to FOG on machine where there is no nic or the docking station wont show up.

                          This method requires a wired network connection still. Look into getting a USB to Ethernet adapter.

                          Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
                          Daily Clean Installation Results:
                          https://fogtesting.fogproject.us/
                          FOG Reporting:
                          https://fog-external-reporting-results.fogproject.us/

                          PsycholiquidP 1 Reply Last reply Reply Quote 0
                          • PsycholiquidP
                            Psycholiquid Testers @Wayne Workman
                            last edited by

                            @Wayne-Workman Right I have a USB network card that seems to be showing up when I boot to the ipxe.efi just trying to get into FOG now

                            Wayne WorkmanW 1 Reply Last reply Reply Quote 0
                            • Wayne WorkmanW
                              Wayne Workman @Psycholiquid
                              last edited by

                              @Psycholiquid What is it’s make and model ?

                              Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
                              Daily Clean Installation Results:
                              https://fogtesting.fogproject.us/
                              FOG Reporting:
                              https://fog-external-reporting-results.fogproject.us/

                              1 Reply Last reply Reply Quote 0
                              • Tom ElliottT
                                Tom Elliott @Psycholiquid
                                last edited by

                                @Psycholiquid You still need a network for fog to operate. I don’t include wireless drivers in the kernel, nor do I include the wireless utilities.

                                Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG! Get in contact with me (chat bubble in the top right corner) if you want to join in.

                                Web GUI issue? Please check apache error (debian/ubuntu: /var/log/apache2/error.log, centos/fedora/rhel: /var/log/httpd/error_log) and php-fpm log (/var/log/php*-fpm.log)

                                Please support FOG if you like it: https://wiki.fogproject.org/wiki/index.php/Support_FOG

                                PsycholiquidP 1 Reply Last reply Reply Quote 1
                                • PsycholiquidP
                                  Psycholiquid Testers @Tom Elliott
                                  last edited by

                                  @Tom-Elliott See below. LOL we are all over this today.

                                  1 Reply Last reply Reply Quote 0
                                  • PsycholiquidP
                                    Psycholiquid Testers
                                    last edited by

                                    From what I can tell I may have to do this same procedure for the MS Surfaces

                                    Haven’t really tried it yet but it is looking like another UEFI nightmare. I havent seen any of my Surfaces boot to network yet.

                                    Wayne WorkmanW 1 Reply Last reply Reply Quote 0
                                    • Wayne WorkmanW
                                      Wayne Workman @Psycholiquid
                                      last edited by

                                      @Psycholiquid What is the make and model of the USB adapter you’re using?

                                      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
                                      Daily Clean Installation Results:
                                      https://fogtesting.fogproject.us/
                                      FOG Reporting:
                                      https://fog-external-reporting-results.fogproject.us/

                                      PsycholiquidP 1 Reply Last reply Reply Quote 0
                                      • PsycholiquidP
                                        Psycholiquid Testers @Wayne Workman
                                        last edited by Psycholiquid

                                        @Wayne-Workman StarTech USB31000SPTB

                                        Wayne WorkmanW 1 Reply Last reply Reply Quote 1
                                        • Wayne WorkmanW
                                          Wayne Workman @Psycholiquid
                                          last edited by Wayne Workman

                                          @Psycholiquid Ok… I don’t think that these instructions by the OP are going to help in your situation. We need to get your USB to Ethernet adapter going the regular way. Can you please start a new thread for the issue and post a screen shot of what you’re seeing when you try to network boot?

                                          Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!
                                          Daily Clean Installation Results:
                                          https://fogtesting.fogproject.us/
                                          FOG Reporting:
                                          https://fog-external-reporting-results.fogproject.us/

                                          PsycholiquidP 1 Reply Last reply Reply Quote 0
                                          • PsycholiquidP
                                            Psycholiquid Testers @Wayne Workman
                                            last edited by

                                            @Wayne-Workman Will do

                                            1 Reply Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 1 / 2
                                            • First post
                                              Last post

                                            202

                                            Online

                                            12.0k

                                            Users

                                            17.3k

                                            Topics

                                            155.2k

                                            Posts
                                            Copyright © 2012-2024 FOG Project