Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Tests with (pre 3.0 final) on live El Capitan:

  • replace boot.efi on Recovery HD, reset PRAM, boot into recovery HD, ioreg shows "Mac-F42C88C8", unmount all but one blank HD, fresh install begins to download after entering Apple-ID
  • replace boot.efi on main system HD, reset PRAM, boot to main system, ioreg shows "Mac-F42C88C8", EL Capitan re-download possible in App Store
I'm now creating different install media and pulling all but install media and blank drive.

Edit: please tell me if you'd like me to test any specific configuration or provide special details
 
Last edited:
Tests with (pre 3.0 final) on live El Capitan:

  • replace boot.efi on Recovery HD, reset PRAM, boot into recovery HD, ioreg shows "Mac-F42C88C8", unmount all but one blank HD, fresh install begins to download after entering Apple-ID
  • replace boot.efi on main system HD, reset PRAM, boot to main system, ioreg shows "Mac-F42C88C8", EL Capitan re-download possible in App Store
I'm now creating different install media and pulling all but install media and blank drive.

Edit: please tell me if you'd like me to test any specific configuration or provide special details
Fantastic news! Thanks!

Well. There is an issue that I would love to solve, and that is that some people reported to have KP's without adding "Kernel Cache" in com.apple.boot.plist setup to: /S*/L*/Prelinkedkernels/prelinkedkernel
Can you confirm that?

Example:
https://forums.macrumors.com/thread...os-x-el-capitan.1890435/page-35#post-22089674
 
Tests with (pre 3.0 final) on createinstallmedia:
  • works as expected, board-id set correctly, had to replace boot.efi in IABootFiles on first and in S/L/CS, /usr/standalone/i386 (and recovery) on second reboot with target disk mode, hangs without
  • (pre 3.0 final) on Mavericks Recovery HD (both occurrences) allows to install new Mavericks
Next is BaseSystem.dmg method and the Kernel Cache situation.
 
No luck with BaseSystem.dmg, hanging at "Waiting for DSMOS...". I wasn't able to recreate the Kernel Cache panic. Enough for today, will try again tomorrow.
 
Well, I finally had a little time tonight, so I figured I'd give the latest commit a shot.

I used the latest commit ( a6d29c77a1595f3b72171f021740b20941be5d00), and replaced in all 3 places on my existing installation (done with Mike Hennessy's guide).

Everything seems to be working so far, after about an hour or so.

There's just one strange thing... I fully expected this boot.efi to boot into verbose mode, but I'm still getting the grey boot screen with black progress bar.

I even zapped the PRAM, and still no verbose mode just the grey boot screen... strange.

Is that somehow normal with these later builds ?

Other than that everything seems to be working so far, csrutil status shows "enabled" (which is great), but I will keep banging on it for a while to make sure everything works as expected.

Thanks again, to ALL involved here, for the time and effort you've all put into this !

Especially thank you Pike, for taking the lead on this project in the first place, and picking up where the mysterious Tiamo left off ! :)



- Jay
 
Well, I finally had a little time tonight, so I figured I'd give the latest commit a shot.

I used the latest commit ( a6d29c77a1595f3b72171f021740b20941be5d00), and replaced in all 3 places on my existing installation (done with Mike Hennessy's guide).

[...]

There's just one strange thing... I fully expected this boot.efi to boot into verbose mode, but I'm still getting the grey boot screen with black progress bar.

I even zapped the PRAM, and still no verbose mode just the grey boot screen... strange.

[...]

Pike disabled verbose mode in commit 1d4e71b7 (previous to current, which is a6d29c77).

Peter compiled the latest commit (a6d29c77)--the one which you are using--and, it's good.

debugging/verbose output is for those who need it, for programmatic feedback.

Pike's transitioning-away from forcing this with the express goal of producing a clean, seamless Product people can use on a daily basis, and not have themselves fussed with teh gory details, and stuff <smile>

I'm still testing the addition of Pike's product to certain installations, and I need the verbose output so I can report with clarity . . . the latest commit does not force users to view these things.

Thanks for your feedback.
 
Thanks splifingate,
That makes sense, since I'm getting into the game late here.

I reckon the thing that threw me most was the grey boot screen.
In the past most of the development builds were either verbose or black boot screen.
I Wasn't sure if the debug code had been removed, and verbose mode had been shut off yet.

With the Yosemite builds there was no "grey screen" version until the final production build.
Sadly, I haven't been able to participate in this round of testing, so I'm just going by memories of Yosemite beta builds.

That's why I was surprised to see the grey screen, not that I'm complaining though, it's working great here :).

As I've said before, it is "totally amazing" watching you guys work together (from across the globe no less, and in real time).

I've worked for a few companies where all the development was done in the same room, and those guys couldn't solve problems and generate new builds as quickly as you guys do, (across 6 or 7 time zones no less :)) wow !

So again, my hat is off to all of you, amazing work !

- Jay
 
Thanks splifingate,
That makes sense, since I'm getting into the game late here.

I reckon the thing that threw me most was the grey boot screen.
In the past most of the development builds were either verbose or black boot screen.
I Wasn't sure if the debug code had been removed, and verbose mode had been shut off yet.

With the Yosemite builds there was no "grey screen" version until the final production build.
Sadly, I haven't been able to participate in this round of testing, so I'm just going by memories of Yosemite beta builds.

That's why I was surprised to see the grey screen, not that I'm complaining though, it's working great here :).

As I've said before, it is "totally amazing" watching you guys work together (from across the globe no less, and in real time).

I've worked for a few companies where all the development was done in the same room, and those guys couldn't solve problems and generate new builds as quickly as you guys do, (across 6 or 7 time zones no less :)) wow !

So again, my hat is off to all of you, amazing work !

- Jay
Jay,

If we had been sitting in one room... I assure you that the booter would have been ready before this forum thread was started (on 2 October 2015) by Mike.

The main problem is not the timezones, but me not having Windows and not having an unsupported Mac. On top of that, if it wasn't enough already, I had to figure out everything myself – SIP related – and that on top of my normal day tasks.

What I can tell you is that wife is not amused. Asked me a couple of times to spent more time with her and our son, and I am about to give her what she/my son deserve; a nice holiday soon.

-Pike
 
Last edited:
boot.efi v3.0 has been released and can be downloaded from http://piker-alpha.github.io/macosxbootloader/

Tested on MBP2,2:

· patched Installer (Hennesie-Guide) - hangs still after "Waiting for DSMOS".
· patched Installer (createinstallmedia) - boots, but only the first part* of the install works.
· transferred OSX - boots into Desktop.

* in the target partition there's the 'OS X Install Data' folder, the ia.log says:

Oct 16 07:30:24 MacBook-Pro InstallAssistant[505]: Extracting Boot Bits from Inner DMG:
Oct 16 07:30:26 MacBook-Pro InstallAssistant[505]: Copied prelinkedkernel
Oct 16 07:30:27 MacBook-Pro InstallAssistant[505]: Copied Boot.efi
Oct 16 07:30:27 MacBook-Pro InstallAssistant[505]: Copied PlatformSupport.plist
Oct 16 07:30:27 MacBook-Pro InstallAssistant[505]: Ejecting disk images
Oct 16 07:30:27 MacBook-Pro InstallAssistant[505]: Generating the com.apple.Boot.plist file
Oct 16 07:30:27 MacBook-Pro InstallAssistant[505]: com.apple.Boot.plist: {
"Kernel Cache" = "/.IABootFiles/prelinkedkernel";
"Kernel Flags" = "container-dmg=file:///Install%20OS%20X%20El%20Capitan.app/Contents/SharedSupport/InstallESD.dmg root-dmg=file:///BaseSystem.dmg";
}
Oct 16 07:30:27 MacBook-Pro InstallAssistant[505]: Done generating the com.apple.Boot.plist file
Oct 16 07:30:27 MacBook-Pro InstallAssistant[505]: Blessing /Volumes/Image Volume -- /Volumes/Image Volume/.IABootFiles
Oct 16 07:30:27 MacBook-Pro InstallAssistant[505]: Blessing Mount Point:/Volumes/Image Volume Folder:/Volumes/Image Volume/.IABootFiles plist:com.apple.Boot.plist
Oct 16 07:30:27 MacBook-Pro InstallAssistant[505]: ***************************** Setting Startup Disk *****************************
Oct 16 07:30:27 MacBook-Pro InstallAssistant[505]: ****** Path: /Volumes/Image Volume
Oct 16 07:30:27 MacBook-Pro InstallAssistant[505]: ****** Boot Plist: /Volumes/Image Volume/.IABootFiles/com.apple.Boot.plist
Oct 16 07:30:27 MacBook-Pro InstallAssistant[505]: /usr/sbin/bless -setBoot -folder /Volumes/Image Volume/.IABootFiles -bootefi /Volumes/Image Volume/.IABootFiles/boot.efi -options config="\.IABootFiles\com.apple.Boot" -label OS X Installer
Oct 16 07:30:28 MacBook-Pro InstallAssistant[505]: Bless on /Volumes/Image Volume succeeded
 
Last edited:
New commit with additional board-id replacement for the MacBookPro2,2 (changed to MacBookPro3,1) is now available for compilation/testing.
 
Tested on MBP2,2:

· patched Installer (Hennesie-Guide) - hangs still after "Waiting for DSMOS".
· patched Installer (createinstallmedia) - boots, but only the first part* of the install works.
Please define "patched installer".

p.s. I added a new board-id replacement for your MacBooPro2,2 but I'm not sure about the board-id you have now.
 
Mike, uploading the installer (without considering the time it'll take you to download it) will take much longer than creating one from scratch. For this reason, I'm enclosing a relatively detailed (though imperfect) guide to the installation of El Capitan on an old Mac Pro. Let me know if you find this feasible. Also, notice that the guide DOES NOT mention the modification of /Library/Preferences/SystemConfiguration/com.apple.Boot.plist, which in my case was necessary (otherwise, the installer wouldn't boot). So, here's the guide. If you are so kind, make whatever corrections you deem fit:


Guide for installing OS X 10.11 El Capitan on a Mac Pro 1,1 or 2,1 with the boot.efi method without directly resorting to a more modern computer

Based on Hennesie2000’s similar guide for OS X 10.10 Yosemite

I have tried to be as complete and clear in this guide as possible. However, this is an intricate procedure. I am not responsible for any damages that may occur as a result of this guide.

Things you will need

1. A Mac Pro 1,1 or 2,1 with an upgraded video card (7300GT or X1900XT will not work).
2. An 8GB or larger thumb drive or, preferably, an 8GB blank partition in one of the Mac Pro internal drives.
3. The latest version of Pacifist. It can be downloaded from charlessoft.com.
4. An application called Flat Package Editor. It can be found at on https://developer.apple.com/downloads/index.action. You will need to login and then search for “Auxiliary Tools” and download the “Late July 2012” dmg. Once downloaded, mount the DMG and right-click PackageMaker then show the contents. Browse to the /Contents/Resource folder and you will see the Flat Package Editor there. Copy that to your Utilities folder.
5. A copy of the El Capitan Install App from the App Store. You can’t use your old Mac Pro to download it. For this you will need either a virtual machine running Yosemite or a more modern Mac.
6. Choose either the “black” or the “grey” version of Pike’s boot.efi and download both boot.efi and bootbase.efi according to your choice. They can be downloaded from http://piker-alpha.github.io/macosxbootloader/.

Creation of a generic stand-alone El Capitan installer

1. In Terminal you will need to show hidden file using the following commands:
defaults write com.apple.finder AppleShowAllFiles YES
killall Finder
2. Right-click on the downloaded El Capitan Installer app and click show package contents.
3. Browse to the folder /Contents/SharedSupport.
4. Double-click to mount “InstallESD.dmg”.
5. Open up Disk Utility and drag BaseSystem.dmg to the side bar (in Disk Utility).
6. Click on BaseSystem.dmg in Disk Utility and select the Restore tab.
7. Set the BaseSystem.dmg as the source and choose the thumb drive or the 8GB internal blank partition (formatted as HFS+) as the destination.
8. Restore the image to that destination.
9. If you so desire, rename the thumb drive or the internal partition. For instance, I named mine “Install”.
10. Use the Finder to browse the newly restored installer. Go to the folder /System/Installation on the installer and delete the “Packages” alias file.
11. Go back to the mounted InstallESD.dmg and drag the “Packages” folder to the installer into the /System/Installation folder where the alias file used to be.
12. Copy the “BaseSystem.dmg” and “BaseSystem.chunklist” files to the root of the installer.
13. On the installer, go to /System/Installation/Packages/ and right-click on Essentials.pkg. Open it with Pacifist. Within Pacifist, navigate to /System/Library/Kernels/. There you will see a file named “kernel”.
14. Using the Finder, on the installer, create a folder named “Kernels” [without the quotation marks] in /System/Library/ and open the new folder.
15. Drag the “kernel” file from Pacifist to the Finder window where the “Kernels” folder is open.
16. To hide the hidden files again, enter this in Terminal:
defaults write com.apple.finder AppleShowAllFiles NO
killall Finder

Modification of the generic stand-alone El Capitan installer so that it will run on an old Mac Pro

1. Using the Finder, on the installer, navigate to System/Installation/Packages.
2. Right-click OSInstall.mpkg and open it with the Flat Package Editor.
3. Click and drag the “Distribution” file to your desktop and then open that using the text editor.
4. Scroll down a little bit until you see “var platformSupportValues=[...” [without the quotation marks]. That is followed by a bunch of board ID. For the Mac Pro 1,1 and 2,1 you will need to add "Mac-F4208DC8","Mac-F4208DA9" [it is imperative that such ID be surrounded by non-curly quotation marks]. Add them to the beginning of the list. You can copy the following line, including the last comma (without the carriage return that follows it), and then paste it to “Distribution”:
"Mac-F4208DC8","Mac-F4208DA9",
5. Save the edited Distribution file.
6. In the Flat Package Editor window, with the Distribution file highlighted, click Delete.
7. Now drag the edited Distribution file into the window and save the package file.
8. Also in the Packages folder you will need to modify the InstallableMachines.plist file with the same to above board ID again following the syntax.
9. You have to modify the PlatformSupport.plist located in the System/Library/CoreServices folder, again adding the two board IDs in the correct syntax.
10. And now we come to the most crucial part: including Pike’s boot.efi on the installer. For this, replace the boot.efi files located in System/Library/CoreServices and usr/standalone/i386 with Pike’s boot.efi that you previously downloaded as indicated earlier.
11. Finally, replace the bootbase.efi file located in System/Library/CoreServices with Pike’s bootbase.efi that you previously downloaded as indicated earlier.

Installation of El Capitan on an old Mac Pro using the modified installer

1. Boot from the installer by holding option after the boot chime.
2. Follow the normal OS X install process.
3. Make sure you are in front of your computer when the process is about to end. Don’t let it reboot, because, if it does, your Mac Pro will fail to boot, as the installer does not install Pike’s boot.efi to the target disk. You’ll have to use the installer Terminal to replace the boot.efi files located in System/Library/CoreServices and usr/standalone/i386 with the file Pike’s boot.efi that you previously downloaded as indicated earlier. In case you didn’t stop the reboot, you’ll need to reboot to the installer and, without installing the system, go to the Terminal and replace both boot.efi files.
4. Although this might not be necessary, using the installer, choose Startup Disk and select your now El Capitan partition and reboot.

Modification of the Recovery HD partition so that it will be bootable on the Old Mac Pro

Finally, within El Capitan itself, open the Terminal and enter
diskutil list
You will see a list of disks and partitions. One of them, of the type “Apple_Boot”, will be named “Recovery HD” and it will be located on the same disk as your new El Capitan partition (possibly called “Macintosh HD”). Notice its disk identifier in the last column to the right. Let’s suppose the identifier is “disk3s3”. Using the Terminal, enter the following:
diskutil mount disk3s3
The El Capitan Recovery HD will appear on your desktop. Using the Terminal, you’ll have to replace the boot.efi file located in /com.apple.recovery.boot with Pike’s boot.efi that you previously downloaded as indicated earlier. Notice that this modified Recovery HD will now boot the old Mac Pro, but, if you were to use it to reinstall El Capitan, you would still need to use the Terminal to replace both copies of the stock boot.efi with Pike’s modified version. Finally, using the Terminal, enter:
diskutil unmount disk3s3
####################
Is your procedure the correct way to install El Capitan on a 2006/2007 Macpro?

Thanks,

Don James
 
Oops.

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 2a477f055926198a18fe6e7dea85714342755051.zip
    205.1 KB · Views: 418
Is your procedure the correct way to install El Capitan on a 2006/2007 Macpro?

It USED TO BE correct for the so-called legacy installation method, which required altering several plist files containing the supported board ids. With the new boot.efi, that's no longer required, so a considerably more simplified approach can be taken, but I'm not an expert, since I haven't used that approach. You see, I used that approach to install El Capitan when boot.efi wasn't as smart as it is now, but I no longer need to install it, nor do I have an extra machine (or an extra hard drive for that matter right now) to test the new approach. Perhaps Pike, Mike, Spiflingate or the other guys who've been working on this project can be more helpful in putting together a simpler installation guide.
 
It USED TO BE correct for the so-called legacy installation method, which required altering several plist files containing the supported board ids. With the new boot.efi, that's no longer required, so a considerably more simplified approach can be taken, but I'm not an expert, since I haven't used that approach. You see, I used that approach to install El Capitan when boot.efi wasn't as smart as it is now, but I no longer need to install it, nor do I have an extra machine (or an extra hard drive for that matter right now) to test the new approach. Perhaps Pike, Mike, Spiflingate or the other guys who've been working on this project can be more helpful in putting together a simpler installation guide.
#########
Thanks.

I will ask them how to install El Capitan.

Sincerely,

Don James
 
commit cf024fcf (compiled in VSE2015/Win10; boot.efi added to /System/etc. and /usr/etc. in a stock ElCap install):

splifingate$ ioreg -p IODeviceTree -d 2 -k board-id | grep board-id

"board-id" = <"Mac-F42C88C8">

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

"AppleSMBIOS"
"...4170706C6520496E632E004D61632D4634324338384338..." (Apple Inc. Mac-F42C88C8)

Good stuff.

I have yet to replace the createinstallmedia, and report from there . . . later . . . .
#########
What is the correct way to install El Capitan on a 2006/2007 Macpro that is currently running Lion?

Thanks,

Don James
 
What I can tell you is that wife is not amused. Asked me a couple of times to spent more time with her and our son, and I am about to give her what she/my son deserve; a nice holiday soon.

-Pike

Yes, you definitely do deserve a holiday !
Hopefully you can get some good quality time in with the family now !
Thanks again for all the hard work !

- Jay
 
  • Like
Reactions: splifingate
Pike:

I partitioned a new fixed-disk two nights ago with two handfuls of partitions, upon each of which I re-imaged various backup images.

I now have Mavericks, Yosemite and ElCap updated to latest, and running/booting well.

The images, attached, are said running with commit 2a477f05 boot.efi's compiled in VSE2015 on Win10

[edit: new photo attachments, soon [edit:edit] sn's redacted]

In each, my board-id is listed as factory "Mac-F4208DC8", and I am unable to download the latest ElCap from the App Store.

I regressed, each, to commit 46a02b4f for comparison in my next posting...
 

Attachments

  • image.jpeg
    image.jpeg
    2.8 MB · Views: 239
  • image.jpeg
    image.jpeg
    4.2 MB · Views: 176
  • image.jpeg
    image.jpeg
    3.8 MB · Views: 131
  • image.jpeg
    image.jpeg
    2.3 MB · Views: 181
Last edited:
regression to commit 46a02b4f:

splifingate$ ioreg -p IODeviceTree -d 2 -k board-id | grep board-id

"Mac-F42C88C8"

All-across the board....

[edit: I can d/l ElCap from the App Store with 46a03b4f]

In commit a6d29c77, line 31 in StdAfx.h was:

31: #define BOARD_ID_REPLACEMENT "Mac-F42C88C8"

commit c7494b78

replaced that with:

31: #define MACPRO_31
32: #define MACBOOKPRO_31

I just don't understand #if and #else enough to play with the code...
 

Attachments

  • image.jpeg
    image.jpeg
    4.1 MB · Views: 159
  • image.jpeg
    image.jpeg
    4.1 MB · Views: 157
  • image.jpeg
    image.jpeg
    3.8 MB · Views: 163
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.