[ipxe-devel] Problem chaining from ipxe to freebsd efi loader

Raphael G raphael.glon at corp.ovh.com
Wed Dec 7 14:37:33 UTC 2016


By bisecting we've isolated the commit where the issue was introduced: 
commit
757ab983811ac8d3f65efb65b8309738bd33bea3
This makes sense, as it concerns timers on efi binaries

Regards


root at buildipxe:~/ipxe# git bisect good
757ab983811ac8d3f65efb65b8309738bd33bea3 is the first bad commit
commit 757ab983811ac8d3f65efb65b8309738bd33bea3
Author: Michael Brown <mcb30 at ipxe.org>
Date:   Wed May 4 13:04:33 2016 +0100

     [efi] Use a timer event to generate the currticks() timer

     We currently use the EFI_CPU_ARCH_PROTOCOL's GetTimerValue() method to
     generate the currticks() timer, calibrated against a 1ms delay from
     the boot services Stall() method.

     This does not work on ARM platforms, where GetTimerValue() is an empty
     stub which just returns EFI_UNSUPPORTED.

     Fix by instead creating a periodic timer event, and using this event
     to increment a current tick counter.

     Signed-off-by: Michael Brown <mcb30 at ipxe.org>

:040000 040000 1dbe9247a84ab3c0f05937ecf2b8dcdd02afd5dd 
a96f6e6c8eabe48bb8442c6d95bdb093db108959 M    src



On 12/05/2016 05:18 PM, Raphael G wrote:
> Hello,
>
> If this is not the correct place to report such troubles, sorry and do 
> not hesitate to redirect.
>
> When chaining from the ipxe efi binary to freebsd efi loader, the boot 
> freezes during the loader code execution. See enclosed screenshot
>
> https://dl.plik.ovh/file/G1s3BMIe8iLE0lka/26F6MpbbocfALMMq/freebsd_ipxe_boot_freeze.png 
>
>
> Not sure yet whether this is an ipxe issue or a freebsd efi loader one 
> (both freebsd 10 and 11).
>
> When reversing to far commit 35c5379760aa1fea5e38f7a78b090f92bb7813ee, 
> from Dec 2014, we do not entcounter the issue
>
> (issue appeared for sure before last July, so root cause must lie 
> somewhere in the commits between 
> 35c5379760aa1fea5e38f7a78b090f92bb7813ee and 
> df85901768622b8aea94d39a28effdbf90f7d4f0)
>
> Is this a known issue ? Any clue on what could be the root cause ?
>
> Regards
>
> # ##################################
>
> Script sample to embed (or to chain to) to reproduce:
>
> #!ipxe
>
> :retry_dhcp
> echo Dhcp ...
> dhcp || goto retry_dhcp
>
> echo FreeBSD-11 (UEFI)
> chain http://<YOUR_HTTP_SERVER_HERE>/freebsd11-amd64-boot-loader.efi 
> dhcp.root-path=<YOUR_NFS_SERVER_HERE>:/freebsd11-amd64-rescue 
> [<MISC_PARAMS>]
>




More information about the ipxe-devel mailing list