Now I'm going to publish method 3 v3 (m3v3) in Post #1, I'll copy here the m3v2.
If you have an EFI64 unsupported Mac and you are using the default El Capitan EFI64 boot.efi you will need m3v2 to disable SIP to it. If you have an EFI32 Mac, I recommend you to use m3v3 in post #1.
Try this method on an external HDD. The method has been updated to v2 and successfully tested on MB 2,x, MB3,x and MBP 2,x. It can work on eventually all the other EFI32/EFI64 unsupported Macs if you have the kexts you need.
Note: You can find the method 3 v1 in post #892 of this same thread.
Prerequisites: A computer with El Capitan installed and SIP disabled (or a computer with Yosemite and -no_compat_check kext-dev-mode=1 boot flags in /Library/Preferences/SystemConfiguration/com.apple.Boot.plist), and an external HDD.
1- First of all, you need an external 2,5” HDD or SSD. It has to be GUID HFS+ formatted. If you format it from El Capitan, it formats the hard disk in this way by default. I will suppose its name is "Capitann". This will create a HFS+ partition and an EFI partition automatically.
2- Using the computer with El Capitan/Yosemite installed, clone the partition where you have El Capitan to your external HDD, the one you have formatted on step 1. The source computer can be a real Mac, or even a Hackintosh. You can use Carbon Copy Clone (CCC) or SuperDuper! I have used both of them and they worked well.
If you use El Capitan, you need SIP disabled. To do that, boot from your El Capitan Mac from Recovery Partition, go to utilities, open a terminal, and write csrutil disable and reboot. You need to do all the next steps from a El Capitan with SIP disabled. Yosemite doesn't need this, because it doesn't have SIP.
3- Boot.efi we need. There are two possibilities.
If you have an EFI64 unsupported Mac (like MB4,1, for example), thanks to @rypatkelgo, we know you can use the EFI64 boot.efi El Capitan has got by default. Go to step 6, skipping steps 3, 4 and 5.
If you have an EFI32 Mac, you need this boot.efi, designed to be able to disable SIP, created by @vsbalint70, modifying the code from Pike R Alpha original boot.efi.
Once downloaded, we need to change flags. From terminal (remember I'm supposing your Capitan partition is called "Capitann"):
4- From Finder, use the "Go" menu and select "Go to folder..."
Open /Volumes/Capitann/System/Library/CoreServices/ and copy there the EFI32 boot.efi from where you have it (probably your Downloads folder).
Important: If you find here a file called firmware.scap, you must delete it and empty trash.
Open /Volumes/Capitann/usr/standalone/i386/ and do the same.
Important: If you find here a file called firmware.scap, too, you must delete it and empty trash.
We will assign the correct owner to them. From terminal:
5- We need kexts. We are using tones of kext from TRMJIJ - OS X Hackers. To make things easy, you have them all zipped here (all the kexts come from OS X Hackers). Download it, unzip the file, you will get some folders and one kext, copy the kexts you need (EC-Base-kexts are mandatory, LegacyUSBInjector.kext is optional and is used only if you have some known USB issues, copy the graphical kexts you need from its folder) into /Volumes/Capitann/System/Library/Extensions/.
Note 1: If you have cloned from a Hackintosh, check your kexts into /Volumes/Capitann/System/Library/Extensions/ and /Volumes/Capitann/Library/Extensions/. Maybe you have things you don't need. Some of them can give you problems, for example, AppleACPIPS2Nub.kext, ApplePS2Controller.kext, FakeSMC.kext, NullCPUPowerManagement.kext or some HDAEnablerx.kext or whatever, that is "very Hackintosh". If you have these kexts in these folders, remove them now.
Note 2: If you have an ATI graphics card, to get the 128 MB of RAM recognised, you have to go into /Volumes/Capitann/System/Library/Extensions/ and delete this file: AMDSupport.kext
6- Before doing step 7, you need to be sure you have an important folder, which is not always cloned.
Open in Finder /Volumes/Capitann/System/Library/Caches/ Do you have com.apple.kext.caches/ folder?
If not, open /System/Library/Caches/ in another window of the finder, and drag and drop com.apple.kext.caches/ from /System/Library/Caches/ to /Volumes/Capitann/System/Library/Caches/.
After that, open a terminal and:
Note: If you don't have com.apple.kext.caches/, in step 9 you can get a message like:
Can't create /Volumes/Capitann/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache.l9a9 - No such file or directory and El Capitan won't boot.
7- Now we will set boot flags and use them every time we boot. From terminal:
You will see:
<key>Kernel Flags</key>
<string></string>
You want to have:
<key>Kernel Flags</key>
<string>-no_compat_check kext-dev-mode=1 mbasd=1</string>
Or, if you want verbose mode, too, add -v flag:
<key>Kernel Flags</key>
<string>-no_compat_check kext-dev-mode=1 mbasd=1 -v</string>
Note: we need these flags, they are mandatory to have all the kexts loaded, excepting mbasd=1, that is only required by MBAirs.
To go out from nano editor, Ctrl+X and say "y".
8- Now we want to have our kexts permissions in good condition. From terminal:
9- Now we are going to build the prelinked kernel and kernelcache:
The terminal should give you messages like these:
/Volumes/Capitann locked; waiting for the lock.
Lock acquired; proceeding.
kext-dev-mode allowing invalid signature -67054 0xFFFFFFFFFFFEFA12 for kext IOUSBHostFamily.kext
(...)
kext-dev-mode allowing invalid signature -67054 0xFFFFFFFFFFFEFA12 for kext AppleStorageDrivers.kext
kext-dev-mode allowing invalid signature -67050 0xFFFFFFFFFFFEFA16 for kext AppleIntelIntegratedFramebuffer.kext
kext-dev-mode allowing invalid signature -67061 0xFFFFFFFFFFFEFA0B for kext AppleIntelGMA950.kext
(...)
AppleDataSetManagement.kext - dependency for com.apple.iokit.IOAHCIBlockStorage lacks valid OSBundleCompatibleVersion.
AppleDataSetManagement.kext is missing dependencies (including anyway; dependencies may be available from elsewhere)
Created mkext archive /Volumes/Capitann/System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext.
Note 1: AppleDataSetManagement.kext messages will be shown if you have an SSD and TRIM enabled.
Note 2: If you get messages saying permissions are not correct, or omitting... repeat steps 5, 6 and 8 until you get these messages saying "kext-dev-mode allowing invalid signature..". Be sure you are doing all the steps (especially the terminal commands) correct, and in the correct order. If you have an ATI, and have deleted AMDSupport.kext, you will get some "omitting from prelinked..." messages, it's ok.
Note 3: If you get a message saying "Can't create...", do the step 6 again, it hasn't been done.
Note 4: if you are on a Hackintosh, you can get messages like:
SoftRAID.kext has incorrect permissions; omitting.
(...)
ACS6x.kext has incorrect permissions; omitting.
Some of these kexts are from Hackintosh and will not be needed. Other ones, like HandsOff.kext, can be from some app you have installed. Be sure you are not omitting something important, as the kexts the prior command has loaded (AppleHDA.kext or similar), and don't care for the rest.
10- Now we can change flags to boot.efi, and protect it again. From terminal:
11- Now El Capitan can boot but it has SIP enabled. Don't try to boot from it now. First, we need to have rEFInd installed, to disable SIP. If you boot from El Cap now, you will enable SIP and you will have troubles installing rEFInd.
USB Issue: The USB kexts we are using have one trouble. Left USB is not always recognised, unless you boot El Capi with some USB device connected on the left USB port. The right USB works better, you don't need to have something connected when booting to have it recognised.
Brightness adjustment: Shady app can help you. It's included in the OS X Hackers graphical kexts installers.
12- Now it's a good moment to clone your external HDD to your internal HDD of your unsupported Mac. If you do this after installing rEFInd into your external HDD/SDD, rEFInd will probably be deleted and you will have to install it again. Or you can leave El Cap into the external HDD. We are going to install rEFInd to the internal HDD/SDD of your unsupported Mac.
a) Download rEFInd using this link. I suppose it will be downloaded into your Downloads folder. Unzip it. You will get a folder named refind-bin-0.10.8.
b) Now we will prepare the media to install rEFInd.
Mount the EFI partition of your internal HDD (it's called disk0s1). We will name it "ESP".
From terminal:
Go into /Volumes/ESP from Finder (maybe it will be called EFI on Finder sidebar). Go into the folder called EFI. Important: delete everything inside this EFI folder (/Volumes/ESP/efi/) and empty trash. You don't have to have an Apple folder: inside of it there's the infamous file called firmware.scap that prevents EC to be able to boot.
c) Now we will copy rEFInd. From the terminal:
d) Now we will create the default refind config file.
f) Now we will enable the SIP disabling feature. Open the refind.conf file with nano editor.
Add these two lines to the file:
Go out from nano, saving the file.
Now, rEFInd will set SIP to disabled by default.
g) Now we will tell our computer to boot from rEFInd. From terminal,
If you have an EFI64 Mac:
If you have an EFI32 Mac:
h) That's all. Reboot your computer and you should see the rEFInd boot manager.
NOTE: If you are having troubles installing rEFINd, I have written a workaround in post #901.
13- The final check.
One booted from El Cap on your unsupported Mac, open a terminal and type:
You should get this message: System Integrity Protection status: disabled.
And the last check, from the terminal, rebuild caches:
You should see the same output you got when you did step 9.
14- Now boot your Mac, look at the rEFInd boot screen, and boot from your El Cap partition.
Important notes about updating-upgrading and cloning:
1- If you do a major upgrade, for example, from El Cap 10.11.5 to 10.11.6 or similar, you will get all the kexts we added to /System/Library/Extensions in step 5 deleted, boot.efi deleted, the firmware.scap file will reappear everywhere... So, I recommend you having a bootable backup on an external HDD before upgrading anything, and be sure it boots correctly; so, after the upgrade, you can boot from there and repeat the process, from steps 3 to 12.
Your three goals: reinstalling the correct boot.efi, reinstalling kexts with the correct kext cache and prelinked kernel rebuilding, and deleting firmware.scap from your system again.
So, and basically, you will repeat m3v2, but not with another machine, but with yours.
2- When you clone El Cap partition to your internal HDD, Carbon or SuperDuper delete the EFI partition of your internal HDD: you will need to reinstall rEFInd there before booting el Cap. If, after installing rEFInd EC doesn't boot, do steps 6 and 9 of the m3v2 from your external drive to your internal drive, because the folder com.apple.kext.caches is not usually cloned and you need it. Then, EC will boot from your internal HDD/SDD.
3- Very important! Remember, don't boot from the upgraded/cloned El Cap unless you have rEFInd installed and working to not to enable SIP (SIP doesn't let us to boot from rEFInd, because it disables the blessing we do in step 12g, so if you boot from an non-SIP-disabled EC you will activate SIP and it will be very difficult to boot from rEFInd. Your only option will be booting from a rEFInd external USB stick: the process is described in post #901).
If you have an EFI64 unsupported Mac and you are using the default El Capitan EFI64 boot.efi you will need m3v2 to disable SIP to it. If you have an EFI32 Mac, I recommend you to use m3v3 in post #1.
Method 3 v2 - @skyfly555's method
Last Edit: 27th June 2017. Included the actions you need to avoid the firmware issue that prevents EC from booting.Try this method on an external HDD. The method has been updated to v2 and successfully tested on MB 2,x, MB3,x and MBP 2,x. It can work on eventually all the other EFI32/EFI64 unsupported Macs if you have the kexts you need.
Note: You can find the method 3 v1 in post #892 of this same thread.
Prerequisites: A computer with El Capitan installed and SIP disabled (or a computer with Yosemite and -no_compat_check kext-dev-mode=1 boot flags in /Library/Preferences/SystemConfiguration/com.apple.Boot.plist), and an external HDD.
1- First of all, you need an external 2,5” HDD or SSD. It has to be GUID HFS+ formatted. If you format it from El Capitan, it formats the hard disk in this way by default. I will suppose its name is "Capitann". This will create a HFS+ partition and an EFI partition automatically.
2- Using the computer with El Capitan/Yosemite installed, clone the partition where you have El Capitan to your external HDD, the one you have formatted on step 1. The source computer can be a real Mac, or even a Hackintosh. You can use Carbon Copy Clone (CCC) or SuperDuper! I have used both of them and they worked well.
If you use El Capitan, you need SIP disabled. To do that, boot from your El Capitan Mac from Recovery Partition, go to utilities, open a terminal, and write csrutil disable and reboot. You need to do all the next steps from a El Capitan with SIP disabled. Yosemite doesn't need this, because it doesn't have SIP.
3- Boot.efi we need. There are two possibilities.
If you have an EFI64 unsupported Mac (like MB4,1, for example), thanks to @rypatkelgo, we know you can use the EFI64 boot.efi El Capitan has got by default. Go to step 6, skipping steps 3, 4 and 5.
If you have an EFI32 Mac, you need this boot.efi, designed to be able to disable SIP, created by @vsbalint70, modifying the code from Pike R Alpha original boot.efi.
Once downloaded, we need to change flags. From terminal (remember I'm supposing your Capitan partition is called "Capitann"):
Code:
cd /Volumes/Capitann/System/Library/CoreServices/
sudo chflags nouchg boot.efi
cd /Volumes/Capitann/usr/standalone/i386/
sudo chflags nouchg boot.efi
4- From Finder, use the "Go" menu and select "Go to folder..."
Open /Volumes/Capitann/System/Library/CoreServices/ and copy there the EFI32 boot.efi from where you have it (probably your Downloads folder).
Important: If you find here a file called firmware.scap, you must delete it and empty trash.
Open /Volumes/Capitann/usr/standalone/i386/ and do the same.
Important: If you find here a file called firmware.scap, too, you must delete it and empty trash.
We will assign the correct owner to them. From terminal:
Code:
cd /Volumes/Capitann/System/Library/CoreServices/
sudo chown root:wheel boot.efi
cd /Volumes/Capitann/usr/standalone/i386/
sudo chown root:wheel boot.efi
5- We need kexts. We are using tones of kext from TRMJIJ - OS X Hackers. To make things easy, you have them all zipped here (all the kexts come from OS X Hackers). Download it, unzip the file, you will get some folders and one kext, copy the kexts you need (EC-Base-kexts are mandatory, LegacyUSBInjector.kext is optional and is used only if you have some known USB issues, copy the graphical kexts you need from its folder) into /Volumes/Capitann/System/Library/Extensions/.
Note 1: If you have cloned from a Hackintosh, check your kexts into /Volumes/Capitann/System/Library/Extensions/ and /Volumes/Capitann/Library/Extensions/. Maybe you have things you don't need. Some of them can give you problems, for example, AppleACPIPS2Nub.kext, ApplePS2Controller.kext, FakeSMC.kext, NullCPUPowerManagement.kext or some HDAEnablerx.kext or whatever, that is "very Hackintosh". If you have these kexts in these folders, remove them now.
Note 2: If you have an ATI graphics card, to get the 128 MB of RAM recognised, you have to go into /Volumes/Capitann/System/Library/Extensions/ and delete this file: AMDSupport.kext
6- Before doing step 7, you need to be sure you have an important folder, which is not always cloned.
Open in Finder /Volumes/Capitann/System/Library/Caches/ Do you have com.apple.kext.caches/ folder?
If not, open /System/Library/Caches/ in another window of the finder, and drag and drop com.apple.kext.caches/ from /System/Library/Caches/ to /Volumes/Capitann/System/Library/Caches/.
After that, open a terminal and:
Code:
cd /Volumes/Capitann/System/Library/Caches/
sudo chown -R root:wheel *.*
Can't create /Volumes/Capitann/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache.l9a9 - No such file or directory and El Capitan won't boot.
7- Now we will set boot flags and use them every time we boot. From terminal:
Code:
cd /Volumes/Capitann//Library/Preferences/SystemConfiguration/
sudo nano com.apple.Boot.plist
You will see:
<key>Kernel Flags</key>
<string></string>
You want to have:
<key>Kernel Flags</key>
<string>-no_compat_check kext-dev-mode=1 mbasd=1</string>
Or, if you want verbose mode, too, add -v flag:
<key>Kernel Flags</key>
<string>-no_compat_check kext-dev-mode=1 mbasd=1 -v</string>
Note: we need these flags, they are mandatory to have all the kexts loaded, excepting mbasd=1, that is only required by MBAirs.
To go out from nano editor, Ctrl+X and say "y".
8- Now we want to have our kexts permissions in good condition. From terminal:
Code:
cd /Volumes/Capitann/System/Library/Extensions/
sudo chown -R root:wheel *.*
sudo chmod -R 755 *.*
9- Now we are going to build the prelinked kernel and kernelcache:
Code:
sudo kextcache -prelinked-kernel /Volumes/Capitann/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache -K /Volumes/Capitann/System/Library/Kernels/kernel /Volumes/Capitann/System/Library/Extensions /Volumes/Capitann/Library/Extensions
The terminal should give you messages like these:
/Volumes/Capitann locked; waiting for the lock.
Lock acquired; proceeding.
kext-dev-mode allowing invalid signature -67054 0xFFFFFFFFFFFEFA12 for kext IOUSBHostFamily.kext
(...)
kext-dev-mode allowing invalid signature -67054 0xFFFFFFFFFFFEFA12 for kext AppleStorageDrivers.kext
kext-dev-mode allowing invalid signature -67050 0xFFFFFFFFFFFEFA16 for kext AppleIntelIntegratedFramebuffer.kext
kext-dev-mode allowing invalid signature -67061 0xFFFFFFFFFFFEFA0B for kext AppleIntelGMA950.kext
(...)
AppleDataSetManagement.kext - dependency for com.apple.iokit.IOAHCIBlockStorage lacks valid OSBundleCompatibleVersion.
AppleDataSetManagement.kext is missing dependencies (including anyway; dependencies may be available from elsewhere)
Created mkext archive /Volumes/Capitann/System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext.
Note 1: AppleDataSetManagement.kext messages will be shown if you have an SSD and TRIM enabled.
Note 2: If you get messages saying permissions are not correct, or omitting... repeat steps 5, 6 and 8 until you get these messages saying "kext-dev-mode allowing invalid signature..". Be sure you are doing all the steps (especially the terminal commands) correct, and in the correct order. If you have an ATI, and have deleted AMDSupport.kext, you will get some "omitting from prelinked..." messages, it's ok.
Note 3: If you get a message saying "Can't create...", do the step 6 again, it hasn't been done.
Note 4: if you are on a Hackintosh, you can get messages like:
SoftRAID.kext has incorrect permissions; omitting.
(...)
ACS6x.kext has incorrect permissions; omitting.
Some of these kexts are from Hackintosh and will not be needed. Other ones, like HandsOff.kext, can be from some app you have installed. Be sure you are not omitting something important, as the kexts the prior command has loaded (AppleHDA.kext or similar), and don't care for the rest.
10- Now we can change flags to boot.efi, and protect it again. From terminal:
Code:
cd /Volumes/Capitann/System/Library/CoreServices/
sudo chflags uchg boot.efi
cd /Volumes/Capitann/usr/standalone/i386/
sudo chflags uchg boot.efi
11- Now El Capitan can boot but it has SIP enabled. Don't try to boot from it now. First, we need to have rEFInd installed, to disable SIP. If you boot from El Cap now, you will enable SIP and you will have troubles installing rEFInd.
USB Issue: The USB kexts we are using have one trouble. Left USB is not always recognised, unless you boot El Capi with some USB device connected on the left USB port. The right USB works better, you don't need to have something connected when booting to have it recognised.
Brightness adjustment: Shady app can help you. It's included in the OS X Hackers graphical kexts installers.
12- Now it's a good moment to clone your external HDD to your internal HDD of your unsupported Mac. If you do this after installing rEFInd into your external HDD/SDD, rEFInd will probably be deleted and you will have to install it again. Or you can leave El Cap into the external HDD. We are going to install rEFInd to the internal HDD/SDD of your unsupported Mac.
a) Download rEFInd using this link. I suppose it will be downloaded into your Downloads folder. Unzip it. You will get a folder named refind-bin-0.10.8.
b) Now we will prepare the media to install rEFInd.
Mount the EFI partition of your internal HDD (it's called disk0s1). We will name it "ESP".
From terminal:
Code:
mkdir /Volumes/ESP
sudo mount -t msdos /dev/disk0s1 /Volumes/ESP
c) Now we will copy rEFInd. From the terminal:
Code:
cd ~/Downloads/refind-bin-0.10.8/
sudo mkdir -p /Volumes/ESP/efi/refind
sudo cp -r refind/* /Volumes/ESP/efi/refind/
Code:
sudo mv /Volumes/ESP/efi/refind/refind.conf-sample /Volumes/ESP/efi/refind/refind.conf
Code:
cd /Volumes/ESP/efi/refind/
sudo nano refind.conf
Code:
showtools shell,memtest,gdisk,csr_rotate,apple_recovery,windows_recovery,about,shutdown,reboot
csr_values 10,77
Now, rEFInd will set SIP to disabled by default.
g) Now we will tell our computer to boot from rEFInd. From terminal,
If you have an EFI64 Mac:
Code:
sudo bless --mount /Volumes/ESP --setBoot --file /Volumes/ESP/efi/refind/refind_x64.efi --shortform
Code:
sudo bless --mount /Volumes/ESP --setBoot --file /Volumes/ESP/efi/refind/refind_ia32.efi --shortform
NOTE: If you are having troubles installing rEFINd, I have written a workaround in post #901.
13- The final check.
One booted from El Cap on your unsupported Mac, open a terminal and type:
Code:
csrutil status
And the last check, from the terminal, rebuild caches:
Code:
sudo kextcache -i /
14- Now boot your Mac, look at the rEFInd boot screen, and boot from your El Cap partition.
Important notes about updating-upgrading and cloning:
1- If you do a major upgrade, for example, from El Cap 10.11.5 to 10.11.6 or similar, you will get all the kexts we added to /System/Library/Extensions in step 5 deleted, boot.efi deleted, the firmware.scap file will reappear everywhere... So, I recommend you having a bootable backup on an external HDD before upgrading anything, and be sure it boots correctly; so, after the upgrade, you can boot from there and repeat the process, from steps 3 to 12.
Your three goals: reinstalling the correct boot.efi, reinstalling kexts with the correct kext cache and prelinked kernel rebuilding, and deleting firmware.scap from your system again.
So, and basically, you will repeat m3v2, but not with another machine, but with yours.
2- When you clone El Cap partition to your internal HDD, Carbon or SuperDuper delete the EFI partition of your internal HDD: you will need to reinstall rEFInd there before booting el Cap. If, after installing rEFInd EC doesn't boot, do steps 6 and 9 of the m3v2 from your external drive to your internal drive, because the folder com.apple.kext.caches is not usually cloned and you need it. Then, EC will boot from your internal HDD/SDD.
3- Very important! Remember, don't boot from the upgraded/cloned El Cap unless you have rEFInd installed and working to not to enable SIP (SIP doesn't let us to boot from rEFInd, because it disables the blessing we do in step 12g, so if you boot from an non-SIP-disabled EC you will activate SIP and it will be very difficult to boot from rEFInd. Your only option will be booting from a rEFInd external USB stick: the process is described in post #901).
Last edited: