Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
With this (owbp's) compiled version of boot.efi, in verbose mode, I get:
Code:
PIKE: bootArgs->PhysicalMemorySize= 0x400000000
PIKE: bootArgs->PhysicalMemorySize= 0x400000000
PIKE: bootArgs->PhysicalMemorySize= 0x400000000
PIKE: bootArgs->PhysicalMemorySize= 0x400000000
PIKE: bootArgs->PhysicalMemorySize= 0x400000000

EDIT: exact same result with richgoga's compiled version.

I've built an installer, in my usual way. Boot from the installer....
I get the same symptoms. (The memory size is 0x800000000 on my machine.)
I've tried a few versions of the boot.efi file. Even the older ones when I first tried with the DP Sierra releases.
I get the bootArgs lines echoed, and then it stops.
 
  • Like
Reactions: LightBulbFun
So I installed Sierra on an external drive connected to my 5,1, replaced the boot.efi (from post #990) at the usual locations afterwards, and tried to boot this morning on my 1/2,1. Got stuck at the Apple logo. Nothing happens, it just freezes.
 
I said that on previous page, it always freezes on logo after few seconds in "verbose black screen".
Had it to boot with command+v and after that editing com.apple.boot.plist with -v, the result is the same (no messages, just apple screen).

P.S. I installed Visual Studio 2013 and touched nothing in settings, just followed Pike's compiling instructions to a letter. Should i make some changes in VS that are obvious to some but not to me? :D
 
Last edited:
I said that on previous page, it always freezes on logo after few seconds in "verbose black screen".
Had it to boot with command+v and after that editing com.apple.boot.plist with -v, the result is the same (no messages, just apple screen).

P.S. I installed Visual Studio 2013 and touched nothing in settings, just followed Pike's compiling instructions to a letter. Should i make some changes in VS that are obvious to some but not to me? :D

I've done a bit of tracing by adding some console printf statements (and I've set verbose mode on in the code). So far I've narrowed the point of stopping down to somewhere in BootArgs.cpp: BlFinalizeBootArgs() routine.
Everything down to the checking of the memory map size seems to be okay (in that it runs past those bit s of the code).

It seems to be hanging on
EfiBootServices->ExitBootServices(EfiImageHandle, memoryMapKey)

I've used target disk mode to install Sierra, but it's not really getting to the OS yet.

Can others with MacPro's (1,1 or 2,1) confirm that the attached boot.efi file emits "Saved the Boot Args", and then hangs please?.....
 

Attachments

  • boot.efi.zip
    204.6 KB · Views: 308
Last edited:
  • Like
Reactions: hwojtek
@rthpjm , What exactly do we need to do?
It is giving me the same results as the previous boot.efi.
Hmm,

On my system it boots into verbose mode (without needing to hold down CMD V).

My set up:
MacPro 1,1 upgraded to a 2,1
Internal HDD with Sierra 10.12.0 installed (using Target Disk mode from my iMac that is still a supported machine)
Replaced the usual two boot.efi files with the one I posted
The only other thing I have done is edit the /S/L/CS/PlatformSupport.plist to include the board-ids and model names of the 1,1 2,1 and 3,1 (attached)

Reboot
hold down ALT at the chime
Select my Sierra HDD

 

Attachments

  • PlatformSupport.plist.zip
    1.2 KB · Views: 238
Last edited:
Just tried the latest boot.efi from @rthpjm using a Sierra install from my MBP in TDM and i get this when trying to boot it on my Mac Pro 1,1/2,1 and it hangs there

14489699_647691915397977_2093043002_o.jpg
 
Just tried the latest boot.efi from @rthpjm using a Sierra install from my MBP in TDM and i get this when trying to boot it on my Mac Pro 1,1/2,1 and it hangs there

View attachment 659879
Hi Lightbulbfun

Man! That monitor is dusty!

That's what I was expecting. Thanks for the confirmation.

My knowledge of EFI programming is nil, so I've reached out to Pike. Hopefully Pike will assist, otherwise this is going to be pretty slow as I ramp up my knowledge.
 
On my system it boots into verbose mode (without needing to hold down CMD V).

My set up:
MacPro 1,1 upgraded to a 2,1
Internal HDD with Sierra 10.12.0 installed (using Target Disk mode from my iMac that is still a supported machine)
I am booting from USB, don't have it on HDD, but i just figured out that i used the same USB for Clover and Enoch testing, so it left bunch of the hidden boot files. Sorry!
I will make the fresh one as soon as possible.
 
Hi Lightbulbfun

Man! That monitor is dusty!

That's what I was expecting. Thanks for the confirmation.

My knowledge of EFI programming is nil, so I've reached out to Pike. Hopefully Pike will assist, otherwise this is going to be pretty slow as I ramp up my knowledge.

its a 2003 acrylic 23 Inch cinema display that snapped its stand and fell off my desk (and onto me) once before... i try to avoid touching it these days for fear it will snap again :D

I too hope @Pike R. Alpha will be able to do something (If OS X Sierra needs SSE4 and theres no way to patch the OS to not need SSE4, i wonder if its possible to embed an SSE4 emulator in the boot.efi...)
 
Well since we're not even getting to the kernel yet, I'll persevere for a bit longer.
I did find a post by Netkas Pike saying that there "might" be a glimmer of hope because he could find no specific calls to SSE4 instructions (can't remember where tho). I've also got a few more ideas before I totally give up on Sierra.

So I now know we're getting to and appearing to hang at the ExitBootServices call.
It's not throwing an error, but nor does it progress beyond this call.

I found a nicely written description authored by Matt Fleming here: https://lwn.net/Articles/632528/
For a start, EFI firmware has two very distinct phases of execution delimited by the termination of the EFI "Boot Services." Initially, the EFI firmware has control over the platform. This allows the firmware to provide a variety of services, such as memory allocation, timers, and event services, to EFI applications and drivers. These are known as Boot Services. It is the boot loader's responsibility to terminate Boot Services by calling the firmware's ExitBootServices() function and transition to the second phase of boot (the EFI Runtime Services will remain available). Once ExitBootServices() has been called, the firmware relinquishes control of the platform to the OS loader, and ultimately, to the kernel. From that point forward the kernel owns the platform and can install page tables, interrupt handlers, and bring memory allocators online; all the things that usually happen during kernel boot.

So now I will work backwards looking at the variables that are set to see if any of them are visually looking wrong... (Maybe the location of the kernel changed, it's a thought....)
 
Last edited:
@LightBulbFun,

No. What hwojtek said is correct. boot.efi is not the place to add emulator code.

@rthpjm.

It was Netkas who said that some libraries (like libc) use SSE4 calls and I said that the kernel was free of it and patching all libraries and other code that calls SSE4 instructions will be a hell of a job.
 
  • Like
Reactions: hwojtek
@LightBulbFun,

No. What hwojtek said is correct. boot.efi is not the place to add emulator code.

@rthpjm.

It was Netkas who said that some libraries (like libc) use SSE4 calls and I said that the kernel was free of it and patching all libraries and other code that calls SSE4 instructions will be a hell of a job.

Hi Pike,

Sorry about that, when I get to a full keyboard, I'll correct the attribution
 
Last edited:
These are the kinds of people Apple should hire as devs. (Actually, some are ex-devs). We all clearly value the OS (and especially the hardware) more than Apple's current devs do, considering we'd want to do such things as getting Mountain Lion-through-Sierra onto a 1,1/2,1.

I really hope this happens. And, hopefully any other machines off to the side (such as a 2007 MacBook Pro) can run it. We're all grateful for you devs.
It's just Apple's excuse to ween u off off old hardware in the sake of u upgrading to a new Mac PC
 
Last edited:
  • Like
Reactions: PowerMac G4 MDD
Hi Pike,

Sorry about that, when I get to a full keyboard, I'll correct the attribution

Attribution corrected ;)

Progress report:

I have cloned an earlier release of Pike's 3.2 (Sierra) branch. (If Pike is reading, I went back approx 3 commits to the point just before "experimental additions for Xserve" - commit 19a02218).

Compiled. This binary exhibits the same hang.

Having decided it is hanging at the point where the EFI boot file would hand over to the kernel, I decided to try replacing the 10.12.0 kernel file with the 10.11.6 kernel (/System/Library/Kernels/kernel, and for completeness the prelinkedkernel in the same manner /S/L/PrelinkedKernels/prelinkedkernel). No other changes.

Reboot.

Good news(?)... My system continues past the ExitBootServices call. The console clears and the OS starts to load but then panics, listing lots of unresolved symbols.

IMG_1947.jpg

I put the 10.12 copies back into place. Rebooted. Confirmed it still hangs.

So I think the issue boils down to one or more differences between the kernels.

I'm going to try to check that the entry point into the kernel has not changed (if it has, that maybe why we are seeing a hang), it's my best guess at the moment....

Don't hold your breath though. I am ever the optimist, but I'm starting to think pessimisticly.....
 
Last edited:
Pike's El Cap boot.efi not working on a EFI32 MBP 2,1.

This is what I get
pike-cap-efi-mbp21.jpg
Can you help me to compile source? What do I have to change, because it seems to be a "PlatformExpert" issue, as MBP 2,1 was not defined there, but I don't know what to change exactly.
Is this the place to ask this question?
 
Pike's El Cap boot.efi not working on a EFI32 MBP 2,1.

This is what I get
View attachment 697628
Can you help me to compile source? What do I have to change, because it seems to be a "PlatformExpert" issue, as MBP 2,1 was not defined there, but I don't know what to change exactly.
Is this the place to ask this question?

I have changed the line I suppose is important, in the file PlatformExpert.cpp

else if (memcmp((CHAR8 *)boardId, (CHAR8 *)"Mac-F42189C8", 12) == 0)// MacBookPro2,2

As you see, I've changed Board ID to the MBP2,1.
It boots and loads the GUI but after 30 seconds I get a KP.
 
  • Like
Reactions: LightBulbFun
I have changed the line I suppose is important, in the file PlatformExpert.cpp

else if (memcmp((CHAR8 *)boardId, (CHAR8 *)"Mac-F42189C8", 12) == 0)// MacBookPro2,2

As you see, I've changed Board ID to the MBP2,1.
It boots and loads the GUI but after 30 seconds I get a KP.
Solved. Look at the El Cap Unsupported thread. Working on MBs and MBPs.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.