Contribute
Register

Guide to make a bootable Recovery HD partition for clover

Status
Not open for further replies.
Joined
Jan 26, 2014
Messages
1,331
Motherboard
Asus P5LP-LE
CPU
Core 2 Duo
Graphics
Nvidia GeForce GT 640
Mac
  1. Mac Pro
Mobile Phone
  1. iOS
Guide to make a bootable Recovery HD partition for clover should also work for chimera

IMG_0026.jpg
Update log
6/21/2015
Added changes for Yosemite and clean up sorry for the delay I've been busy
1/22/2016
Added changes for El Capitan and clean up sorry for the delay


Hi

For those of you who wish to have a recovery partition that is bootable this is the place to be. The recovery partition created by clover is only useful for iCloud means and has never been bootable for me so I decided I would create this guide for others who wish to have everything all in one place since I have already done all the research and compiled all the needed means to create this useable recovery partition. The main reason the clover created recovery partition never works is simple it doesn’t contain the mandatory FakeSMC.kext that is needed to boot Hackintoshes.


Requirements:
1. Mavericks install app or Yosemite install app or El Capitan install app
2. Clover bootloader
3. 650mb of free drive space
4. RecoveryPartitionCreator by Christopher Silvertooth
5. Yosemite boot flag kext-dev-mode=1

Step 1
Download the latest installer app matching the corresponding OS X version you are wishing to create a recovery HD for via the mac app store using the purchased tab (unless you either already have it or you are fine with having an outdated recovery partition meaning you have an older than current install app).


Step 2
For the means of this guide I will be deleting the clover created recovery partition and creating a new one that contains the Hackintosh requirements. So if you have a recovery partition and wish to fix it you can skip this step but I didn’t do it that way so not sure if it will work for you. In theory it should though. But if you don’t have a recovery partition then you can also skip this step.
Yosemite and Mavericks Only
open terminal and type
defaults write com.apple.DiskUtility DUDebugMenuEnabled 1
To change it back afterward change the 1 to a 0
Then open /Applications/Utilities/Disk Utility
Then from the debug menu select Show Every Partition.
Then select your Recovery HD partition in the left hand pane and then select mount and then select erase.
Then select the full drive and hit the partition tab and select the recovery hd partition and then hit the minus sign to delete it.
El Capitan Or Yosemite Or Mavericks
open terminal and type
diskutil list
make a note of the disk indetifier example: disk0s5 then type in terminal
diskutil mount /dev/diskXsX replace the "X" with the numbers that correspond to the the recovery hd
once this is done you can delete the recovery hd in the same way you did for yosemite and mavericks using disk utility



I do it this way so I know I have a recovery HD partition that I know will work.


Step 3
Creating a new Recovery HD partition (This step can be skip by those wishing to patch the clover created Recover HD partition at their own risk I don’t know for sure if it works in theory it should though)
Download the apple script tool created by Christopher Silvertooth here
http://musings.silvertooth.us/2014/07/recovery-partition-creator-3-8/
Read his notes on that site for more important info.
And run the easy to use Apple Script by simply double clicking it and following the prompts. The script hasn't been updated for Yosemite or El Capitan but it works fine for both, when it prompts you for which version of OS X just choose 10.9 but be sure you pointed it to your Yosemite installer app which it will prompt you for it it doesn't assume it is in your Applications folder.

Step3a El Capitan only
At this point you are basically done for a recovery hd for El Capitan. The main thing you have to do is have FakeSMC.kext and your ethernet kext in the 10.11 folder in EFI/Clover/kexts/10.11. El Capitan has so much tightened level of security this is the only way it will work that I know of. I wasn't even able to modify the OS X Base System folder after copying all the contents over to it, terminal told me operation not permitted even while using a sudo command. This way never worked for me before El Capitan so i didn't think it would work for me this time however I was wrong.


Step 4 Yosemite and Mavericks Only
There are lots of reports that these steps aren't needed but if you are having trouble then give these a try.
Patching the newly created Recovery HD to be bootable
Mount the recovery HD partition using Disk Utility.
Then open finder and open Recovery HD/com.apple.recovery.boot/BaseSystem.dmg to mount the Mac OS X Base System. You will need to show hidden files to see the BaseSystem.dmg you can download a nice convenient Show hidden files app from the downloads section here at Tonymacx86.com.
Then copy the whole BaseSystem.dmg to the desktop
Then go back to terminal and type the following code in red to create a new folder.
Mavericks only mkdir ~/Desktop/Mac\ OS\ X\ Base\ System Yosemite only mkdir ~/Desktop/OS\ X\ Base\ System
Then type the following code in red to copy the base system contents to that folder.
Mavericks only sudo ditto /Volumes/Mac\ OS\ X\ Base\ System/ ~/Desktop/Mac\ OS\ X\ Base\ System
Yosemite only sudo ditto /Volumes/OS\ X\ Base\ System/ ~/Desktop/OS\ X\ Base\ System
Then eject the mounted Mac OS X Base System
Now use the following code in red in terminal to copy FakeSMC.kext from your existing working hackintosh (be sure to change the name of your volume to whatever the name of your volume is if you have spaces in the name of your hackintoshes volume then it would be like this example /Mavericks\ HD/ for me it was like this) By doing it this way should make it work for any bootloader with clover you can just leave FakeSMC.kext in the folder /EFI/Clover/kexts/The version you are running
Mavericks only sudo cp -R /Volumes/Mavericks/System/Library/Extensions/FakeSMC.kext ~/Desktop/Mac\ OS\ X\ Base\ System/System/Library/Extensions
Yosemite only sudo cp -R /Volumes/Yosemite/System/Library/Extensions/FakeSMC.kext ~/Desktop/OS\ X\ Base\ System/System/Library/Extensions
Then I like to add a few others like my ethernet kext and my wifi kext so I can use safari from the recovery partition to do this type this and remember to change your volume name to whatever it is.
Mavericks only sudo cp -R /Volumes/Mavericks/System/Library/Extensions/IONetworkingFamily.kext ~/Desktop/Mac\ OS\ X\ Base\ System/System/Library/Extensions
and
sudo cp -R /Volumes/Mavericks/System/Library/Extensions/IO80211Family.kext ~/Desktop/Mac\ OS\ X\ Base\ System/System/Library/Extensions
Yosemite only sudo cp -R /Volumes/Yosemite/System/Library/Extensions/IONetworkingFamily.kext ~/Desktop/OS\ X\ Base\ System/System/Library/Extensions
and
sudo cp -R /Volumes/Yosemite/System/Library/Extensions/IO80211Family.kext ~/Desktop/OS\ X\ Base\ System/System/Library/Extensions
Then you have to delete the kernel cache in this location in the newly created folder
Mac\ OS\ X\ Base\ System/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache
Simply move to that location in finder and secondary click (Control click)move to trash.


Step 5
Creating a disk image out of your patched folder
open disk utility and select file then new then disk image from folder then select the folder Mac OS X Base System(Mavericks) OS X BaseSystem(Yosemite) and name it BaseSystem choose a destination (I use documents since there was already a BaseSystem.dmg file on my desktop at the time I did this you can use the desktop if you wish just replace the one that already exist there) select compressed and encryption none.


Step 6
Deleting the original BaseSystem.dmg and moving the patched BaseSystem.dmg into its place.
In terminal type
cd /Volumes/Recovery\ HD/com.apple.recovery.boot
then type
sudo rm BaseSystem.dmg
If you used the desktop to place your patched BaseSystem.dmg then type this in red in terminal if not then just go to it in finder and copy and paste it to /Volumes/Recovery\ HD/com.apple.recovery.boot/
sudo cp ~/Desktop/BaseSystem.dmg /Volumes/Recovery\ HD/com.apple.recovery.boot
Now copy this file from /Volumes/Recovery\HD /com.apple.recovery.boot/com.apple.Boot.plist to the desktop and the open the copy with text edit and add your kernel flags you needed to originally boot your system then copy and paste it back to that directory(You can skip this step and set them from clover menu or in your config.plist or in your org.chameleon.plist in /Extra/ if using chimera or chameleon but I like doing it here because I have multiple OS X versions and different ones need different boot flags ).
Now unmount the Recovery HD using Disk Utility.
Now reboot and choose the Recovery HD from the clover menu


Credits
blackosx, Christopher Sivertooth, The Clover Developers, Slice and others
I didn’t create this method I just put it into an easy to follow guide for all to use
Enjoy and I hope it worked for you please post any problems and comments and I will try to get to them.
Carpentryplus25
 
Last edited:
Nice guide, although the recovery partition created by a Clover install works fine if you're booting UEFI and have Fake in the correct kext folder...
 
I have a legacy bios and it didn't work for me but my FakeSMC is in /s/l/e but I beleieve when you use it in that folder you have to use without caches but it's also nice to move your patched ionetworkingfamily so the safari utility will work but thanks for the tip
 
Nice guide, although the recovery partition created by a Clover install works fine if you're booting UEFI and have Fake in the correct kext folder...


Good to know, I started reading and decided to check the replies first. Glad I did and saved me the time and effort of doing something I didn't need to do!
 
Good to know, I started reading and decided to check the replies first. Glad I did and saved me the time and effort of doing something I didn't need to do!
One added benefit to doing this is moving your patched ionetworkingfamily in to the recovery hd partition so that the safari utility works which is really nice if you need to look up a solution that can be emplemented through terminal
the whole process didn't take very long it took longer to write a guide that was understandable than it did to do it
 
Thanks for this guide.
I've had a recovery partition on my installs since Lion I believe (pre Clover for me).
This guide helped me make it bootable and not just for "Find My Mac".
Adding the network kexts was a good idea and it will save me a lot of hassle for future experiments.
Cheers
 
Thanks. This was a useful guide. I used it so that I'd have network access on my GA-EP45-UD3L that was already running Yosemite. Now Ethernet and Wifi both work. I was hoping sound would work as well, but no dice on the audio.

***For Yosemite*** there are a few minor changes that have to be made - like the ditto command...
sudo ditto /Volumes/OS\ X\ Base\ System/ ~/Desktop/Mac\ OS\ X\ Base\ System

instead of

sudo ditto /Volumes/Mac\ OS\ X\ Base\ System/ ~/Desktop/Mac\ OS\ X\ Base\ System


Still, pretty awesome.

I'm off to experiment with how it handles an install to a newly attached SATA hdd.
 
Thanks. This was a useful guide. I used it so that I'd have network access on my GA-EP45-UD3L that was already running Yosemite. Now Ethernet and Wifi both work. I was hoping sound would work as well, but no dice on the audio.

***For Yosemite*** there are a few minor changes that have to be made - like the ditto command...
sudo ditto /Volumes/OS\ X\ Base\ System/ ~/Desktop/Mac\ OS\ X\ Base\ System

instead of

sudo ditto /Volumes/Mac\ OS\ X\ Base\ System/ ~/Desktop/Mac\ OS\ X\ Base\ System


Still, pretty awesome.

I'm off to experiment with how it handles an install to a newly attached SATA hdd.
Yeah for some strange reason Yosemite calls it OS X Base System where as the older versions like Mavericks and others called it Mac OS X Base System when mounting the BaseSystem.dmg I haven't had time to update the guide for Yosemite yet, I plan on getting to it later this week
 
when I select the recovery partition, it goes back to clover's main screen. What do I have to do in order to actually boot the Recovery??
 
when I select the recovery partition, it goes back to clover's main screen. What do I have to do in order to actually boot the Recovery??
Id like to help but I need more information about your system and your problem and things you've done to resolve it keep in mind I haven't yet had the time to test this out for Yosemite and I know this works flawlessly on Mavericks and others reported it working for Yosemite but I personally haven't tried it
 
Status
Not open for further replies.
Back
Top