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,296
1,074
ATL

Attachments

  • image.jpeg
    image.jpeg
    2.1 MB · Views: 155
  • image.jpeg
    image.jpeg
    1.8 MB · Views: 127
  • image.jpeg
    image.jpeg
    2.2 MB · Views: 132

splifingate

macrumors 65816
Nov 27, 2013
1,296
1,074
ATL
Option -> Yosemite (working install) directly after installer re-boot...

Contents are locked.

Deceptive…the ".IABootFiles" is in the original createinstallmedia partition, is modded after teh install process, and is locked from casual viewing/editing.

Allowed 'Everyone', and replaced the stock ~600kb boot.efi with the ~300kb from the compile of commit 460310bd.

Re-booting, AIT…
 

Attachments

  • image.jpeg
    image.jpeg
    4.3 MB · Views: 125

splifingate

macrumors 65816
Nov 27, 2013
1,296
1,074
ATL
Deceptive…the ".IABootFiles" is in the original createinstallmedia partition, is modded after teh install process, and is locked from casual viewing/editing.

Allowed 'Everyone', and replaced the stock ~600kb boot.efi with the ~300kb from the compile of commit 460310bd.

Re-booting, AIT…

Doing its thing (BTDT).

Just wanted to verify.

Thanks for the pointers, @busitech :)
 

Attachments

  • image.jpeg
    image.jpeg
    2.2 MB · Views: 105
  • image.jpeg
    image.jpeg
    3 MB · Views: 187

busitech

macrumors newbie
Feb 10, 2014
16
1
I think I understand these two checksums now, after reading a few pages (21-22) of the SMBIOS Specification. We don't need to update these checksums, because they should not be affected by the board-id change. The area of memory being checksummed is just the entry point structure, only 0x1F bytes, and the intermediate entry point structure, only 0x0F bytes. Correct?
 

Pike R. Alpha

macrumors 6502
Oct 4, 2015
377
216
Spain
I think I understand these two checksums now, after reading a few pages (21-22) of the SMBIOS Specification. We don't need to update these checksums, because they should not be affected by the board-id change. The area of memory being checksummed is just the entry point structure, only 0x1F bytes, and the intermediate entry point structure, only 0x0F bytes. Correct?
Correct. We don't need it right now because, strangely enough... Apple allows us to poke memory locations that should be protected, and they can change this pretty quick, so we better be prepared for it.

I'd also like to know if we can remove these lines:

startOfStringTable = Add2Ptr(startOfStringTable, strlen((CHAR8 *)BOARD_ID_REPLACEMENT), UINT8*);
startOfStringTable = 0x00;

After that I will do some more cleanups and update the files on this page http://piker-alpha.github.io/macosxbootloader/
 

PeterHolbrook

macrumors 68000
Sep 23, 2009
1,617
439
Fix checksum calculation (modified).

Lines 267 and 268 of PlatformExpert.cpp have been commented out.

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

  • modified_boot e68cc77cb574af5c099ab9edc67aa81d7d7e76e3.zip
    205.5 KB · Views: 381

PeterHolbrook

macrumors 68000
Sep 23, 2009
1,617
439
Prevent compilation error.

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 bc25a0af590805771db57aeb8274484d22f2432f.zip
    205.5 KB · Views: 412

splifingate

macrumors 65816
Nov 27, 2013
1,296
1,074
ATL
Commit bc25a0af

built with, and without, commented-out lines: each hangs with "Waiting for DSMOS..."
 

Pike R. Alpha

macrumors 6502
Oct 4, 2015
377
216
Spain
Are we still talking about the installer or normal boot?

Edit: I checked the last five commits and they cannot be causing this. The yard meaningless changes, though there are two other parts that may be failing. Please test this change:

-memcpy((CHAR8 *)startOfStringTable, (CHAR8 *)BOARD_ID_REPLACEMENT, strlen((CHAR8 *)BOARD_ID_REPLACEMENT));
+memcpy((CHAR8 *)startOfStringTable, (CHAR8 *)"Mac-F42C88C8", 12);

-startOfStringTable = Add2Ptr(startOfStringTable, strlen((CHAR8 *)BOARD_ID_REPLACEMENT), UINT8*);
+startOfStringTable = Add2Ptr(startOfStringTable, 12, UINT8*);

Also. Look for this if(ArchNeedEFI64Mode()) {
and add this line:
+CsPrintf(CHAR8_CONST_STRING("PIKE: SMBIOS ArchNeedEFI64Mode()\n"));

Note: Lines that start with "-" are current lines and lines with a "+" are new lines. Only add new lines without the "+".

New commit with changes available for compilation/testing.
 
Last edited:

randyoo

macrumors member
Jul 26, 2010
72
21
Ok. Thanks. See my edit.

I'm afraid I have no ability to compile/build your bootloader. I've been watching this thread for any opportunity to help test a new build, once somebody posts one, but that's all I'm able to do, unfortunately. Sorry.
 

Pike R. Alpha

macrumors 6502
Oct 4, 2015
377
216
Spain
I'm afraid I have no ability to compile/build your bootloader. I've been watching this thread for any opportunity to help test a new build, once somebody posts one, but that's all I'm able to do, unfortunately. Sorry.
No problem. Peter is here to help people like you. Thanks for testing the changes, and if the next version of boot.efi also hangs, then please report if you see this line: "PIKE: SMBIOS ArchNeedEFI64Mode()".
 
  • Like
Reactions: PeterHolbrook

PeterHolbrook

macrumors 68000
Sep 23, 2009
1,617
439
Investigating hang.

Removed extra closing parenthesis on line 264 of PlatformExpert.cpp

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 0e193cd3c15a599cfab687bbdab4bdded2e2fad4.zip
    205.1 KB · Views: 466
  • Like
Reactions: Pike R. Alpha

busitech

macrumors newbie
Feb 10, 2014
16
1
Here is a screenshot. Starting from the latest commit, I took out the code adding the null terminator, and went back to the hard coded board string. I too am hanging at Waiting for DSMOS now. I am going to erase my installer media, which was used previously, and retry with a fresh copy.
 

Attachments

  • image.png
    image.png
    3.5 MB · Views: 109

randyoo

macrumors member
Jul 26, 2010
72
21
Build 0e193cd, no longer hanging. Reached installer GUI, and able to start the install without the previously encountered error ("OS X El Capitan is already installed on this mac"). Not enough time to completely test the install tonight.

Also, ioreg command output now shows the correct product name, manufacturer, serial number, etc that were previously missing.

Still have "MacPro2,1" as model name, though.

So once we have a script to protect/prevent Pike's boot.efi from being replaced, then we have a nearly perfect solution!

Thanks Pike, Peter, splifingate, and everyone else who has been working on this!
 

Attachments

  • FullSizeRender.jpg
    FullSizeRender.jpg
    91.2 KB · Views: 129

Sko

macrumors 6502
Oct 17, 2009
285
59
Germany
I am finally on El Capitan. Thanks to everyone, especially Pike, Peter and Mike.

Latest commit worked flawlessly on newly created CIM. I had to replace boot.efi in .IABootFiles on first restart and in the usual places on the finished boot drive.

Board ID was changed to Mac-F42C88C8 and is still shown in ioreg.

Here is the debug output:

Bildschirmfoto 2015-10-13 um 22.47.34.png
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.