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

PeterHolbrook

macrumors 68000
Sep 23, 2009
1,617
439
Adding missing line

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 b16356949ad79df161e8575d1a4f5dcea487a04d.zip
    205.4 KB · Views: 366

splifingate

macrumors 65816
Nov 27, 2013
1,326
1,088
ATL
Thanks. New commit available. Please compile/test ioreg output.

Edit: Please test with the last commit (forgot to add a line).

Compiled, installed, and booted (output in a minute).

Just to be clear, I don't grep ioreg | grep very well; would you reiterate the commands I should perform so that I may get the correct info to you...? thx
 

splifingate

macrumors 65816
Nov 27, 2013
1,326
1,088
ATL
Commit b1635694 output attached
 

Attachments

  • image.jpeg
    image.jpeg
    1.2 MB · Views: 157

splifingate

macrumors 65816
Nov 27, 2013
1,326
1,088
ATL
# ioreg -p IODeviceTree -d 2 -k board-id | grep board-id

&

# ioreg -lw0p IODeviceTree | grep -e 'SMBIOS" ' | awk '{print $5}' | sed 's/[<>]//g'

produce no output to #

# ioreg -p IODeviceTree -r -n / -d 1

gives me compatible = Apple002,1 & model = Apple002,1

(no change from previous)
 

splifingate

macrumors 65816
Nov 27, 2013
1,326
1,088
ATL
[side-note]

I instanced a new install of Mavericks 10.9.1 in a VMWare virtual machine this morning while we were testing all these tries, and downloaded the El Cap.app to the Applications folder therein in hopes I could reveal some of what you write-about in:

https://pikeralpha.wordpress.com/2015/09/27/how-to-replace-boot-efi-with-mine/

I have yet to do this.

Can't find './startosinstall' in anything I have local (no matter how I try), and was hoping to find it somewhere in the process of said, above.

Working on that will be later, etc., &c., et al.

[/side-note]
 

Pike R. Alpha

macrumors 6502
Oct 4, 2015
377
216
Spain
Open the file StdAfx.h and look for this line:
#define BOARD_ID_REPLACEMENT 0x3843383843323446ULL
Change that into:
#define BOARD_ID_REPLACEMENT 0x0043383843323400ULL
Compile and retest. I'll be back later.
 

splifingate

macrumors 65816
Nov 27, 2013
1,326
1,088
ATL
// #define BOARD_ID_REPLACEMENT 0x4634324338384338ULL


// (29) #define BOARD_ID_REPLACEMENT 0x3843383843323446ULL

#defineBOARD_ID_REPLACEMENT 0x0043383843323400ULL
 

Attachments

  • image.jpeg
    image.jpeg
    1.2 MB · Views: 104

Pike R. Alpha

macrumors 6502
Oct 4, 2015
377
216
Spain
// #define BOARD_ID_REPLACEMENT 0x4634324338384338ULL


// (29) #define BOARD_ID_REPLACEMENT 0x3843383843323446ULL

#defineBOARD_ID_REPLACEMENT 0x0043383843323400ULL
Ok. We were missing a NULL (00) character. Now replace the line with:
#defineBOARD_ID_REPLACEMENT 0x0043383843323446ULL
And try again, and don't forget to report the output of ioreg. Thanks!

Edit: I updated my blog article and you should now be able to find startosinstall.
 
Last edited:

splifingate

macrumors 65816
Nov 27, 2013
1,326
1,088
ATL
// #define BOARD_ID_REPLACEMENT 0x4634324338384338ULL


// (29) #define BOARD_ID_REPLACEMENT 0x3843383843323446ULL

#define BOARD_ID_REPLACEMENT 0x0043383843323400ULL

re-mod:

#define BOARD_ID_REPLACEMENT 0x3843393844323446ULL

-bash-3.2.splifing8# fsck . . . why did it have to be a hex convert backwards from ascii...crazy stuff, Pike (kudos that you're not insane (insane-er?) after all this).
 

Attachments

  • image.jpeg
    image.jpeg
    1.1 MB · Views: 153
Last edited:

Pike R. Alpha

macrumors 6502
Oct 4, 2015
377
216
Spain
And the ioreg output? How does that look now?

Edit: Wait, you have:
#define BOARD_ID_REPLACEMENT 0x3843393844323446ULL
instead of:
#define BOARD_ID_REPLACEMENT 0x0043393844323446ULL

Without the terminator character (00) it will definitely fail. And it is backward because that is how it is layout in memory (64-bit pointer).

Also not going to crack/get mad/crazy/lose me nerve. I'm just doing this for fun while working on other stuff. Too bad that I can't test it myself, otherwise we would have been ready a looong time ago already.
 
Last edited:

splifingate

macrumors 65816
Nov 27, 2013
1,326
1,088
ATL
And the ioreg output? How does that look now?

Edit: Wait, you have:
#define BOARD_ID_REPLACEMENT 0x3843393844323446ULL
instead of:
#define BOARD_ID_REPLACEMENT 0x0043393844323446ULL

Without the terminator character (00) it will definitely fail. And it is backward because that is how it is layout in memory (64-bit pointer).

Also not going to crack/get mad/crazy/lose me nerve. I'm just doing this for fun while working on other stuff. Too bad that I can't test it myself, otherwise we would have been ready a looong time ago already.

Aye; so, so much gets lost in the trans-lation/nation…I just learned more than I should probably know about hex <--> ascii conversion (and board-id, for that matter)…with 'Mac-' as my output from your previous request, I just picked Mac-F42D89C8 as teh fake id, compiled and booted (well-before you psoted your reply).

[edit]ioreg output from previous commands return null, every time[/edit]

I'ma gana go spend the evening with Mom in short-order…anything key that I try before I go?
 

randyoo

macrumors member
Jul 26, 2010
72
21
And the ioreg output? How does that look now?

Edit: Wait, you have:
#define BOARD_ID_REPLACEMENT 0x3843393844323446ULL
instead of:
#define BOARD_ID_REPLACEMENT 0x0043393844323446ULL

Without the terminator character (00) it will definitely fail. And it is backward because that is how it is layout in memory (64-bit pointer).

Also not going to crack/get mad/crazy/lose me nerve. I'm just doing this for fun while working on other stuff. Too bad that I can't test it myself, otherwise we would have been ready a looong time ago already.

Yeah, this isn't super efficient, is it? :D

I'd like to try it, but I have no way to perform the build. No copy of Windows in the house... If anyone posts a build soon, I'll be happy to run the ioreg.
 

randyoo

macrumors member
Jul 26, 2010
72
21
Aye; so, so much gets lost in the trans-lation/nation…I just learned more than I should probably know about hex <--> ascii conversion (and board-id, for that matter)…with 'Mac-' as my output from your previous request, I just picked Mac-F42D89C8 as teh fake id, compiled and booted (well-before you psoted your reply).

I'ma gana go spend the evening with Mom in short-order…anything key that I try before I go?
Splifingate, can you make the #define change and create and post a build? Then I can check the ioreg output...
 

randyoo

macrumors member
Jul 26, 2010
72
21
No thanks. You've done enough for tonight. Go have fun with mom. Take care ;)
Attached is the debug output from the build splifingate just posted. Ioreg output follows:
EDIT: here is the ioreg output. Looks like regression.
Code:
-bash-3.2# ioreg -lw0p IODeviceTree | grep -e 'SMBIOS"' | awk '{print $5}' | sed 's/[<>]//g'
-bash-3.2# ioreg -p IODeviceTree -r -n / -d 1
+-o /  <class IOPlatformExpertDevice, id 0x100000111, registered, matched, active, busy 0 (143674 ms), retain 27>
    {
      "IOBusyInterest" = "IOCommand is not serializable"
      "compatible" = <"Apple002,1">
      "IOPlatformUUID" = "2B12FE1B-1090-593B-B740-XXXXXXXXXXX"
      "IOConsoleSecurityInterest" = "IOCommand is not serializable"
      "system-type" = <03>
      "model" = <"Apple002,1">
      "IOPolledInterface" = "SMCPolledInterface is not serializable"
      "IOInterruptControllers" = ("io-apic-0")
      "IOInterruptSpecifiers" = (<0900000005000000>)
      "name" = <"/">
      "clock-frequency" = <00e1f505>
    }
 

-bash-3.2# ioreg -lp IODeviceTree | grep board-id
-bash-3.2# ioreg -p IODeviceTree -d 2 -k board-id
+-o Root  <class IORegistryEntry, id 0x100000100, retain 13>
  +-o /  <class IOPlatformExpertDevice, id 0x100000111, registered, matched, active, busy 0 (143674 ms), retain 27>
 

Attachments

  • image.jpg
    image.jpg
    102.8 KB · Views: 125
Last edited:

Pike R. Alpha

macrumors 6502
Oct 4, 2015
377
216
Spain
Here is an example of SMBIOS data (taken from a MacPro2,1):

"Apple Inc."00"Mac-F4208DA9"00

We seem to overwrite the " Inc." part here.

The table header is 4 bytes so perhaps we should increase the pointer with 4, and this is where someone with a compiler/test setup comes in handy.
 

PeterHolbrook

macrumors 68000
Sep 23, 2009
1,617
439
Add terminator character.

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 460310bd54ea5fb9138b74db13c7b3047ce47bc9.zip
    205.5 KB · Views: 348

splifingate

macrumors 65816
Nov 27, 2013
1,326
1,088
ATL
commit 460310bd

No change in # ioreg terminal output.
 

Attachments

  • image.jpeg
    image.jpeg
    1.2 MB · Views: 141
  • image.jpeg
    image.jpeg
    4.1 MB · Views: 139
Last edited:

busitech

macrumors newbie
Feb 10, 2014
16
1
Pike, I did some debugging and found that the corruption of the MacPro2,1 node of the ioreg listing was being caused when the checksums were updated. I left that out entirely, and as we speak, my OS X El Capitan upgrade has about 2 minutes remaining... :)
 

splifingate

macrumors 65816
Nov 27, 2013
1,326
1,088
ATL
Pike, I did some debugging and found that the corruption of the MacPro2,1 node of the ioreg listing was being caused when the checksums were updated. I left that out entirely, and as we speak, my OS X El Capitan upgrade has about 2 minutes remaining... :)

How does one leave this/these out, if you don't mind me asking?
 

busitech

macrumors newbie
Feb 10, 2014
16
1
Sure, I commented out line 319 and 320 of PlatformExpert.cpp

The installer restarted the machine after it finished, and my fresh copy of El Capitan came up, instead of starting from the upgrading drive. I manually restarted from the upgrading drive, and OS X Yosemite came back up. On this drive, there is now a folder called "OS X Install Data", and the boot.efi file in the .IABootFiles folder on the installer drive was reverted, presumably by the installer app.

I am going to restart again now from the installer drive, after fixing the reverted efi.
 
Last edited:

busitech

macrumors newbie
Feb 10, 2014
16
1
The installer came back up, and is now continuing the upgrade process. It is reporting 23 minutes remaining.
 

busitech

macrumors newbie
Feb 10, 2014
16
1
The upgrade is finished, and I write this reply from El Capitan! I'm really pleased to have my Mac Pro 1,1--->2,1 upgraded. Thank you so much Pike!

I had to replace boot.efi in the usual places on my main volume after the upgrade finished.
 

Pike R. Alpha

macrumors 6502
Oct 4, 2015
377
216
Spain
Pike, I did some debugging and found that the corruption of the MacPro2,1 node of the ioreg listing was being caused when the checksums were updated. I left that out entirely, and as we speak, my OS X El Capitan upgrade has about 2 minutes remaining... :)
Well, that is great, but that should point to a completely different memory location. No idea what is going on. Need to investigate this.

Ok. So what is the output of the board-id, compatible and model properties now? Have you check About This mac as well?
I mean you did not have to mod the DMG's right?
 
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.