If you're using an older version of Chameleon, or if you've been booting your hackintosh with a 3rd party boot CD until now, this guide is for you.
When upgrading from any version or derivative build of Chameleon, it is highly recommended that you install
all three files, rather than just copying "boot".
If you would rather use your system partition than the EFI partition for Chameleon, you can simply change where ever it says disk0s1 accordingly and skip the parts that are specific to working with the EFI partition.
First you need to format/initialize the EFI system partition -
note the command is different on Snow Leopard and higher. If you use the 10.5.x command it will still work, but the EFI partition will become an ordinary HFS partition and will always be mounted, and that's messy.
Open Terminal and type sudo –s (and your password)
Type
diskutil list to see an overview of your disks and partitions.
Normally, disk0s1 will be your EFI partition. If it is on another disk, modify the following commands accordingly so you don’t accidentally the wrong partition.
If you don’t see an EFI partition, that means your drive is MBR formatted. If you are not sure what that means, you should stop following this guide immediately. For example, if you have OS X and Windows installed to the same hard drive you will no longer be able to boot Windows if you follow these instructions. I can't help you with that.
You can also opt to install Chameleon on your system partition for easy access. If you don't want to install Chameleon on your EFI partition skip the following two commands and just change disk/rdisk0s1 to disk/rdisk0s2 (assuming you're installing to disk0 of course!) and simply replace Volumes/EFI with Volumes/nameofyoursystempartition
If you're on
10.5.x:
diskutil eraseVolume "HFS+" "EFI" /dev/disk0s1
If you're on
10.6 or higher:
newfs_hfs -v EFI /dev/disk0s1
Your EFI partition now has a filesystem and you can go ahead and install Chameleon on it.
Download the Chameleon archive attached below, extract it to your desktop, and (still in Terminal) navigate to the folder by typing
cd ~/desktop/i386.
Create a mountpoint and mount the EFI partition:
mkdir /Volumes/EFI
mount_hfs /dev/disk0s1 /Volumes/EFI
Install boot0md to the MBR:
./fdisk440 -f boot0md -u -y /dev/rdisk0
Install boot1h to the bootsector of the EFI partition:
dd if=boot1h of=/dev/rdisk0s1
Then, copy the file ‘boot’ to it:
cp boot /Volumes/EFI
Install bdmesg - this can be run from Terminal (just type bdmesg) at any time and will let you see Chameleon verbose output from last boot. Very useful for troubleshooting:
cp bdmesg /usr/bin
In order to prevent the File System Events Daemon (fseventsd) from logging on the EFI partition, which can cause it to become unmountable, type:
touch /Volumes/EFI/.fseventsd/no_log
The following step isn’t necessary on all systems but it’s better to be safe than sorry. Make sure the EFI partition is flagged as active.
Verify that you are still in the i386 directory - then enter the fdisk command and then each line as shown. As before, if you're not working with disk0 modify as needed:
1) ./fdisk440 -e /dev/rdisk0
(Ignore any “fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory” error)
2) f 1
3) w
4) q
Now you can copy the extra, themes and extensions folders, your DSDT.aml, your org.chameleon.Boot.plist, your smbios.plist and of course your extensions to it.
If you’ve followed the guide step by step until here the EFI partition is already mounted and (
skip this part if you're on 10.6 or higher) you can type…
killall Finder (note, capitalized F - again, this step is not necessary on 10.6 and up, the EFI partition now mounts by itself when you create the mount-point)
…the Finder reloads and the EFI partition gets a drive icon on your desktop.
You can now start experimenting and getting all your patches and modified kernel extensions running from the EFI partition.
When you are done moving stuff to it you should always un-mount it (yes, the command is
umount, not unmount):
umount /Volumes/EFI (If this fails, do umount -f /Volumes/EFI)
And delete the mountpoint:
rm -rf /Volumes/EFI
I’ve already told you how to mount it again, in the beginning of the guide.
If you ever get “mount_hfs: Invalid argument” when trying to mount the EFI partition, do this to fix it (again assuming the EFI partition is on Disk0):
fsck_hfs /dev/disk0s1
Once you have everything working, you can create a Chameleon boot CD using the same files, so that you can boot the retail DVD and install retail from zero.
Here's my boot CD how-to:
http://forum.voodooprojects.org/index.php/topic,484.msg2131.html#msg2131When running the OS X installer from the DVD simply chose to replace your existing installation. The EFI partition will remain untouched and, if you have added the files you need for OS X to boot on your hardware, you should be able to boot from it when the installer is done.
Good luck.
If I missed something, if some part is unclear or just plain wrong, please let me know.
/Edit - yep. Thanks for the correction Rock
Newbie Alert: Do not use the scripts provided here by other members if you do not understand them. Follow the manual steps instead. Lazy enough for this? Forget EFI and install on your OS X partition.Notes
/Extra/com.apple.Boot.plist is now
org.chameleon.Boot.plistAll instances of 'manufacter' in smbios.plist must be renamed to 'manufacturer'.
Be sure to read boothelp.txt for additional information. The new GraphicsEnabler options might be of interest, we now have fully functional NVRAM via the module system, and there's "showinfo" which you might want to set to "no" if you prefer the GUI to look like it did in RC5.
If you wish to use any of the modules, please read the instructions first - here:
http://forge.voodooprojects.org/p/chameleon/source/tree/HEAD/trunk/i386/modulesNvidia video card owners might want to take a closer look at the attached screenshot.