Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
I don't know what is going on, but using the prelinkedkernel from the installer is a good starting point I guess.

Note that recreating the prelinkedkernel (the kernel cache is deleted by the installer) can be done, but having the -x boot argument in NVRAM will make it skip a whole lot of kexts, so please don't use that.

If you delete the "prelinkedkernel" then the booter will search for "kernelcache" but that may be outdated/include unsupported/the wrong kexts in it. Not a good idea.

I still want/need to add code to the booter to support kernel and kext loading, which doest work right now, but I also have other work to do. Like fixing a serious installer issue... so things go slow but should eventually be good.
Fine, Pike. I don't suppose I'll be rebooting my old Mac Pro in the next several days, but I'll keep compiling whatever new versions of boot.efi I see. In addition, I'll modify the boot.efi in my Installer media when you update the repository.
 
New commit available (with installer detection).

Edit: One more with debug enabled – after all, we want to know if this works ;)
 
Commit 81203b839027de05bc1e42b1b117f5d2cbf685a4 compilation errors:
Error 1 error C2143: syntax error : missing '}' before ';' C:\Users\PJH\Desktop\macosxbootloader-El-Capitan\src\boot\BootArgs.cpp 903 1 boot
Error 2 error C2064: term does not evaluate to a function taking 1 arguments C:\Users\PJH\Desktop\macosxbootloader-El-Capitan\src\boot\BootArgs.cpp 903 1 boot
Error 3 error C2143: syntax error : missing ')' before ';' C:\Users\PJH\Desktop\macosxbootloader-El-Capitan\src\boot\BootArgs.cpp 903 1 boot
Warning 4 warning C4390: ';' : empty controlled statement found; is this the intent? C:\Users\PJH\Desktop\macosxbootloader-El-Capitan\src\boot\BootArgs.cpp 904 1 boot
Error 5 error C2059: syntax error : 'else' C:\Users\PJH\Desktop\macosxbootloader-El-Capitan\src\boot\BootArgs.cpp 905 1 boot
Error 6 error C2143: syntax error : missing ';' before '{' C:\Users\PJH\Desktop\macosxbootloader-El-Capitan\src\boot\BootArgs.cpp 906 1 boot
Error 7 error C2447: '{' : missing function header (old-style formal list?) C:\Users\PJH\Desktop\macosxbootloader-El-Capitan\src\boot\BootArgs.cpp 906 1 boot
Error 8 error C2065: 'chosenNode' : undeclared identifier C:\Users\PJH\Desktop\macosxbootloader-El-Capitan\src\boot\BootArgs.cpp 910 1 boot
Error 9 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Users\PJH\Desktop\macosxbootloader-El-Capitan\src\boot\BootArgs.cpp 910 1 boot
Error 10 error C2365: 'DevTreeAddProperty' : redefinition; previous definition was 'function' C:\Users\PJH\Desktop\macosxbootloader-El-Capitan\src\boot\BootArgs.cpp 910 1 boot
Error 11 error C2078: too many initializers C:\Users\PJH\Desktop\macosxbootloader-El-Capitan\src\boot\BootArgs.cpp 910 1 boot
Error 12 error C2065: 'chosenNode' : undeclared identifier C:\Users\PJH\Desktop\macosxbootloader-El-Capitan\src\boot\BootArgs.cpp 911 1 boot
Error 13 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:\Users\PJH\Desktop\macosxbootloader-El-Capitan\src\boot\BootArgs.cpp 911 1 boot
Error 14 error C2365: 'DevTreeAddProperty' : redefinition; previous definition was 'function' C:\Users\PJH\Desktop\macosxbootloader-El-Capitan\src\boot\BootArgs.cpp 911 1 boot
Error 15 error C2078: too many initializers C:\Users\PJH\Desktop\macosxbootloader-El-Capitan\src\boot\BootArgs.cpp 911 1 boot
Error 16 error C2059: syntax error : 'return' C:\Users\PJH\Desktop\macosxbootloader-El-Capitan\src\boot\BootArgs.cpp 913 1 boot
Error 17 error C2059: syntax error : '}' C:\Users\PJH\Desktop\macosxbootloader-El-Capitan\src\boot\BootArgs.cpp 914 1 boot
Error 18 error C2143: syntax error : missing ';' before '}' C:\Users\PJH\Desktop\macosxbootloader-El-Capitan\src\boot\BootArgs.cpp 914 1 boot
Error 19 error C2660: 'BlSetBootMode' : function does not take 1 arguments C:\Users\PJH\Desktop\macosxbootloader-El-Capitan\src\boot\Main.cpp 533 1 boot
 
Installer detection, with debug; black boot.efi.

To everyone interested in this project:

[P]eople must be aware that [this and other] interim future versions are NOT intended as a replacement for the official repository versions. Until further notice, those of you who want to use Pike's boot.efi ought to go to http://piker-alpha.github.io/macosxbootloader/ and download either the "black" version or the "grey" one, according to your particular preference (the change is purely cosmetic; otherwise, they are exactly the same; the choice is irrelevant as far as the operating system is concerned). Pike alone will decide when such repository versions will be updated with a newer version.

Please, notice that the [enclosed and other] upcoming experimental versions might contain bugs that could cripple your ability to boot your old Mac. So, unless you are absolutely certain of what you are doing and know how to reverse such undesirable situations, KEEP AWAY FROM THEM. In general terms, [these] versions ARE NOT FOR YOU!
 

Attachments

  • boot de65310d578b3d1d7e08b3e92fbfe82f94c104ab.zip
    206.8 KB · Views: 308
So long Apple internal... Black boot.efi

To everyone interested in this project:

[P]eople must be aware that [this and other] interim future versions are NOT intended as a replacement for the official repository versions. Until further notice, those of you who want to use Pike's boot.efi ought to go to http://piker-alpha.github.io/macosxbootloader/ and download either the "black" version or the "grey" one, according to your particular preference (the change is purely cosmetic; otherwise, they are exactly the same; the choice is irrelevant as far as the operating system is concerned). Pike alone will decide when such repository versions will be updated with a newer version.

Please, notice that the [enclosed and other] upcoming experimental versions might contain bugs that could cripple your ability to boot your old Mac. So, unless you are absolutely certain of what you are doing and know how to reverse such undesirable situations, KEEP AWAY FROM THEM. In general terms, [these] versions ARE NOT FOR YOU!
 

Attachments

  • boot 82a11b69f7a5acd534fd6f0a830e75064ddc3f40.zip
    206.8 KB · Views: 346
with the version from post #11 SIP will be in effect.
Thanks Mike,
I wasn't sure if that version still had debug code in it, or if it was the grey bootscreen version.
Yeah I know it's nit picking, I figured I'd wait for the main github distribution to get updated, so I'm not running a different version from most folks.

Awesome news that this glitch has been identified and fixed though, it's really amazing to watch you guys work here !

Thanks again, for all you guys have done, to help us too broke to afford a new machine stay current ! :)

- Jay
 
What mike said, and we're going to update the files later today (don't have Windows myself and thus I have to wait for a friend to do this for me).
Awesome news Pike, I will be looking forward to the main distribution update !

Thanks to you and all the other folks involved here, as I said in my other reply to Mike, it's really amazing to see the work you guys are doing in real time ! :)

It's a fascinating process seeing you guys identify, and fix problems !

Thanks again !

- Jay
 
Awesome news Pike, I will be looking forward to the main distribution update !

Thanks to you and all the other folks involved here, as I said in my other reply to Mike, it's really amazing to see the work you guys are doing in real time ! :)

It's a fascinating process seeing you guys identify, and fix problems !

Thanks again !

- Jay
Sorry. Have a swing door type of connection today. Perhaps tomorrow.
 
I'm surprised that there haven't been any reports on the latest builds. Everything OK?

I tried to create a USB installer per your instructions at the beginning of the thread, and using the latest boot.efi you posted, but I get a white screen immediately after selecting the USB disk, can't even get verbose mode working.

Could be possible that I didn't create the stick correctly. Might run through your steps again from scratch when I get some time.
 
sorry, I'm swamped with work these days (self employed IT consultant, work comes in waves...).
I hope to find some time this evening.
Don't worry. This is NOT address at you. You have done way too much already, but other people better join us here and start testing, or development will stall pretty soon due to the lack of actual testers.
 
I tried to create a USB installer per your instructions at the beginning of the thread, and using the latest boot.efi you posted, but I get a white screen immediately after selecting the USB disk, can't even get verbose mode working.

Could be possible that I didn't create the stick correctly. Might run through your steps again from scratch when I get some time.
I've never created a USB installer myself, as I've always followed the route of a small partition on an internal hard disk on the Mac Pro. I've read that some people have a lot of trouble with USB flash drives, but I don't know the real cause for that. I suppose they should be formatted as GUID, HFS+ et cetera, but perhaps certain brands fail to work as expected.
 
I've never created a USB installer myself, as I've always followed the route of a small partition on an internal hard disk on the Mac Pro. I've read that some people have a lot of trouble with USB flash drives, but I don't know the real cause for that. I suppose they should be formatted as GUID, HFS+ et cetera, but perhaps certain brands fail to work as expected.
Shouldn't we simply point people who need help with this kind of work to this thread: https://forums.macrumors.com/threads/2006-2007-mac-pro-1-1-2-1-and-os-x-el-capitan.1890435
 
Shouldn't we simply point people who need help with this kind of work to this thread: https://forums.macrumors.com/threads/2006-2007-mac-pro-1-1-2-1-and-os-x-el-capitan.1890435

That's a loooong thread...

I'm going to try to help out with testing, I just need to get this USB installer working. I'll make sure it's working on a supported Mac before replacing the boot.efi and testing on my Mac Pro 1,1.

One question: if I'm testing the latest commit, should I be doing anything with bootbase.efi? It isn't even included in the newest commits, and I understand Pike is trying to eliminate the need for it, but I just don't understand what impact that should have on creation on the USB installer.
 
I'm surprised that there haven't been any reports on the latest builds. Everything OK?

I've tested boot-82a11b69f7a5acd534fd6f0a830e75064ddc3f40 with the MBP2,2 - it hangs during boot after "Waiting for DSMOS". The previous Boot-efi-Build has booted completely, but causes still a Kernel Panic after 2 minutes while installing from the patched Installer (Hennesie-Guide).
 
That's a loooong thread...

I'm going to try to help out with testing, I just need to get this USB installer working. I'll make sure it's working on a supported Mac before replacing the boot.efi and testing on my Mac Pro 1,1.

One question: if I'm testing the latest commit, should I be doing anything with bootbase.efi? It isn't even included in the newest commits, and I understand Pike is trying to eliminate the need for it, but I just don't understand what impact that should have on creation on the USB installer.
The latest commit works, or should work, as boot.efi and bootbase.efi replacement.
 
Installer detection, with debug; black boot.efi.

de65310d578b3d1d7e08b3e92fbfe82f94c104ab: copied it onto an installer media (created with the official createinstallmedia command). when attempting to boot, the screen stays black for about 25 seconds, then the debug output of the boot.efi gives

PIKE: NVRAM csr-acive-config[0x80/0x4] found (OK)!
PIKE: NVRAM csr-acive-config[0x80/0x4] found (OK)!
PIKE: NVRAM csr-acive-config[0x80/0x4] found (OK)!
PIKE: NVRAM csr-acive-config[0x80/0x4] found (OK)!
PIKE: NVRAM csr-acive-config[0x80/0x4] found (OK)!

then OS X starts to boot but hangs at "Ethernet [Intel8254x] ......... same as here ->
https://forums.macrumors.com/threads/boot-efi-developers-thread.1924434/page-2#post-22023648

I assume the intention of "Installer detection" is that I can place the same boot.efi
in all three places on the installer media and it should switch SIP off if in install-mode, right?
 
I've tested boot-82a11b69f7a5acd534fd6f0a830e75064ddc3f40 with the MBP2,2 - it hangs during boot after "Waiting for DSMOS". The previous Boot-efi-Build has booted completely, but causes still a Kernel Panic after 2 minutes while installing from the patched Installer (Hennesie-Guide).
Ok. And the one before that (de65310d578b3d1d7e08b3e92fbfe82f94c104ab) boots?
 
de65310d578b3d1d7e08b3e92fbfe82f94c104ab: copied it onto an installer media (created with the official createinstallmedia command). when attempting to boot, the screen stays black for about 25 seconds, then the debug output of the boot.efi gives

PIKE: NVRAM csr-acive-config[0x80/0x4] found (OK)!
PIKE: NVRAM csr-acive-config[0x80/0x4] found (OK)!
PIKE: NVRAM csr-acive-config[0x80/0x4] found (OK)!
PIKE: NVRAM csr-acive-config[0x80/0x4] found (OK)!
PIKE: NVRAM csr-acive-config[0x80/0x4] found (OK)!

then OS X starts to boot but hangs at "Ethernet [Intel8254x] ......... same as here ->
https://forums.macrumors.com/threads/boot-efi-developers-thread.1924434/page-2#post-22023648

I assume the intention of "Installer detection" is that I can place the same boot.efi
in all three places on the installer media and it should switch SIP off if in install-mode, right?
Yes. That is the purpose of it, but I seem to have made a mistake... ok should be fine now. I used a "/" instead of "\\".
 
Last edited:
82a11b69f7a5acd534fd6f0a830e75064ddc3f40:

cleared PRAM, ran it on standard El Capitan installation. csrutil status gives just plain and simple "enabled".

debug output:

IMG_1676.PNG


should I test this commit also for installer-detection?
 
82a11b69f7a5acd534fd6f0a830e75064ddc3f40:

cleared PRAM, ran it on standard El Capitan installation. csrutil status gives just plain and simple "enabled".

debug output:

View attachment 590170

should I test this commit also for installer-detection?
No, thanks. It is broken in this particular revision. Please wait for a new one from Peter.

Note: Oh wait. The adler32 check also includes the Mac model name that created the prelinkedkernel, and swapping drives will no longer work due to this check, and the lack of a kernel patcher. Have it working on a hack, but I still need to port it to boot.efi I'll try to do something about this either tonight or tomorrow.

EDIT: Done. Release 2.0 is the one without the kernel patch routine and release 2.1 with. Testing required (as usual).
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.