Mac Pro 1,1 Mavericks, Yosemite, and El Capitan

Note for El Capitan users


El Capitan has a new protection mechanism SIP (System Integrity Protection). With this enabled (default) any operation that could previously be achieved by the root user (like replacing system files) is heavily restricted. This method will now work on a SIP-enabled El Capitan system, however you need to make some changes first...

You will need to exclude the boot.efi files from SIP, thus making them writable (overwrite) again.
To do this:

  1. Boot off another partition/disk. (I use the Recovery partition)
  2. Open up a Terminal
  3. Enter the following commands:
    Assuming your El Capitan disk is called 'Macintosh HD', if not change it to suit your machine

    chflags nouchg /Volumes/Macintosh\ HD/System/Library/CoreServices/boot.efi

    echo "/System/Library/CoreServices/boot.efi" >> /Volumes/Macintosh\ HD/System/Library/Sandbox/Compatibility.bundle/Contents/Resources/paths

    echo "/usr/standalone/i386/boot.efi" >> /Volumes/Macintosh\ HD/System/Library/Sandbox/Compatibility.bundle/Contents/Resources/paths

    echo "/System/Library/Sandbox/Compatibility.bundle/Contents/Resources/paths" >> /Volumes/Macintosh\ HD/System/Library/Sandbox/Compatibility.bundle/Contents/Resources/paths

  4. Reboot back to your El Capitan disk

The Macintosh community has worked hard to enable recent versions of Apple Mac OS X to run on older Apple hardware. To support this effort I have created a Launch Daemon item that ‘watches’ the replacement boot.efi files. If those files are changed, then the Launch Daemon will replace them with the community version.

There are two options for installation, you will find both inside the disk image attached to this article:
1. A graphical installer (mpkg)
2. A compressed tape archive a.k.a. a tar file (tgz)

Open the disk image by clicking on it

To install using the graphical installer

1. Drag the uk.co.rthpjm.Boot64.mpkg file from the open disk image to a convenient location (Desktop)
2. Double-click the installer and follow the prompts

(Tip: if Gatekeeper warns that the installer is unsigned, you should be able to open System Preferences, choose the Security & Privacy icon, choose the General tab, and click the Open anyway button)

To install from the tar file:

1. Drag the Boot64.tgz file from the open disk image to a convenient location (Desktop). This is a gzipped tar file.
2. Open up a Terminal ( Applications : Utilities : Terminal )
3. In the Terminal window type

cp ~/Desktop/Boot64.tgz /tmp
cd /
sudo tar zxvf /tmp/Boot64.tgz
You might be asked to enter your password
rm /tmp/Boot64.tgz
4. If all goes well you can now start the LaunchDaemon item by typing the following
sudo launchctl load /Library/LaunchDaemons/uk.co.rthpjm.boot64.plist
You might be asked to enter your password
sudo launchctl start uk.co.rthpjm.boot64

If all goes well, that should be it. For the curious, you can open the Console application and check the system.log (use the search field to filter for ensureBoot.sh). You will see lines similar to these.

Feb 13 15:25:12 macpro.local ensureBoot.sh: Not using the black boot.efi. Switching over...
Feb 13 15:25:12 macpro.local ensureBoot.sh: Not using the grey boot.efi. Switching over...
Feb 13 15:22:50 macpro.local ensureBoot.sh: Now using the black boot.efi. Nothing else to do.

In detail

The Boot64.tgz file contains the following files:

Library/Application Support/Boot64/boot.efi.apple.10.10
Library/Application Support/Boot64/boot.efi.apple.10.11
Library/Application Support/Boot64/boot.efi.black
Library/Application Support/Boot64/boot.efi.grey
Library/Application Support/Boot64/bootbase.efi
Library/Application Support/Boot64/ensureBoot.sh
Library/Application Support/Boot64/PlatformSupport.plist
Library/LaunchDaemons/uk.co.rthpjm.boot64.plist

The interesting files are the LaunchDaemon plist, and the shell script ensureBoot.sh. The LaunchDaemon’s sole purpose is to "watch" the two boot.efi files, when a change is detected it will run the ensureBoot.sh script.

The script will replace the two boot.efi files with your choice of Pike R Alpha alternatives, either the black version or the grey version.

"How do I select the type of replacement file?" I can hear you asking already. Well, out of the box the script will default to the black version. If you want to change it, open the terminal and run the script like this:

For the grey background

sudo /Library/Application\ Support/Boot64/ensureBoot.sh -g
You might be asked to enter your password

For the black background

sudo /Library/Application\ Support/Boot64/ensureBoot.sh -b
You might be asked to enter your password

Your preference is remembered by setting a global default. You can check the setting any time in a terminal by typing:

defaults read -g uk.co.rthpjm.Boot64.defaultBootType

Have fun
Paul

Attachment: