Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

splifingate

macrumors 65816
Nov 27, 2013
1,246
1,043
ATL
commit e235aca . . .

build fails (VSE2015; Dell Precision T5500; Win 10):

"syntax error: ')' in BootArgs.cpp on line 363"

"syntax error: missing ';' before identifier 'DEVICE_TREE_NODE'."

Just got GitHub desktop installed, and your repository synch'd . . . successfully (I hope/see (that funny face on each commit does not do you justice, imo)).

I have limited screen-time, by virtue that I am in the field (literally (I am in the horticulture business by-day)), and my center of energy usually precludes, er, cerebral activities, such as compiling, code-analysis, and general computing (to say the least).

To make and install these 'boot.efi's is quite an effort; but, we do what we do, when we can do what we do ;)

hth, Pike.
 
Last edited:

PeterHolbrook

macrumors 68000
Sep 23, 2009
1,617
439
Faking board-id. Black boot.efi

WARNING: Line 363 of BootArgs.cpp rewritten as
DevTreeAddProperty(rootNode, CHAR8_CONST_STRING("board-id"), "Mac-F42C88C8", 13, FALSE);

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 e235aca3956a2a766bb3dfba237d9d01b9cb801b.zip
    206.9 KB · Views: 384

PeterHolbrook

macrumors 68000
Sep 23, 2009
1,617
439
I suppose faking the board ID doesn't have any real negative repercussions, other than some inaccurate Hardware Overview System Information, although that same inaccurate information will make the old Mac Pro pass as a supported machine, thereby making it unnecessary to modify mpkg and plist files in the Installer, as we've been doing these past years. I don't actually know if the creation of a stand-alone self-booting El Capitan installer would be necessary at all anymore, provided the regular unmodified installation app is launched from a boot.efi that ensures its own persistence. Would it be possible at all for boot.efi to copy itself to memory when the computer boots and then to rewrite itself (no matter what the SIP settings might be) from memory immediately before the computer is shut down or restarted?

If such a thing were achievable, we would still need occasional access to the system using a not-so-clever boot.efi so that boot.efi maintenance could be carried out if needed.

Edit: How about this scenario? The creation of a universal stand-alone self-booting El Capitan installer could still be mandatory, but it would only be modified by copying boot.efi in the two usual places (or three, if you will). When booting from the install media, that boot.efi wouldn't be persistence-hardened, but, at the end of its run, would see to it that two copies of itself were copied to the relevant folders of the target installation disk and to the usual place of the Recovery HD. Only when run from the normal El Capitan disk would boot.efi behave in a persistence-hardened way, i.e., rewriting itself at the end of each session. Would this be possible at all?
 
Last edited:

atvusr

macrumors 6502
Apr 5, 2010
442
39
Tested e235aca3956a2a766bb3dfba237d9d01b9cb801b on MBP2,2:
patched Installer (Hennesie-Guide) - hangs after "Waiting for DSMOS"
transferred OSX - boots into Desktop, but Kernel Panic after 30 seconds
 

Pike R. Alpha

macrumors 6502
Oct 4, 2015
377
216
Spain
Right. board-id change not working. Will look into it.

Edit: Yeah I was expecting this. We need an SMBIOS patcher. Loads of work. Oh well. Let's have a stab at it.

Next. People with a created media USB stick should rename/backup /S(/L(/Prelinkedkernels/prelinkedkernel and try to boot from it. Double check that the file wash;t recreated. Need a confirmation that this actually works. Thanks!
 
Last edited:

PeterHolbrook

macrumors 68000
Sep 23, 2009
1,617
439
Right. board-id change not working. Will look into it.

Next. People with a created media USB stick should rename/backup /S(/L(/Prelinkedkernels/prelinkedkernel and try to boot from it. Double check that the file wash;t recreated. Need a confirmation that this actually works. Thanks!
Pike, I suppose you aren't really interested in the manually-created install media following Hennesie2000's guide. In case you are, however, I can mention that, in my case, the /S(/L(/Prelinkedkernels/prelinkedkernel hasn't been recreated (its date is 17 September, 8:37. Its size is 18,915,592 bytes. The boot.efi of my installer is the black repository version.
 

Pike R. Alpha

macrumors 6502
Oct 4, 2015
377
216
Spain
Pike, I suppose you aren't really interested in the manually-created install media following Hennesie2000's guide. In case you are, however, I can mention that, in my case, the /S(/L(/Prelinkedkernels/prelinkedkernel hasn't been recreated (its date is 17 September, 8:37. Its size is 18,915,592 bytes. The boot.efi of my installer is the black repository version.
Any media that can be used to boot a Mac, even the installer, is fine. As long as these:

/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache
/System/Library/Prelinkedkernels/prelinkedkernel

are renamed.
 

PeterHolbrook

macrumors 68000
Sep 23, 2009
1,617
439
Renamed? Which name should they have? Mine are called exactly that way.

PS Actually, my installer doesn't have /System/Library/Caches/com.apple.kext.caches, just an empty /System/Library/Caches/com.apple.CVMS folder.
 

splifingate

macrumors 65816
Nov 27, 2013
1,246
1,043
ATL
'prelinkedkernel' is found in /Volumes/Image Volume/.IABootFiles only (via terminal, while in the Installer environment).

with commit e235aca

# ioreg -lp IOService | grep board-id gives

"Mac-F4208DC8"
 

mikeboss

macrumors 68000
Original poster
Aug 13, 2009
1,517
790
switzerland
Right. board-id change not working. Will look into it.

Edit: Yeah I was expecting this. We need an SMBIOS patcher. Loads of work. Oh well. Let's have a stab at it.

Next. People with a created media USB stick should rename/backup /S(/L(/Prelinkedkernels/prelinkedkernel and try to boot from it. Double check that the file wash;t recreated. Need a confirmation that this actually works. Thanks!

tested with e235aca3956a2a766bb3dfba237d9d01b9cb801b
on USB installer media with /System/Library/Caches/com.apple.kext.caches/Startup/kernelcache

renamed "kernelcache" to "WAS_kernelcache" and the system booted just fine into the installer's GUI.
the file was NOT recreated during boot.
 

Pike R. Alpha

macrumors 6502
Oct 4, 2015
377
216
Spain
'prelinkedkernel' is found in /Volumes/Image Volume/.IABootFiles only (via terminal, while in the Installer environment).

with commit e235aca

# ioreg -lp IOService | grep board-id gives

"Mac-F4208DC8"
Interesting. It failed for Mike. Did you try to download El Capitan from the App Store?

Edit: Sorry. Misinterpreted the board-id. But without the kernel cache and prelinkedkernel it boots. That is fine.
 

Pike R. Alpha

macrumors 6502
Oct 4, 2015
377
216
Spain
New commit available for compilation. Only use this on USB (installer) media to test if it boots. It will most likely fail (YOU ARE WARNED).

Look for the new debug output:

"PIKE: SMBIOS table found!" (5x)
"PIKE: SMBIOS table replaced!"(5x)
 

PeterHolbrook

macrumors 68000
Sep 23, 2009
1,617
439
New test. 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 c56a6ae54b3c191eaab4c2882257395f6ccff75e.zip
    207.1 KB · Views: 220

Pike R. Alpha

macrumors 6502
Oct 4, 2015
377
216
Spain
c56a6ae54b3c191eaab4c2882257395f6ccff75e
Messages are there, still hanging at "Waiting for DSMOS..."
Thanks. The "Waiting for..." message is something else. Need to check something...

Edit: Nope. That was not the problem. Need your /.IABootFiles/ia.log Use PM with link/data. Thanks!
 

PeterHolbrook

macrumors 68000
Sep 23, 2009
1,617
439
Warnings/error in commit f1797b3933592a55e5a8ab42fa201893ee8a4bcc.

Lines 215 and 216 of PlatformExpert.cpp: conversion from 'int' to 'UINT8', possible loss of data
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.