Tweaking Your System: Install Chameleon, DSDT, & Extras to EFI Partition

You may or may not be aware of it, but you have a 200 megabyte partition on the root of your drive. It's the OS X EFI partition, which normally holds information specific to Apple Hardware such as bios, etc… For Hackintosh users, however, it has no use whatsoever. It can therefore be re-purposed to hold Chameleon, and any extra files such as DSDT, /Extra/Extensions folder, com.apple.boot.plist, and smbios.plist.

If you're one of those users who like an extremely 'vanilla' installation of OS X, you may want to rid your drive of all extra Hackintosh-related files. The following method will lead you through installing all of these files to your EFI partition.

NOTE: This is entirely optional, and will not give you any benefits beyond cleaning the root of your install. Also, each time you want to make changes, you'll have to mount your EFI partition through the Terminal. If you're uncomfortable using the Terminal, do not proceed.

STEP 1: BEFORE YOU BEGIN
Please be aware that you'll be deleting your bootloader, rendering your drive unbootable without the new EFI partition. Make sure to back up your data, and if possible create an emergency Boot CD or USB drive. If you used the Boot CD method, you can always boot using the tonymacx86-P55BootCD.iso. Alternately, you can create a custom bootable Chameleon USB Drive.

For the purposes of this guide, I recommend unplugging all drives except your Snow Leopard installation hard drive and rebooting. This will minimize any problems with disk number and partition number. I will use disk0 by default in this guide. To make sure your disk is identified as disk0:
  1. Open /Utilities/Terminal
  2. Type diskutil list
  3. Compare your results with the following picture. If yours looks similar, and your root is disk0, you're ready to begin.


STEP 2: REFORMAT AND MOUNT YOUR EFI PARTITION
  1. Open Applications/Utilities/Terminal
  2. Type: sudo -s
  3. Type: newfs_hfs -v EFI /dev/disk0s1
  4. Type: mkdir /Volumes/EFI
  5. Type: mount_hfs /dev/disk0s1 /Volumes/EFI
Your EFI partition should mount on the desktop and in Finder.



STEP 3: INSTALL CHAMELEON TO EFI PARTITION
Because Chameleon will not be on your Snow Leopard partition anymore, you must re-install it to the EFI partition.
  1. Download any Chameleon binary source (For this example: Chameleon-2.0-RC4-r684-bin).
  2. Unzip the folder and place it on the desktop as shown in the picture.
  3. Open Applications/Utilities/Terminal
  4. Type: diskutil list
  5. Locate your EFI partition. It will be under IDENTIFIER. Be sure to use the correct one. (For this example: disk0s1)
  6. Type: cd
  7. Click and drag the Chameleon folder to Terminal, creating a path to it. This is a cool trick that you can use instead of typing the whole path. The command will become: cd /Users/****/Desktop/Chameleon-2.0-RC4-r684-bin
  8. Type: cd /i386
  9. Type: sudo fdisk -f boot0 -u -y /dev/rdisk0
  10. Type: sudo dd if=boot1h of=/dev/rdisk0s1
  11. Type: sudo cp boot /Volumes/EFI/
STEP 4: COPY FILES TO EFI PARTITION AND EDIT COM.APPLE.BOOT.PLIST
In order for your DSDT to be recognized, you must add a line to your com.apple.boot.plist in order for Chameleon to locate it on the EFI partition.
  1. Open /Extra/com.apple.Boot.plist in TextEdit or Property List Editor.
  2. Add the DSDT=hd(0,1)/DSDT.aml flag to your as seen in the pictures below.
  3. Save com.apple.boot.plist
  4. Download and run ShowAllFiles.
  5. Click and drag your DSDT.aml and /Extra folder from Snow Leopard to EFI.
  6. Make sure EFI looks similar to the one in the pictures below.
  7. Delete DSDT.aml, boot, and /Extra folder from Snow Leopard .

STEP 5: SET THE EFI PARTITION AS ACTIVE
You now have to set the EFI partition so that your computer boots from it first.
  1. Open Applications/Utilities/Terminal
  2. Type sudo -s
  3. Enter your password.
  4. Type fdisk -e /dev/rdisk0
  5. Type p
  6. Type f 1
  7. Type w
  8. Type y
  9. Close and re-open Terminal
  10. Type: sudo -s
  11. Enter your password.
  12. Type: umount -f /Volumes/EFI
  13. Type: rm -rf /Volumes/EFI
  14. Type: fsck_hfs /dev/disk0s1
  15. Close Terminal and reboot.
You're done! Special thanks to Munky for the original EFI Partition guides, and the entire OSx86 community, without whom this guide wouldn't exist. Good luck, and let me know if it worked for you!

-tonymacx86

PS: The EFI partition will not automatically mount as other partitions do at boot time. If you ever need to change/update files in your new EFI...
  1. Open Applications/Utilities/Terminal
  2. Type mkdir /Volumes/EFI
  3. Type sudo mount_hfs /dev/disk0s1 /Volumes/EFI
Your EFI Partition will mount on the desktop and in Finder. Copy and paste these commands to a text file for easy access in the future.

EDIT: You can also use this script - EFI Mounter. Special thanks to SirReal for posting this- it's a nice little App you can stick in your Applications folder to mount/unmount your EFI partition.

For discussions on this and other topics, register today at tonymacx86.com!