Dear iPXE devs and friends, working in the FOGproject team we've had many people reporting an issue when trying to boot iPXE on Surface devices. The symptom is that it just hangs after having chainloaded a linux kernel and initrd. Probably a hang on the exit functions I suppose. The issue has been around for months but we didn't find the time to do more testing and therefore just kept commit 71560d that didn't have the issue. Bisecting we figured out that commit 757ab9 ([efi] Use a timer event to generate the currticks...) actually broke things on the Surface.
Doing some more tests we figured out that changes in the EFI timer code made it work in December 2016 but unfortunately it broke in January 2017 again. Please see the below list of tested commits. 757ab9 - Wed, 4 May 2016 - Hang c917687 - Mon, 20 Jun 2016 - Hang 694c18 - Mon, 20 Jun 2016 - Hang e09331a - Wed, 7 Dec 2016 - Hang 5cf5ffe - Wed, 7 Dec 2016 - No hang d37e025 - Wed, 25 Jan 2017 - No hang 302f1ee - Thu, 26 Jan 2017 - wont boot at all on the surface d46c53c - Wed, 13 Sep 2017 - Hang I've red through the commit messages and it sounds as if the EFI timer stuff really sucks. So I hope you don't mind me asking but would it be possible to make iPXE properly boot on surface devices again? Commit 5cf5ffe and probably through to d37e025 were fine. It is possible but I don't know if it would break things for other devices. Please let me know if you need more information or if we need to do more testing. Thanks in advance! Regards, Sebastian _______________________________________________ ipxe-devel mailing list ipxe-devel@lists.ipxe.org https://lists.ipxe.org/mailman/listinfo.cgi/ipxe-devel