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

    FOG BIOS And EFI Coexistence

    Scheduled Pinned Locked Moved
    General
    8
    51
    36.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.
    • N
      need2 Moderator
      last edited by

      This is a thread for documenting my travels in making a system that lets FOG boot both BIOS and EFI based computers. Input from others is welcomed.

      I am aware that if you have a Linux based DHCP there are other methods out there that make this more approachable, but the purpose of my work here will be for those who use a Windows DHCP or other DHCP that they cannot modify.

      Currently I am working on using DnsMasq to allow FOG to boot on the network without having to specify a boot file in the DHCP server. This would allow me (in theory) to eventually serve different boot files to different detected architectures. The problem with specifying a boot file in the DHCP is that the file would need to be compatible with all architectures you intend to support, and mixing EFI and BIOS support is (currently) impossible.

      I do have BIOS based devices able to talk to the FOG server which is running DnsMasq, without any network boot related settings specified in my Windows DHCP. The device then is handed off to FOG’s boot process, then boots however is relevant.

      EFI based devices are not receiving any network boot information at the moment. I have tried a few different devices, so I know it is not just one’s issue. I am continuing to work on this.

      Current /etc/dnsmasq.d/ltsp.conf is as follows, mostly taken from the FOG wiki:
      [CODE]port=0

      log-dhcp

      tftp-root=/tftpboot

      dhcp-boot=undionly.kpxe,<FOG-IP>,<FOG-IP>

      dhcp-option=17,/images

      dhcp-option=vendor:PXEClient,6,2b

      dhcp-no-override

      pxe-prompt=“Press F8 for boot menu”, 3

      pxe-service=X86PC, “Boot BIOS”, undionly.kpxe, <FOG-IP>
      pxe-service=IA64_EFI, “Boot IA64”, snponly.efi, <FOG-IP>
      pxe-service=IA32_EFI, “Boot IA32”, i386-efi/snponly.efi, <FOG-IP>
      pxe-service=X86-64_EFI, “Boot x8664EFI”, snponly.efi, <FOG-IP>

      dhcp-range=<FOG-IP>,proxy[/CODE]

      Notes:
      [LIST]
      []Replace <FOG-IP> with the FOG server’s IP address in the form of x.x.x.x
      [
      ]I may have more architectures specified than needed, and the delay in boot and quoted messages are just for my debugging. Once in deployment the delay is probably fine as 1 or 0, and no messages should be needed.
      [*]Whatever files you specify to boot with the pxe-service parameter, you will need to make a copy of that ends in ‘.0’ . Don’t ask me why DnsMasq requires this.
      [/LIST]

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

        [code]port=0
        log-dhcp
        tftp-root=/tftpboot
        dhcp-match=set:efi-64,option:client-arch,7
        dhcp-match=set:efi-64,option:client-arch,8
        dhcp-match=set:efi-64,option:client-arch,9
        dhcp-match=set:efi-32,option:client-arch,2
        dhcp-match=set:efi-32,option:client-arch,6
        dhcp-boot=undionly.kpxe,<fog-ip>,<fog-ip>
        dhcp-boot=tag:efi-64,snponly.efi,<fog-ip>,<fog-ip>
        dhcp-boot=tag:efi-32,i386-efi/snponly.efi,<fog-ip>,<fog-ip>
        dhcp-option=17,/images
        dhcp-option=vendor:PXEClient,6,2b
        dhcp-no-override
        pxe-prompt=“Press F8 for boot menu”, 3
        pxe-service=X86PC, “Boot BIOS”, undionly.kpxe, <FOG-IP>
        pxe-service=tag:efi-64,“Boot 64 EFI”, snponly.efi, <FOG-IP>
        pxe-service=tag:efi-32,“Boot 32 EFI”, i386-efi/snponly.efi, <FOG-IP>
        dhcp-range=<FOG-IP>,proxy[/code]

        Maybe this will work?

        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 0
        • Wayne WorkmanW
          Wayne Workman
          last edited by

          Actually, with DHCP classes / policies, you can have windows DHCP server what file you like… I’ve got a thread on it… Just haven’t been able to actually boot an EFI device at all… that’s what’s holding me back from trying it.

          However, a dnsmasq solution will be very needed soon. Good work.

          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
          • JunkhackerJ
            Junkhacker Developer
            last edited by

            [quote=“Wayne Workman, post: 46747, member: 28155”]Actually, with DHCP classes / policies, you can have windows DHCP server what file you like… I’ve got a thread on it… Just haven’t been able to actually boot an EFI device at all… that’s what’s holding me back from trying it.

            However, a dnsmasq solution will be very needed soon. Good work.[/quote]

            i spotted your thread earlier, used it and i’ve been working with a Surface Pro 3 network booting all day. network boot works fine.

            signature:
            Junkhacker
            We are here to help you. If you are unresponsive to our questions, don't expect us to be responsive to yours.

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

              [quote=“Junkhacker, post: 46750, member: 21583”]i spotted your thread earlier, used it and i’ve been working with a Surface Pro 3 network booting all day. network boot works fine.[/quote]

              Are you using a dongle to Ethernet adapter, or WiFi ?

              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
              • N
                need2 Moderator
                last edited by

                [quote=“Junkhacker, post: 46750, member: 21583”]i spotted your thread earlier, used it and i’ve been working with a Surface Pro 3 network booting all day. network boot works fine.[/quote]

                [quote=“Wayne Workman, post: 46747, member: 28155”]Actually, with DHCP classes / policies, you can have windows DHCP server what file you like… I’ve got a thread on it… Just haven’t been able to actually boot an EFI device at all… that’s what’s holding me back from trying it.

                However, a dnsmasq solution will be very needed soon. Good work.[/quote]

                Are you coexisting BIOS PXE and UEFI PXE?

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

                  [quote=“need2, post: 46756, member: 21891”]Are you coexisting BIOS PXE and UEFI PXE?[/quote]

                  Not yet… I’ve just been researching it, but that’s the idea yeah. Sounds like Junkhacker already got it going.

                  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
                  • N
                    need2 Moderator
                    last edited by

                    I appear to be running into a PortFast issue. It will take me a bit to take control of the switches to blame. Those who can test this, please install dnsmasq, then use the attached file (saving it as /etc/dnsmasq.d/ltsp.conf), replacing <FOG-IP> with your FOG server’s IP. Then, make a copy of undionly.kpxe and snponly.efi, calling the copies undionly.kpxe.0 and snponly.efi.0 respectively.

                    [url=“/_imported_xf_attachments/1/1962_ltsp.txt?:”]ltsp.txt[/url]

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

                      I can jump on this one…

                      I’ll backup my current config and try this… give me 30 minutes…

                      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
                        last edited by

                        That’d be a negative… for both BIOS and UEFI… used two different machines to test.

                        I’ve attached my WORKING ltsp.conf file, and the one I got from here (which I ripped the comments out of, and changed IP, and repaced .kpxe and .efi with .0)

                        I also ensured I had the .0 files, too.

                        [url=“/_imported_xf_attachments/1/1963_ltsp new.txt?:”]ltsp new.txt[/url][url=“/_imported_xf_attachments/1/1964_ltsp working.txt?:”]ltsp working.txt[/url]

                        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
                        • d4rk3D
                          d4rk3
                          last edited by

                          I use my router’s dnsmasq now, but this is my old working FOG dhcpd.conf that should do the trick.

                          Change the IP’s/bootfiles to suite your needs.

                          [CODE]# DHCP Server Configuration file.

                          see /usr/share/doc/dhcp*/dhcpd.conf.sample

                          This file was created by FOG

                          use-host-decl-names on;
                          ddns-update-style interim;
                          ignore client-updates;
                          next-server 10.0.0.5;
                          option arch code 93 = unsigned integer 16;

                          if option arch = 00:07 {
                          filename “snp.efi”;
                          }else if option arch = 00:06 {
                          filename “ipxe.efi”;
                          }else {
                          filename “undionly.kpxe”;
                          }

                          subnet 10.0.0.0 netmask 255.255.255.0 {
                          option subnet-mask 255.255.255.0;
                          range dynamic-bootp 10.0.0.200 10.0.0.254;
                          default-lease-time 21600;
                          max-lease-time 43200;
                          option domain-name-servers 10.0.0.1;
                          option routers 10.0.0.1;
                          }
                          [/CODE]

                          1 Reply Last reply Reply Quote 0
                          • d4rk3D
                            d4rk3
                            last edited by

                            [quote=“Wayne Workman, post: 46763, member: 28155”]That’d be a negative… for both BIOS and UEFI… used two different machines to test.

                            I’ve attached my WORKING ltsp.conf file, and the one I got from here (which I ripped the comments out of, and changed IP, and repaced .kpxe and .efi with .0)

                            I also ensured I had the .0 files, too.[/quote]

                            Give this a try under [B]tftp-root=/tftpboot[/B] (replace FOG with your FOG server’s hostname):

                            [CODE]dhcp-boot=undionly.kpxe,FOG,10.0.0.3
                            dhcp-match=set:efi-ia32,option:client-arch,6
                            dhcp-boot=tag:efi-ia32,ipxe.efi,FOG,10.0.0.3
                            dhcp-match=set:efi-x86_64,option:client-arch,7
                            dhcp-boot=tag:efi-x86_64,snp.efi,FOG,10.0.0.3
                            dhcp-range=10.0.0.3,proxy,255.255.255.0
                            [/CODE]

                            1 Reply Last reply Reply Quote 0
                            • JunkhackerJ
                              Junkhacker Developer
                              last edited by

                              [quote=“Wayne Workman, post: 46755, member: 28155”]Are you using a dongle to Ethernet adapter, or WiFi ?[/quote]

                              using the microsoft USB dongle. my legacy machines are working like they always have, uefi machines are loading ipxe.efi

                              signature:
                              Junkhacker
                              We are here to help you. If you are unresponsive to our questions, don't expect us to be responsive to yours.

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

                                [quote=“Junkhacker, post: 46782, member: 21583”]using the microsoft USB dongle. my legacy machines are working like they always have, uefi machines are loading ipxe.efi[/quote]

                                Do share how you did 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!
                                Daily Clean Installation Results:
                                https://fogtesting.fogproject.us/
                                FOG Reporting:
                                https://fog-external-reporting-results.fogproject.us/

                                1 Reply Last reply Reply Quote 0
                                • N
                                  need2 Moderator
                                  last edited by

                                  [quote=“Junkhacker, post: 46782, member: 21583”]using the microsoft USB dongle. my legacy machines are working like they always have, uefi machines are loading ipxe.efi[/quote]

                                  Do I need to bribe you?

                                  1 Reply Last reply Reply Quote 0
                                  • JunkhackerJ
                                    Junkhacker Developer
                                    last edited by

                                    for windows server 2012 DHCP, it was as simple as the link Wayne Workman posted.
                                    [url]http://www.syslinux.org/archives/2014-January/021404.html[/url] create vendor class that matches uefi systems ([I][COLOR=#000000]PXEClient:Arch:00007[/COLOR][/I]) and give those that match a different bootfile (in my case, ipxe.efi)

                                    signature:
                                    Junkhacker
                                    We are here to help you. If you are unresponsive to our questions, don't expect us to be responsive to yours.

                                    1 Reply Last reply Reply Quote 0
                                    • N
                                      need2 Moderator
                                      last edited by

                                      I see… interesting. This may be the direction that things have to go. DnsMasq seems in sufficient for EFI PXE and some older PXE clients. I’m still going to try a few things with it, but otherwise we might just have to make good documentation on the changes to make to a Windows 2012+ DHCP and a Linux DHCP to achieve coexistence. I will work on the Windows 2012 DHCP configs eventually (assuming DnsMasq fails me), but I will need to spin up a new 2012 server and integrate it to our domain first.

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

                                        This is the thread:

                                        [url]http://fogproject.org/forum/threads/undionly-kpxe-and-ipxe-efi.12607/[/url]

                                        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
                                        • d4rk3D
                                          d4rk3
                                          last edited by

                                          Has anyone tried either of my configs I posted? Both of them properly serve legacy/efi bootfiles.

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

                                            I will tonight. I had other things going on last night when you posted those.

                                            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
                                            • 1
                                            • 2
                                            • 3
                                            • 1 / 3
                                            • First post
                                              Last post

                                            185

                                            Online

                                            12.0k

                                            Users

                                            17.3k

                                            Topics

                                            155.2k

                                            Posts
                                            Copyright © 2012-2024 FOG Project