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

teameurox

macrumors regular
Oct 26, 2010
186
20
Follow these instructions if you have just installed El Capitan, or are already using El Capitan and want automatically put the modifications in place during updates.

============== Edit ==================
This has been tested from initial install 10.11 to 10.11.1, and from 10.11.1 to 10.11.2.
There may be an issue once at 10.11.2 which might prevent a smooth upgrade to 10.11.3 when it arrives - under investigation
For now it should work well....

I think it was just bad setup on my system (I had a bad entry in the paths file), worry over I hope!
===================================

While Pike is recuperating (take your time Pike :) ), I have figured out how to set up our working El-Capitan installs so that they will survive the Apple update mechanisms. You will need to install your choice of "pike yos fix" the updated version now called CapitanPikeFix is at post #1253 (courtesy of @666sheep) , or my very own Boot64 stuff, they both pretty much do the same thing. My Boot64 stuff installs a Launch Daemon that watches the boot.efi files, if they get changed (by the Apple update) it simply puts the Pike copies back!

"Ah, but SIP stops them working!" I hear you cry. True!

But, we can exclude the boot.efi files from SIP - here's how:

I will assume your working El-Capitan is on the hard disk named Macintosh HD - change it to suit

  • You don't need to do steps 1, 2, 3, and 4 if you have just used pikify3.1 (v3 or higher) to install El Capitan From the post above because it's already done for you)
  1. Boot off another partition, I use the Recovery partition.
  2. Open a Terminal
  3. Code:
    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 from your other partition back into your normal El Capitan disk (Macintosh HD)
  5. Install CapitanPikeFix, or my Boot64 (attached)
  6. If you are going to install my Boot64, download the zip file below, unzip it, and double-click it, follow the installer prompts (you might need to allow it with Gatekeeper - if you get a "can't install" message, try opening System Preferences > Security & Privacy > General, look for the "Open anyway" button). If that doesn't work, choose 'Anywhere' from the options and try again... (Don't forget to put this option back to your preference after Boot64 is installed!)
  7. Sit back and enjoy El-Capitan o_O
I don't claim to have discovered this fix. I'm simply good at using search engines, and then realising how this fits together. The credit goes to the Hackintosh community again. See http://www.idelta.info/archives/sip-rootless-internal-in-el-capitan/

I've tested this with a clean install of El Capitan 10.11 and successfully installed the 10.11.1 update from the App Store, and from a clean install using the 10.11.1 downloadable update.

I will modify my pikify3.1 script bundle with this mod already in. Look out for pikify3.1.v3.zip pikify3.1.v#.zip at post #1390 ...

===================== Version 2 ============================

V2 includes mods to watch the SIP/Sandbox paths file in addition to the boot.efi files

===================== Version 3 ============================

Fixes an issue identified with the 10.11.2 update.
If you are using Boot64 AND you have already updated to 10.11.2 then you should probably check your system, see post #1484



I keep trying to do this but am reaching errors when I get to the echo's I get permission denied
 

rthpjm

macrumors 6502a
Jan 31, 2011
720
309
U.K.
I keep trying to do this but am reaching errors when I get to the echo's I get permission denied
It is difficult to diagnose the problem with no supporting information!!!

Q1: have you booted from another partition?
Q2: is it the Recovery HD or another Mac OS partition?
Q3: what is the volume name of your El Capitan disk?
[doublepost=1453639475][/doublepost]

Post an example of what you typed and copy of the error message you are getting.

You have to help us to help you. Just saying "it doesn't work" is not helpful.
 
Last edited:

Obibob

macrumors member
Dec 11, 2014
47
2
l,estartit spain
It is difficult to diagnose the problem with no supporting information!!!

Q1: have you booted from another partition?
Q2: is it the Recovery HD or another Mac OS partition?
Q3: what is the volume name of your El Capitan disk?
[doublepost=1453639475][/doublepost]

Post an example of what you typed and copy of the error message you are getting.

You have to help us to help you. Just saying "it doesn't work" is not helpful.
I do believe you have replied to the wrong quote as I have no problems
 

sarthak

macrumors 6502
Nov 19, 2012
467
6
UPDATE: 10.11.3 Success

Did a full package update from 10.11.1 ---> 10.11.3 and it booted back into recovery mode (which is 10.11.2).

On a second mac, downloaded boot.efi and copied it to a USB.

Then on the Mac Pro I copied it back using the following terminal commands.

diskutil list
diskutil mount /dev/disk2s1 [MOUNT Macintosh RAID]
diskutil mount /dev/disk4s1 [MOUNT USB]
cp /Volumes/USB/boot.efi /Macintosh\ RAID/System/Library/Extensions/
cp /Volumes/USB/boot.efi /Macintosh\ RAID/usr/standalone/i386/
 
Last edited:

splifingate

macrumors 68000
Nov 27, 2013
1,900
1,694
ATL
UPDATE: 10.11.3 Success

Did a full package update from 10.11.1 ---> 10.11.3 and it booted back into recovery mode (which is 10.11.2).

On a second mac, downloaded boot.efi and copied it to a USB.

Then on the Mac Pro I copied it back using the following terminal commands.

diskutil list
diskutil mount /dev/disk2s1 [MOUNT Macintosh RAID]
diskutil mount /dev/disk4s1 [MOUNT USB]
cp /Volumes/USB/boot.efi /Macintosh\ RAID/System/Library/Extensions/
cp /Volumes/USB/boot.efi /Macintosh\ RAID/usr/standalone/i386/

I'm currently running OS X El Capitan Version 10.11.3 (15D21) . . . the update from 10.11.2 -> 10.11.3 did not modify the boot.efi in either ../System/Library/CoreServices or ../usr/standalone/i386

You can--of course--copy boot.efi to ../System/Library/Extensions/ . . .

. . . but . . . you must also copy it to ../System/Library/CoreServices

Code:
cp /Volumes/USB/boot.efi /Macintosh\ RAID/System/Library/CoreServices

for OS X to function next-update (or next (I hope the need not arise for a long, long time <smile>)).

Pike's boot.efi needs to be resident in only:

Code:
../System/Library/CoreServices

and

Code:
../usr/standalone/i386

for Mavericks/Yosemite/El Capitan to boot.

Congrats on your success ;)

Regards, splifingate
 

Perza_A

macrumors newbie
Jan 12, 2016
5
0
I just killed my 10.11.3 installation with the combo update. Replaced my PC GTX570 graphics into Radeon5850/5870 card and wanted everything to be in place concerning the adapter change. It's a Mac flashed Sapphire Toxic 1Gb card. Oddly, I'm having difficulties to beginning fresh install with the USB stick I made for installing Capitan in first place. It's stuck in Apple logo with a full bar under it.. Not looking good in my point of view :eek:/
 

chackett

macrumors member
Feb 12, 2015
47
7
Wallingford, CT
I just killed my 10.11.3 installation with the combo update. Replaced my PC GTX570 graphics into Radeon5850/5870 card and wanted everything to be in place concerning the adapter change. It's a Mac flashed Sapphire Toxic 1Gb card. Oddly, I'm having difficulties to beginning fresh install with the USB stick I made for installing Capitan in first place. It's stuck in Apple logo with a full bar under it.. Not looking good in my point of view :eek:/
Just replace the boot.efi files in the two locations noted in the post above. You'll have to boot off of a non-Capitan partition (boot in recovery mode, boot off of USB installer, boot off of a different drive/partition) first, but it's not difficult.
 

jmcpheeters

macrumors newbie
Nov 1, 2015
1
0
I performed the 10.11.3 update from the App Store without incident.

I had success just now on a Mac Pro 1,1. I'd reinstalled 11.2 with Pikify so it would be able to auto update and this was my first test which went without a hitch except that NVIDI Driver Manager opened with a warning that it was using Apple's Default driver until an update is available... and in a few moment it revised to say a new NVIDIA Web Driver is available with a button to Install. Seems to be working fine now. I'll now go ahead with the Mac Pro 2,1 and see how it does.
 

nilk

macrumors 6502a
Oct 18, 2007
691
236
The 10.11.3 update (from the App Store, NOT a combo update) did overwrite my boot.efi and make my Mac Pro 1,1 unbootable. No big deal, I just put it in target disk mode, mount it from my MBP, and copy boot.efi to the two locations.

The part that I always have to lookup is, for the boot.efi that goes in System/Library/CoreServices, I need to remove protection before I can copy:

chflags nouchg boot.efi​

And after I copy re-enable protection:

chflags uchg boot.efi​
 

hkbladelawkhk

macrumors member
May 25, 2010
83
0

Hey Guys, I made a disk image from an fresh-installed-but-not-yet-signed-up OS X El Capitan that is ready to restore to any drive in Disk Utility. You can find it here.
https://drive.google.com/file/d/0B-uFsu7HWmRgVDg1aDFoQ2lYWHM/view?usp=sharing
Checksum:
MD5: e48e73c1086f946d77b9c9bb20183c8e
SHA1: 431200375866d71808ccfe86219eeafb56648ca7

All you need to do after restoring is to replace both boot.efi with Piker's in the two directories:
System/Library/CoreServices/boot.efi and usr/standalone/i386/boot.efi

I hope this can help those who are like me doesn't happen to have another Mac.

I tried this after reading tu154's #post1090, I thought it makes sense to do so, when you don't have another compatible Mac Pro lying around (I trust most of us don't.)

After failing to create my own modified installer (honestly I really don't know where I can find the steps to do it...), I began to scanning through this thread. I see some people just updated from App Store? Now sure how they were able to do it because mine before even let me start installing, it says "can't be installed on this Mac" something. I don't know if those who did it are on a different Mac Pro or they changed system information or something, and I didn't have the patience to really read through people's posts to find a solution...

So I decided to try tu154's method to install El Capitan in a virtual machine and clone the drive out. After messing around with it a bit I actually was able to pull out a fresh and yet to set up system disk image and when I tried it on my SSD, everything worked like charm.

Q2wS1an.png

(Just ignore that hilarious 7GB RAM... One of my memory stick is not working...)

I have only tested this on my Mac Pro 1,1, but theoretically is should work with all Macs, right? I'm not sure though.

My question is: is there now a way yet to prevent boot.efi from being overwritten by a system update?

Also, please donate to Piker cuz he is awesome.

Even with the boot.efi in both standalone and coreservices, cleared the boot plist. I boot to the drive and get a kernel panic. Any thoughts?
 

Attachments

  • 20160128_172228.jpg
    20160128_172228.jpg
    66.4 KB · Views: 124
Last edited:

ptmoy2

macrumors newbie
Jan 29, 2016
2
0
Some of the guys that were working with Pike split off into a new thread to concentrate on just the development and testing of Pike's frequent changes, "the developer thread". As these things go, the volunteers that were testing Pike's changes found that they needed to frequently wipe and re-install, me included, so I developed a bundle of scripts and items to ease the install of a new El Capitan. My innovation (if you want to call it that) was to find a way to patch the fresh install with Pike's efi files during the install. I called my bundle of scripts and items 'pikify3.1.zip'.

Since it is now well used and tested, I'll cross post here. The latest version pikify3.1.v8.zip will build install media with all the fixes in (but not including my Boot64 update protector, nor the equivalent pikeyosfix derivative CapitanPikeFix - see the next post). This version also excludes the boot.efi files from SIP-control (meaning SIP is running and protecting everything else, just not the boot.efi files).

So with pikify3.1 you will build an installer onto media, typically a USB memory stick, or a small disk partition.
You will then boot off the installer, to run the installation process. Once the installer finishes, you will have a working copy of El Capitan with no further need for changes. You can then choose to install the updated version of pikeyosfix now called CapitanPikeFix, or my Boot64 (both do pretty much the same thing), to allow you to run the Apple updates from either the App Store or from the DMG downloads.

READ ALL THE CAVEATS - memory, backup, fresh install, migration assistant, etc...

Use this if you have not yet installed El Capitan - this is the installer (starting point)

-----------------------------------------------------------------------------------------------

ORIGINAL POST WAS AT POST #807 of the 'boot.efi developer's thread'

============= Edit =====================

It appears that MacPro1,1 and 2,1 need a lot of memory to achieve a successful install by this method. Others have kindly tested with varying configurations of RAM. See the later posts in the developers thread and my post at #855

A minimum of 12GB seems to be required...

============ end edit ====================

Hi @Inspector42, I'm glad you were able to use my script. I like your rsync idea!

Here is a new script and accompanying files. This one is based around Apple's createinstallmedia script.

The unique feature of this script is that it builds an installer which will pre-patch the resulting El Capitan volume. What this means is that the installer can be run, and then the reboot will work without any further modification. You have a working installation of El Capitan directly from the installer.

Download the zip file.
Unzip it.
You should have a folder named pikify3.1 (possibly with the version number pikify3.1.v2 etc)
In that folder should be a number of files, the script is createpikeinstallmedia. Keep all the files in one location. Some people have tried to use just the script on its own without the accompanying files and then come back for help because it didn't work. You can move the pikify3.1 folder wherever you please, just keep the contents of the folder together.

If you are not familiar with the Terminal and the command line, take a look at post #1569 it will probably help you.

Pre-requisites:

  • As per Peter's guide, you will need a volume that can be overwritten by the installer
    • This could be a USB memory stick
    • A small disk partition from one of your hard drives (not the disk that you intend to use for El Capitan)
      • You need to be able to boot from this volume
  • The installer volume needs to be at least 8GB
  • Your copy of 'Install OS X El Capitan.app' should be located in your /Applications folder
  • The pikify3.1 folder contains both the black and grey variants of the boot.efi file. When unzipped the boot.efi file is the grey one, if you want to change to the black background variant, simply copy the black one over the boot.efi before you start. e.g.
    Code:
    cp -f boot_black_3_1.efi boot.efi
Usage:
  • Open a terminal window
  • Change directory to the pikify3.1 folder from the zip file. Let us assume that you downloaded the zip file to your Downloads folder and unzipped it there. (If you have put the pikify3.1 folder somewhere else, please alter the path to suit your location)
  • Change [InstallerVolumeName] to the name of the USB memory stick or your small disk partition. For example if you are using a USB memory stick and it shows on the desktop with the name Untitled, then replace [InstallerVolumeName] with Untitled so that the path reads /Volumes/Untitled
Code:
cd ~/Downloads/pikify3.1
  • You need to run the script as the root user
Code:
sudo -s
[your password]
./createpikeinstallmedia /Volumes/[InstallerVolumeName]

  • OR
Code:
sudo ./createpikeinstallmedia /Volumes/[InstallerVolumeName]
[your password]
  • OR (optionally switch to the black background variant before you start)
Code:
sudo -s
[your password]
cp -f boot_black_3_1.efi boot.efi
./createpikeinstallmedia /Volumes/[InstallerVolumeName]

Be patient, the script will take some time to run through to completion, especially if your installer volume is a USB memory stick!

Once the script competes it will print ### DONE PIKIFYING ### and you should have an installer volume named 'Install OS X El Capitan'
  • Reboot your machine
  • Hold the ALT key down immediately after the startup chime to enter the boot chooser
  • Choose the Install OS X El Capitan volume
    • For those people with graphics cards that don't show the boot screens
      • Get to the boot chooser as above then press the right-arrow key once, followed by the return/enter key). If you have just your main disk and the installer volume this should work. If you have more than just those two, experiment pressing the arrow key more than once until you find the installer volume!
      • OR, consider getting hold of a DVI-vga adaptor. You should be able to find one of your DVI ports that will send out a VGA signal (to a VGA connected monitor) and show you the boot screen.
Your machine should boot into the Installer, run the installer
You may need to click the Reboot button at the end of the install (for some reason, the 10 second countdown doesn't seem to automatically start)

Your machine should reboot into the new El Capitan Installation and begin the OS X setup procedure.

I have only tested this script as a clean install onto an erased destination disk. I don't know if it will work for an upgrade. I have successfully updated a Yosemite clean install to El Capitan.
If you are upgrading I would suggest a clean install of El Capitan onto a spare disk, then use the Apple Migration Assistant to migrate your previous system and user files.
If you are brave and want to try an in-place upgrade, make sure you backup your current system first...

Detail:

I created an additional package (pikify.pkg) which handles the post-install modification of the boot.efi files on the destination volume. The script puts pikify.pkg into the InstallESD.dmg, along with OSInstall.collection.
OSInstall.collection overrides the default behaviour of the Installer Assistant, it calls the default OSInstall.mpkg and appends pikify.pkg to the install chain.

In effect I'm running the exact same installation as an unmodified Apple install with the addition of my pikify.pkg.

Because the default behaviour has been overridden, there are a few differences:
  • An unmodified Apple installer will open with the /System/Installation/CDIS/OS X Utilities.app
    • The modified installer goes straight into the Installer
  • An unmodified Apple installer will automatically reboot 10 seconds after the installation completes
    • The modified installer doesn't, you will have to click the Reboot button
I've included both versions (black and grey) of Pike's 3.1 boot.efi file. If you want to change the colour, overwrite the boot.efi file in the pikify3.1 folder with the coloured version of your choice. The zip file unpacks with the grey version in place.

Enjoy...

======================== UPDATE ================================

The original Apple BaseSystem.dmg appears to be missing a number of fonts. This causes the installer log file to fill up with thousands of unnecessary lines complaining about the missing fonts. I've updated the installer creation script to fix the missing fonts. It just makes the log file smaller and easier to read and follow.

See pikify3.1.v2.zip in the attachments...

==================== ANOTHER UPDATE =============================

I figured out how to set up El Capitan so that we can make it survive an Apple update. See my post at post #1391

I've modified the pikify3.1 set so that those changes are automatically applied.

I'll leave v2 here in case anyone is paranoid, and doesn't want the slight lowering of SIP's security blanket!

==================== Version 5 ===================================

V5 includes some mods to the SIP exclusion paths file

==================== Version 7 ===================================
(includes version 6, which added support for home-baked fusion drives)
V7 adds error checking and a bit of an explanation to start

==================== Version 8 ===================================
V8 adds a check to ensure there is a copy of the Apple Install OS X El Capitan application located in the Applications folder!




I followed the instructions from #1390 using pikify3.1.v8 to create the installer volume, and successfully installed El Capitan 10.11.2 onto my MacPro 1,1. Everything works as expected. Now, I would like to install Boot64.v3.mpkg so that the installation will survive an Apple update. If I read #1390 & #1391 correctly, I get the impression that Boot64 is already included in pikify3.1.v8 and I don't have to install it separately. Is this the case or do I still have to install Boot64 using instructions provided in #1391?
[doublepost=1454103314][/doublepost]
I had success just now on a Mac Pro 1,1. I'd reinstalled 11.2 with Pikify so it would be able to auto update and this was my first test which went without a hitch except that NVIDI Driver Manager opened with a warning that it was using Apple's Default driver until an update is available... and in a few moment it revised to say a new NVIDIA Web Driver is available with a button to Install. Seems to be working fine now. I'll now go ahead with the Mac Pro 2,1 and see how it does.



Did you use Pikify3.1.v8? Did you have to install Boot64 separately per instructions given in #1391?
 
Last edited:

rthpjm

macrumors 6502a
Jan 31, 2011
720
309
U.K.
I followed the instructions from #1390 using pikify3.1.v8 to create the installer volume, and successfully installed El Capitan 10.11.2 onto my MacPro 1,1. Everything works as expected. Now, I would like to install Boot64.v3.mpkg so that the installation will survive an Apple update. If I read #1390 & #1391 correctly, I get the impression that Boot64 is already included in pikify3.1.v8 and I don't have to install it separately. Is this the case or do I still have to install Boot64 using instructions provided in #1391?
[doublepost=1454103314][/doublepost]



Did you use Pikify3.1.v8? Did you have to install Boot64 separately per instructions given in #1391?
Hello ptmoy2,

The first 4 steps of post #1391 are already in place if you used pikify3.1v8. You will still need to complete the remaining steps.

BTW, the App Store update to 10.11.3 (from 10.11.2) does not replace the boot.efi files, therefore you can upgrade without Boot64.
[doublepost=1454148336][/doublepost]
Even with the boot.efi in both standalone and coreservices, cleared the boot plist. I boot to the drive and get a kernel panic. Any thoughts?
Hello hkbladelawkhk,

Lots of users have reported random kernel panics (KPs) with El Capitan installs. In all cases that I know of, those users have reported that they still have original 512Mb memory sticks installed. We have advised everyone to buy new memory of at least 2Gb per sticks and replace their memory. Buy as much as you can afford.

In all known cases, once the 512Mb sticks have been removed and replaced, the system has stabilised.

Alternatively, using a pre-built disk image as your install method may also be contributing. I'm biased of course because I'm the author of the pikify3.1 installation method (page 56, post 1390).... You might consider reinstalling using the pikify3.1 method....

If you still get KPs, then it is almost certainly RAM that is your issue.
 

ptmoy2

macrumors newbie
Jan 29, 2016
2
0
Hello ptmoy2,

The first 4 steps of post #1391 are already in place if you used pikify3.1v8. You will still need to complete the remaining steps.

BTW, the App Store update to 10.11.3 (from 10.11.2) does not replace the boot.efi files, therefore you can upgrade without Boot64.
[doublepost=1454148336][/doublepost]
Hello hkbladelawkhk,

Lots of users have reported random kernel panics (KPs) with El Capitan installs. In all cases that I know of, those users have reported that they still have original 512Mb memory sticks installed. We have advised everyone to buy new memory of at least 2Gb per sticks and replace their memory. Buy as much as you can afford.

In all known cases, once the 512Mb sticks have been removed and replaced, the system has stabilised.

Alternatively, using a pre-built disk image as your install method may also be contributing. I'm biased of course because I'm the author of the pikify3.1 installation method (page 56, post 1390).... You might consider reinstalling using the pikify3.1 method....

If you still get KPs, then it is almost certainly RAM that is your issue.



Hi rthpjm,

I'm a bit confused by the steps in #1391. The purpose of steps 1 to 4 is so that the commands shown in step 5 can be executed, and I read step 5 to mean actually executing the commands shown. So steps 1 to 4 doesn't do anything by themselves. When you say "the first 4 steps of post #1391 are already in place if you used pikify3.1v8", do you mean I don't have to execute the commands shown in step5, and therefore just do steps 6 and on?
 

Ant3000

macrumors 6502
Jul 20, 2015
374
46
UK
I think what is meant is that if you install El Capitan using Pikify3.1v8 the first 4 steps are done within the script - what remains to do after that is to install Boot64 to allow updates from the App store. Worked for me like that anyway.
 

rthpjm

macrumors 6502a
Jan 31, 2011
720
309
U.K.
Hi rthpjm,

I'm a bit confused by the steps in #1391. The purpose of steps 1 to 4 is so that the commands shown in step 5 can be executed, and I read step 5 to mean actually executing the commands shown. So steps 1 to 4 doesn't do anything by themselves. When you say "the first 4 steps of post #1391 are already in place if you used pikify3.1v8", do you mean I don't have to execute the commands shown in step5, and therefore just do steps 6 and on?
I recently edited the post. Step 5 has got mixed up with the code box, it's because I edited on my iPad.

Start at the current step 6/7
 

wolf1734

macrumors regular
Nov 9, 2014
147
17
France
Hello rthpjm
when I download since the app blind El Capitan he(it) goes to the lauchpad and I do not know how to put him(it) in the file(case) application thus I cannot created the key usb of starting up. Need for help(assistant) thank you very much
 

pgrif

macrumors regular
Sep 4, 2012
198
0
Eugene, OR
MY Mac Pro 2,1 with nvidia Geforce GT120 is running 10.11.1 and randomly reboots. Does not happen when running Lion, Any ideas?
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.