Chameleon Boot Loader ===================== What is it? ----------- Chameleon is combination of various boot loader components. It is based on David Elliott's fake EFI implementation added to Apple's boot-132 project. Chameleon is extended with the following key features: Features -------- - Device Property Injection via device-properties string in com.apple.Boot.plist - hybrid boot0+boot1h loaders for both MBR and GPT partitioned disks. - automatic FSB detection code even for recent AMD CPUs. - Apple Software RAID support. - stage2 loader (boot) can be placed as a regular file in the boot partition's root folder. - Modules Installation ============ Normal Install (non-RAID): -------------------------- Suppose that your installation is on /dev/disk0s2 - Install boot0 to the MBR: sudo ./fdisk440 -f boot0 -u -y /dev/rdisk0 - Install boot1h to the partition's bootsector: sudo dd if=boot1h of=/dev/rdisk0s2 - Install boot to the partition's root directory: sudo cp boot / - Install Symbols and modules to the partition's root directory or the partition's booter (if needed): * Symbols.dylib is absolutely needed if you plan to use any other module, * otherwise Symbols.dylib is useless, assume that /Extra is already created (if you need special permissions, use sudo) mkdir /Extra/modules cp Symbols.dylib /Extra/modules cp "Any other module wanted".dylib /Extra/modules No need to use startupfiletool anymore! IMPORTANT NOTE ABOUT THE MODULES: PLEASE NOTE THAT ALL MODULES ARE NOT NECESSARILY NEEDED TO BE INSTALLED, YOU JUST HAVE TO INSTALL WHAT YOU NEED, FOR EXAMPLE: - IF YOU DON'T PLAN TO USE A RAMDISK (PREBOOT.DMG OR POSTBOOT.IMG), YOU WILL SURELY NOT NEED TO INSTALL THE RAMDISKLOADER MODULE, - IF YOU DON'T PLAN TO BOOT FROM AN HIBERNATE IMAGE YOU WILL SURELY NOT NEED TO INSTALL THE HIBERNATEENABLER MODULE, - IF YOUR MACHINE IS NOT A NETBOOK, YOU WILL SURELY NOT NEED TO INSTALL THE NETBOOKINSTALLER MODULE, - IF YOU DON'T NEED TO PATCH THE KERNEL ON THE FLY, PLEASE DO NOT INSTALL THE KERNELPATCHER MODULE, - ETC,ETC,ETC PLEASE DO NOT USE ACPIPATCHER AND ACPICODEC TOGETHER, THEY DO THE SAME THING BUT IN A DIFFERENT WAY, YOU HAVE TO CHOOSE ONE OF THEM (ACPICODEC IS RECOMMENDED), THIS ISSUE WILL BE FIXED WITH THE BUNDLED MODULES PLEASE DO NOT USE SMBIOSGETTERS AND SMBIOSPATCHER TOGETHER, THEY DO THE SAME THING BUT IN A DIFFERENT WAY, YOU HAVE TO CHOOSE ONE OF THEM (SMBIOSGETTERS IS RECOMMENDED), THIS ISSUE WILL BE FIXED WITH THE BUNDLED MODULES HERE IS ONE OF THE MOST COMMON USAGE: - ACPICODEC (FOR ACPI FIXES, AND IF YOU DON'T HAVE AN ALREADY PATCHED BIOS) - GRAPGHICENABLER (IF YOU HAVE NOT FIXED THIS BY THE DSDT, THIS MODULE CAN ADD THE EFI STRING FOR YOUR GRAPHIC CARD) - GUI (IF YOU WANT A GUI) - KEYMAPPER (IF YOU WANT TO REMAP YOUR KEYBOARD (AN AZERTY PRESET IS AVAILABLE), SEE MODULEHELP.TXT FOR USAGE) - SMBIOSGETTERS (FOR SMBIOS FIXES, AND IF YOU DON'T HAVE AN ALREADY PATCHED BIOS) - MEMORY (FOR RAM DETECTION, THIS MODULE IS ACTUALLY A PLUGIN FOR SMBIOSGETTERS OR SMBIOSPATCHER, AND IT WILL NOT WORK WITHOUT ONE OF THEM, IT WILL BE MORE CLEAR WITH THE BUNDLED MODULES) - SYMBOLS IS ABSOLUTELY NEEDED IF YOU USE AT LEAST ONE OTHER MODULE LAST THING, PLEASE NOTE THAT ALL MODULES ARE ENABLED BY DEFAULT ONCE THEY ARE INSTALLED, THERE IS NO NEED TO ENABLE THEM BY AN OPTION BUT OF COURSE YOU CAN DISABLE A MODULE EVEN IF THE MODULE IS INSTALLED RAID Install: ------------- Suppose that your installation is on /dev/disk3, which is either a mirror- or a stripeset consisting of /dev/disk0 and /dev/disk1 Mac OS X creates a small helper partition at the end of each RAID member disk, namely /dev/disk0s3 and /dev/disk1s3 - Install boot0 to the MBR of both disks: sudo ./fdisk440 -f boot0 -u -y /dev/rdisk0 sudo ./fdisk440 -f boot0 -u -y /dev/rdisk1 - Install boot1h to the bootsector of each boot partition: sudo dd if=boot1h of=/dev/rdisk0s3 sudo dd if=boot1h of=/dev/rdisk1s3 - Install boot to both helper partition's root directories. diskutil mount disk0s3 cp boot /Volumes/Boot\ OSX diskutil unmount disk0s3 diskutil mount disk1s3 cp boot /Volumes/Boot\ OSX diskutil unmount disk1s3 Support: -------- If you have any questions, issues etc. feel free to join us at irc.voodooprojects.org #chameleon Source Code ----------- For downloading the source code please visit the project page at http://chameleon.osx86.hu Licensing --------- Chameleon is released under the terms and conditions of Apple Public Source License (see APPLE_LICENSE).