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

    IPXE boot missing NEXT-SERVER

    Scheduled Pinned Locked Moved Solved
    FOG Problems
    3
    14
    3.4k
    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.
    • J
      JCDinPGH
      last edited by george1421

      I have FOG setup and working but since I am using it in my home network, I prefer to keep the DHCP functionality of my FIOS router. Since I don’t want to use the DHCP functionality of the FOG server, I setup DNSMASQ so that it intercepts TFTP and points it to my FOG server. That is all working, and IPXE is successfully taking over and booting. The problem I’m running into is that IPXE is still prompting for the TFTP ip address. I know this normally happens when there is more than one DHCP server in the network, but I verified that the only DHCP server is the FIOS router. After disabling the FIOS DHCP, netbooting never gets past asking for an ip address.
      I also created a FOG boot entry that executes CONFIG and it does show that the NEXT-SERVER setting is correctly setup. I can’t figure out why it still prompts on every boot. Any ideas? Below are the contents of my /etc/dnsmasq.d/ltsp.conf
      although I’m not it is relevant since it is correctly handing over the boot to IPXE.

      port=0
      
      log-dhcp
      
      tftp-root=/tftpboot
      
      dhcp-boot=undionly.kpxe,192.168.1.5
      dhcp-boot=default.ipxe,192.168.1.5
      
      dhcp-option=17,/var/www/html
      # dhcp-option=pxe,66,192.168.1.5
      # dhcp-option=66,192.168.1.5
      
      dhcp-option=vendor:PXEClient,6,2b
      
      dhcp-no-override
      
      pxe-prompt=.Press F8 for boot menu., 3
      
      pxe-service=X86PC, .Boot from network., undionly.kpxe
      
      # pxe-service=X86PC, .Boot from local hard disk., 0
      
      dhcp-range=192.168.1.5,proxy,255.255.255.0
      

      [Mod note] I fixed the post by including the config file in a code block

      1 Reply Last reply Reply Quote 0
      • george1421G
        george1421 Moderator
        last edited by george1421

        First lets confirm what version of dnsmasq you have installed. Open a command prompt and key in
        sudo dnsmasq -v

        Please use my ltsp.conf file here (exactly) if you have version 2.76 or newer:

        # Don't function as a DNS server:
        port=0
        
        # Log lots of extra information about DHCP transactions.
        log-dhcp
        
        # Set the root directory for files available via FTP.
        tftp-root=/tftpboot
        
        # The boot filename, Server name, Server Ip Address
        dhcp-boot=undionly.kpxe,,<fog_server_IP>
        
        # 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.
        dhcp-no-override
        
        # inspect the vendor class string and match the text to set the tag
        dhcp-vendorclass=BIOS,PXEClient:Arch:00000
        dhcp-vendorclass=UEFI32,PXEClient:Arch:00006
        dhcp-vendorclass=UEFI,PXEClient:Arch:00007
        dhcp-vendorclass=UEFI64,PXEClient:Arch:00009
        
        # Set the boot file name based on the matching tag from the vendor class (above)
        dhcp-boot=net:UEFI32,i386-efi/ipxe.efi,,<fog_server_IP>
        dhcp-boot=net:UEFI,ipxe.efi,,<fog_server_IP>
        dhcp-boot=net:UEFI64,ipxe.efi,,<fog_server_IP>
        
        # 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
        
        dhcp-range=<fog_server_ip>,proxy
        

        Don’t forget to replace <fog_server_ip> in the above text with the IP address of your fog server. The tag appears many times.

        Then restart your dnsmasq service. Also confirm that you only have the config file I provide above in the /etc/dnsmasq.d directory.

        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!

        1 Reply Last reply Reply Quote 0
        • J
          JCDinPGH
          last edited by george1421

          @george1421 said in IPXE boot missing NEXT-SERVER:

           # Don't function as a DNS server:
           port=0
           
           # Log lots of extra information about DHCP transactions.
           log-dhcp
           
           # Set the root directory for files available via FTP.
           tftp-root=/tftpboot
           
           # The boot filename, Server name, Server Ip Address
           dhcp-boot=undionly.kpxe,,<fog_server_IP>
           
           # 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.
           dhcp-no-override
           
           # inspect the vendor class string and match the text to set the tag
           dhcp-vendorclass=BIOS,PXEClient:Arch:00000
           dhcp-vendorclass=UEFI32,PXEClient:Arch:00006
           dhcp-vendorclass=UEFI,PXEClient:Arch:00007
           dhcp-vendorclass=UEFI64,PXEClient:Arch:00009
           
           # Set the boot file name based on the matching tag from the vendor class (above)
           dhcp-boot=net:UEFI32,i386-efi/ipxe.efi,,<fog_server_IP>
           dhcp-boot=net:UEFI,ipxe.efi,,<fog_server_IP>
           dhcp-boot=net:UEFI64,ipxe.efi,,<fog_server_IP>
           
           # 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
           
           dhcp-range=<fog_server_ip>,proxy
          

          My DNSMASQ is v2.76. Replacing with your ltsp.conf seems to have solved it. Thanks so much!

          [Mod note] I included the text in a code block for the OP - Geo

          1 Reply Last reply Reply Quote 0
          • J
            JCDinPGH
            last edited by

            I spoke too soon. Now when I netboot, the FOG menu comes up and I can choose an option, but the one I have been working on for quite awhile (booting WINPE 7) now says “no space left on device”. This doesn’t happen when netbooting while the DHCPD service is up an running. Nothing in FOG was changed at all so I am not sure what is causing this and why it works with DHCPD but not DNSMASQ. Any ideas?

            1 Reply Last reply Reply Quote 0
            • J
              JCDinPGH
              last edited by

              Sorry. I was wrong. I am getting the “No space left on device” error even when using DHCPD. What’s odd is I know I didn’t change any other settings. I was very careful not to. I did look through lots of the options and config in the GUI but I was very careful to not change anything. I might just rebuild my FOG server from scratch since I have been working on this for so long.

              Wayne WorkmanW george1421G 2 Replies Last reply Reply Quote 0
              • Wayne WorkmanW
                Wayne Workman @JCDinPGH
                last edited by

                @jcdinpgh Please use the code-block tool in the text editor when posting code snippets. The tool button looks like 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!
                Daily Clean Installation Results:
                https://fogtesting.fogproject.us/
                FOG Reporting:
                https://fog-external-reporting-results.fogproject.us/

                1 Reply Last reply Reply Quote 0
                • george1421G
                  george1421 Moderator @JCDinPGH
                  last edited by george1421

                  @jcdinpgh Can you get us a clear screen shot of the error you see. The context of the error is almost as important as the error itself.

                  Also just to be sure this message is coming from iPXE or is it from something you are trying to launch from the iPXE menu?

                  In regards to the error message it almost sounds like you are passing a uefi kernel to a bios mode computer, but the error snapshot will tell us a bit more of the context.

                  As for my ltsp.conf that will dynamically switch between uefi and bios kernels based on the pxe booting target computer. That is a solid config if you need one.

                  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!

                  1 Reply Last reply Reply Quote 1
                  • J
                    JCDinPGH
                    last edited by JCDinPGH

                    @george1421
                    Getting a screen shot might be hard but I will try to describe what is happening.
                    My laptop has two options for PXE booting. One is “legacy” and one is something else that I am not sure I would call UEFI since my laptop has both BIOS and UEFI modes but is currently set to BIOS mode. FWIW, this is an Alienware laptop. Legacy is failing once IPXE loads and I choose the WIN PE option. The other unlabeled mode network boot option works correctly. The FOG menu entry for WIN PE 7 is what is failing and only when it gets to the boot.wim when the error says “no space left on device”. http://ipxe.org/34182006
                    I hit “S” and then config and according to the IPXE config, the file it is loading is “undionly.kpxe”.
                    The menu entry for FOG looks like this:

                    kernel http://${fog-ip}/iso/winpe/wimboot
                    # next two lines are from the AIK
                    initrd http://${fog-ip}/iso/winpe/amd64/boot/bcd BCD
                    initrd http://${fog-ip}/iso/winpe/amd64/boot/boot.sdi boot.sdi
                    # this is the boot.wim built by Winbuilder (theoven.org)
                    initrd http://${fog-ip}/iso/winpe/boot.wim boot.wim
                    # bootmgr.exe comes from the Windows 7 source CD by mounting sources\boot.wim via DISM /Mount-Wim /WimFile:sources\boot.wim /Index:1 /MountDir:e:\mount
                    # and copying bootmgr.exe from e:\mount\Windows\Boot\PXE
                    initrd http://${fog-ip}/iso/winpe/bootmgr.exe bootmgr.exe
                    # imgstat
                    # prompt
                    boot
                    
                    george1421G 2 Replies Last reply Reply Quote 0
                    • george1421G
                      george1421 Moderator @JCDinPGH
                      last edited by

                      @jcdinpgh how large is boot.wim ?

                      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!

                      1 Reply Last reply Reply Quote 0
                      • george1421G
                        george1421 Moderator @JCDinPGH
                        last edited by george1421

                        @jcdinpgh Your setup here is very similar to a tutorial I created in 2015
                        ref: https://forums.fogproject.org/topic/6284/booting-mdt-2013-litetouch-with-fog/5

                        But since then changes in fog has made hosting files under http sometimes problematic because of the http redirection. If you can get uefi to boot then bios should work too.

                        Also you might want to drop transferring bootmgr.exe since it should be inside your boot.wim file. Wimboot should extract it and launch it.

                        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!

                        J 1 Reply Last reply Reply Quote 1
                        • J
                          JCDinPGH @george1421
                          last edited by

                          @george1421
                          I am using a WIN 7 PE built using WINBUILDER from www.theoven.org. Unfortunately there is no bootmgr.exe in BCD which is why I had to supply it. There isn’t a bootmgr.exe which I know is odd but it has something to do with how WINBUILDER builds the whole system.
                          The boot.wim is very large (977450336 bytes) when compared to a regular WIN 7 PE system because WINBUILDER allows incorporating a large number of utilities and drivers into the build. Think of it as a portable “fixit” system with antivirus and system image utilities all built in.
                          What is odd is that the UEFI boot option, which correctly loads IPXE, works just fine.
                          The “legacy” boot option which also correctly loads IPXE, gets the “no space left on device” error.
                          I’m ok with using the UEFI option, at least on my primary laptop. I haven’t tested some of my other workstations, but I do know they do not have a UEFI bios so I would be surprised if they will work.

                          george1421G 1 Reply Last reply Reply Quote 0
                          • george1421G
                            george1421 Moderator @JCDinPGH
                            last edited by

                            @jcdinpgh Yes that is a pretty fat boot.wim file. I have seen a similar message when someone tries to use memdisk and load an entire iso image into memory. I don’t know what the limit is on vhd memory for iPXE but it appears you have crossed it. You really can’t compare bios and ipxe modes because they are not equivalent structures.

                            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!

                            george1421G 1 Reply Last reply Reply Quote 0
                            • george1421G
                              george1421 Moderator @george1421
                              last edited by

                              @george1421 Just quickly using some google-fu I see the practicle limit for both the kernel and initrd to be in th 1-2GB range. For ipxe in bios mode the upload files seems to be limited to a 32 bit address space (i.e. 4GB). At least half is used for iPXE internal PCI pointers. This space must have enough space for the kernels and and any files you might upload. IF the files are compressed there may need to be double the space to uncompress the files while retain the original files in memory.

                              For uefi, it uses 64 bit kernel so this memory limit is much larger.

                              In practical use, I’ve personally pxe booted WinPE environments with up to a 525MB “boot.wim” file without issue.

                              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!

                              J 1 Reply Last reply Reply Quote 0
                              • J
                                JCDinPGH @george1421
                                last edited by JCDinPGH

                                @george1421
                                What’s odd is that it doesn’t work in legacy mode on my laptop but does work in whatever the other mode is. I wouldn’t call it UEFI mode because the laptop has both UEFI and BIOS modes and is permanently set in BIOS mode. It is indeed UEFI mode. The other odd thing about all of this, is that it works in both UEFI and BIOS modes when booting as a virtual machine in ESXi 6.5 which is where I have been doing most of my testing since it is much easier than rebooting my laptop over and over. I am going to continue to play around with it. I can always fall back to booting any systems that fail PXE booting by booting from the GRUB4DOS USB harddrive and/or flash drive which accomplishes the same thing. I was just trying to avoid having to have the USB drive available at all times. Plus since I have ethernet throughout the entire house, it was a fun project to work on.

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

                                192

                                Online

                                12.0k

                                Users

                                17.3k

                                Topics

                                155.2k

                                Posts
                                Copyright © 2012-2024 FOG Project