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

    Hyper-V 2016 Gen2 VM (UEFI) fails to complete network boot

    Scheduled Pinned Locked Moved Solved
    Bug Reports
    5
    27
    11.5k
    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.
    • sudburrS
      sudburr
      last edited by sudburr

      Server
      • FOG Version: 1.4.0
      • OS: CentOS 7.3.1611
      Client
      • Service Version: n/a
      • OS: n/a
      Description

      I am unable to complete a network boot of a Hyper-V 2016 Generation 2 (UEFI) virtual machine. I have duplicated the problem with separate Hyper-V 2016 hosts and VMs.

      I have tried kernels
      4.11.0
      4.10.10
      4.10.9
      4.10.1
      4.9.11
      4.9.4
      4.9.1

      The text of what happens.

      PXE Network Boot using IPv4 ( ESC to cancel )
      Performing DHCP Negotiation...
       Station IP address is 10.12.40.120
       Server IP address is 10.12.40.14
       NBP filename is ipxe.efi
       NBP filesize is 994048 Bytes
       Downloading NBP file...
       Successfully downloaded NBP file.
      iPXE initialising devices...ok
      
      iPXE 1.0.0+ (a19ac) -- Open Source Network Boot Firmware -- http://ipxe.org
      Features: DNS FTP HTTP HTTPS ISCSI NFS TFTP SRP VLAN AoE EFI Menu
      

      … then it immediately restarts the VM to begin again at:

      PXE Network Boot using IPv4 ( ESC to cancel )
      

      UEFI booting is working on physical, while LEGACY booting continues to work on everything.

      VM UEFI booting was working on May 5th with 1.4.0-RC4.

      Secondarily, while updating the kernels I generate the following errors in /var/log/httpd/error_log:

      PHP Warning:  ftp_mkdir(): Create directory operation failed. in /var/www/html/fog/lib/fog/fogftp.class.php on line 492, referer: http://devfog/fog/management/index.php?node=about&sub=kernel&file=aHR0cHM6Ly9mb2dwcm9qZWN0Lm9yZy9rZXJuZWxzL0tlcm5lbC5Ub21FbGxpb3R0LjQuMTEuMC42NA==&arch=64
      PHP Warning:  ftp_rename(): RNFR command failed. in /var/www/html/fog/lib/fog/fogftp.class.php on line 769, referer: http://devfog/fog/management/index.php?node=about&sub=kernel&file=aHR0cHM6Ly9mb2dwcm9qZWN0Lm9yZy9rZXJuZWxzL0tlcm5lbC5Ub21FbGxpb3R0LjQuMTEuMC42NA==&arch=64
      PHP Warning:  ftp_mkdir(): Create directory operation failed. in /var/www/html/fog/lib/fog/fogftp.class.php on line 492, referer: http://devfog/fog/management/index.php?node=about&sub=kernel&file=aHR0cHM6Ly9mb2dwcm9qZWN0Lm9yZy9rZXJuZWxzL0tlcm5lbC5Ub21FbGxpb3R0LjQuMTEuMC4zMg==&arch=32
      PHP Warning:  ftp_rename(): RNFR command failed. in /var/www/html/fog/lib/fog/fogftp.class.php on line 769, referer: http://devfog/fog/management/index.php?node=about&sub=kernel&file=aHR0cHM6Ly9mb2dwcm9qZWN0Lm9yZy9rZXJuZWxzL0tlcm5lbC5Ub21FbGxpb3R0LjQuMTEuMC4zMg==&arch=32
      

      [ Standing in between extinction in the cold and explosive radiating growth ]

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

        This isn’t something FOG can do (the UEFI booting in Hyper V) unfortunately, so I don’t know how I can help fix it.

        The “warnings” aren’t problems, persay. Either the /var/www/fog/service/ipxe folder does not have the permissions set appropriately (can happen from time to time) or it’s attempting to do the actions that it cannot perform. (mkdir would fail if the directory already exists, rename would fail if the file doesn’t already exist during backup).

        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
        • Tom ElliottT
          Tom Elliott
          last edited by

          For what it’s worth, this is a known issue (supposedly) with Gen 2 Hyper-V.

          https://community.spiceworks.com/topic/1957582-pxe-problem-hyper-v-2016-with-gen2-vm-uefi-boot

          Latest post is from today even.

          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
          • george1421G
            george1421 Moderator @Tom Elliott
            last edited by george1421

            @Tom-Elliott Its possible to skip pxe booting all together by booting FOS directly (akin to usb booting fos, but this is only speculation since “I don’t do” hyper-v virtualization). This “should” bypass the faulty “firmware” in the hyper-v client.

            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
            • sudburrS
              sudburr
              last edited by sudburr

              This was working fine as late as May 5th with 1.4.0-RC4.

              It is UEFI booting, downloading the NBP but the process is failing/restarting after the initialization of the second part at:

              iPXE 1.0.0+ (a19ac) -- Open Source Network Boot Firmware -- http://ipxe.org
              Features: DNS FTP HTTP HTTPS ISCSI NFS TFTP SRP VLAN AoE EFI Menu
              

              This was working fine as late as May 5th with 1.4.0-RC4.

              [ Standing in between extinction in the cold and explosive radiating growth ]

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

                @sudburr Still not a bug FOG can fix.

                If you can get the version of iPXE at which it worked, we could file a bug report to try to help figure out where it broke from then to now.

                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
                • Tom ElliottT
                  Tom Elliott
                  last edited by

                  @sudburr said in Hyper-V 2016 Gen2 VM (UEFI) fails to complete network boot:

                  The version is the stuff in the parenthesis: iPXE 1.0.0+ (a19ac)

                  The shot you provided the version is a19ac

                  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
                  • george1421G
                    george1421 Moderator @Tom Elliott
                    last edited by

                    @Tom-Elliott What about using the magic ipxe7156.efi kernel that works for the surface pros? Wasn’t that one frozen in time?

                    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!

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

                      @george1421 It is indeed. But i doubt it will work. There was some effort in current ipxe to work with hyper-v I thought though.

                      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
                      • sudburrS
                        sudburr
                        last edited by

                        Where can I find a repository of the ipxe.efi that have been used in FOG?

                        [ Standing in between extinction in the cold and explosive radiating growth ]

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

                          @sudburr What do you mean?

                          I build at seemingly random intervals. So if you know RC-4 of 1.4.0 was the last known good, just install RC-4 from git:

                          git checkout tags/1.4.0-RC-4
                          cd bin
                          ./installfog.sh -y
                          

                          Figure out what version is in the string after confirming it works.

                          Then re-install the dev-branch (or whatever version you’re installing) with:

                          git checkout dev-branch
                          git pull
                          cd bin
                          ./installfog.sh -y
                          

                          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
                          • sudburrS
                            sudburr
                            last edited by sudburr

                            That’ll do the job. I was hoping there would be a way to just download only the ipxe.efi files without the need to re-install the entire beasty. I’m sure there’s a way, but I don’t use GIT professionally.

                            RC-4 with fd6d1 works
                            RC-5 with 84d4 works
                            RC-6 to RC-9.2 with 2d79 works
                            … and there we go, the problem starts with RC-9.3 and ipxe.efi 17887 .

                            [ Standing in between extinction in the cold and explosive radiating growth ]

                            1 Reply Last reply Reply Quote 0
                            • sudburrS
                              sudburr
                              last edited by

                              Dropping ipxe.efi 2d79 onto a 1.4.0 install works happily.

                              [ Standing in between extinction in the cold and explosive radiating growth ]

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

                                @sudburr I’ve found what I think is the problem. Not sure why this would be a problem but i need confirmation so I can give the background to report a proper bug report.

                                I’ve built a set of ipxe binaries that I hope will work. Please try:

                                git fetch --all
                                git checkout hyperv-ipxetest1
                                git pull
                                cd bin
                                ./installfog.sh -y
                                

                                Does this work? Essentially it’s the most current pull with the minor reversion from:
                                https://github.com/ipxe/ipxe/commit/a0f6e75532c68f49b3e1c73ca88151d9663f5269

                                All it does is revert this as I’m fairly sure the message is not the part breaking it:

                                -		return -EBUSY;
                                

                                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
                                • Tom ElliottT
                                  Tom Elliott
                                  last edited by Tom Elliott

                                  Of note: this shows all the changes. Notice the three elements dealing with hyper v?

                                  I haven’t tried the second in the change set, as I’m really hoping not to have to mess with it. This, anyway, is not a means to say I believe it is or isn’t the problem, but just trying to figure out more specifically where the error is. In particular:

                                  @mcb30	mcb30	[hyperv] Do not fail if guest OS ID MSR is already set  …			a0f6e75
                                  @mcb30	mcb30	[hyperv] Remove redundant return status code from mapping functions  …			276d618
                                  @mcb30	mcb30	[hyperv] Cope with Windows Server 2016 enlightenments  …			b91cc98
                                  

                                  These above items appear to be the only things related to hyper v.

                                  I’m thinking the problem occurs, mainly, from the first 2 issues. I’m almost certain it’s got to be 276d618 as the call in a0f6e75 appears to be looking for an int to test against. If the ints are removed, would it still fail in the same fashion? (I don’t really know, just going on what I’m seeing).

                                  https://github.com/ipxe/ipxe/compare/2d79b20...master

                                  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
                                  • Tom ElliottT
                                    Tom Elliott
                                    last edited by

                                    So take 2, I’ve applied what I “suspect” is the problem. Apparently there were other changes and the notable portion was how it’s handling the vmprob_bus call. This caused a problem when I originally posted (I wasn’t noticing the error messages sorry.)

                                    In the past, vmbus_probe only called hv_unmap_synic ( hv ) if the check failed.
                                    If the hv_map_hypercall or hv_map_synic failed it would call hv_unmap_hypercall ( hv ) and hv_free_message ( hv ) (respectively).

                                    In the new code, if err_vmbus_probe fails it calls all three. The reason for the change, as I can gather it, is the hv_map_hypercall and hv_map_synic never returned a failed message, while the vmbus_probe would potentially fail.

                                    My changes are just to comment the hv_unmap_hypercall and hv_free_message as they wouldn’t have been called in the past. These are still a guess.

                                    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
                                    • S
                                      Sebastian Roth Moderator
                                      last edited by

                                      @Tom-Elliott Yes, from quickly looking over the code changes I would guess that b91cc98 is probably the main cause. It seems like a bit change. Let’s see if you get a positive test from @sudburr…

                                      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
                                      • sudburrS
                                        sudburr
                                        last edited by sudburr

                                        Strangely:

                                        git checkout hyperv-ipxetest1
                                        error: Your local changes to the following files would be overwritten by checkout:
                                                packages/tftp/ipxe.efi
                                        Please, commit your changes or stash them before you can switch branches.
                                        Aborting
                                        

                                        So I ran:

                                        git checkout -- .
                                        

                                        Which returned nothing but then I:

                                        git checkout hyperv-ipxetest1
                                        Branch hyperv-ipxetest1 set up to track remote branch hyperv-ipxetest1 from origin.
                                        Switched to a new branch 'hyperv-ipxetest1'
                                        

                                        and

                                        git pull
                                        Already up-to-date.
                                        

                                        So I proceeded with installation and it reported:

                                        Version: 9220986 Installer/Updater
                                        

                                        iPXE.efi is now 356f … and it fails into a restart loop the same way.

                                        [ Standing in between extinction in the cold and explosive radiating growth ]

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

                                          @sudburr Mind retrying installer? I’m installing before the “big” change occurred.

                                          Also, to fix the issue you saw with the original checkout, please try:

                                          git reset --hard
                                          git checkout hyperv-ipxetest1
                                          git pull
                                          

                                          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
                                          • sudburrS
                                            sudburr
                                            last edited by

                                            ipxe.efi 276d6 also fails the same way.

                                            [ Standing in between extinction in the cold and explosive radiating growth ]

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

                                            225

                                            Online

                                            12.0k

                                            Users

                                            17.3k

                                            Topics

                                            155.2k

                                            Posts
                                            Copyright © 2012-2024 FOG Project