Hangs on some Macs

Sergei
2013-09-23
2013-10-23
  • Sergei

    Sergei - 2013-09-23

    Hi!
    I built latest source from git using edk2, then made a bootable usb flash drive, and tested it on several Macs. This is the result:
    - boots on MacBookPro8,1 (beginning of 2011)
    - hangs on iMac13,1 (end of 2012)
    - hangs on MacBookAir6,2 (2013)

    So it hangs on 2012/2013 hardware. After choosing "EFI Boot" icon and pressing Enter nothing changes on the screen.

    Is it a known bug?

     
  • Roderick W. Smith

    Are you saying that rEFInd never appears at all (it hangs before displaying any data) or that the rEFInd menu appears but you can't boot an OS from it?

    In any event, I have seen problem reports (of the rEFInd-hangs variety) from users of some recent Macs, but not all models seem to be affected (or maybe it works for some people but not others). I've tried some remote debugging, but without success -- rEFInd isn't getting to the point where it can produce any output, and even very simple test programs don't run, either. Unfortunately, I can't do anything more without access to affected hardware, so a solution will have to wait until I buy a new Mac (not in the near future), somebody gives or loans me a Mac that's affected, or a programmer with an affected model submits a patch.

     
    • Sergei

      Sergei - 2013-10-03

      On 3 October 2013 02:49, Roderick W. Smith srs5694@users.sf.net wrote:

      Are you saying that rEFInd never appears at all (it hangs before displaying
      any data) or that the rEFInd menu appears but you can't boot an OS from it?

      rEFInd never appears at all. It does not display any data.
      Same result with a prebuilt 'refind-flashdrive-0.7.4.img' image.

      In any event, I have seen problem reports (of the rEFInd-hangs variety) from
      users of some recent Macs, but not all models seem to be affected (or maybe
      it works for some people but not others). I've tried some remote debugging,
      but without success -- rEFInd isn't getting to the point where it can
      produce any output, and even very simple test programs don't run, either.

      Do you mean that even a HelloWorld program did not begin to execute?

      I tried this:
      EFI_STATUS EFIAPI UefiMain (EFI_HANDLE ImageHandle,
      EFI_SYSTEM_TABLE *SystemTable)
      {
      EFI_INPUT_KEY key;
      UINTN i;
      EFI_STATUS status=SystemTable->BootServices->WaitForEvent(1,
      &SystemTable->ConIn->WaitForKey, &i);
      status=SystemTable->ConIn->ReadKeyStroke(SystemTable->ConIn, &key);
      return EFI_SUCCESS;
      }
      and it does wait for any key.

       
    • Sergei

      Sergei - 2013-10-03

      On 3 October 2013 02:49, Roderick W. Smith srs5694@users.sf.net wrote:

      Unfortunately, I can't do anything more without access to affected hardware,
      so a solution will have to wait until I buy a new Mac (not in the near
      future), somebody gives or loans me a Mac that's affected, or a programmer
      with an affected model submits a patch.

      Glad to read this invitation. Here is the patch.
      The problem happened when UninitRefitLib/ReinitRefitLib was done in
      StartEFIImageList() during loading of file system drivers.

       
      Last edit: Sergei 2013-10-03
  • Roderick W. Smith

    Thanks for the patch. I'll test this out, and if it doesn't cause problems on other systems, I'll include it in the next version of rEFInd.

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks