Chameleon

Chameleon Svn Source Tree

Root/branches/cparm/doc/README

1
2 Chameleon Boot Loader
3 =====================
4
5 What is it?
6 -----------
7
8 Chameleon is combination of various boot loader components. It is based
9 on David Elliott's fake EFI implementation added to Apple's boot-132
10 project. Chameleon is extended with the following key features:
11
12
13 Features
14 --------
15
16 - Device Property Injection via device-properties string in com.apple.Boot.plist
17 - hybrid boot0+boot1h loaders for both MBR and GPT partitioned disks.
18 - automatic FSB detection code even for recent AMD CPUs.
19 - Apple Software RAID support.
20 - stage2 loader (boot) can be placed as a regular file in the boot
21 partition's root folder.
22 - Modules
23
24
25 Installation
26 ============
27
28 Normal Install (non-RAID):
29 --------------------------
30
31 Suppose that your installation is on /dev/disk0s2
32
33 - Install boot0 to the MBR:
34 sudo ./fdisk440 -f boot0 -u -y /dev/rdisk0
35
36 - Install boot1h to the partition's bootsector:
37 sudo dd if=boot1h of=/dev/rdisk0s2
38
39 - Install boot to the partition's root directory:
40 sudo cp boot /
41
42 - Install Symbols and modules to the partition's root directory or the partition's booter (if needed):
43* Symbols.dylib is absolutely needed if you plan to use any other module,
44* otherwise Symbols.dylib is useless, assume that /Extra is already created (if you need special permissions, use sudo)
45
46mkdir /Extra/modules
47cp Symbols.dylib /Extra/modules
48cp "Any other module wanted".dylib /Extra/modules
49
50 No need to use startupfiletool anymore!
51
52IMPORTANT NOTE ABOUT THE MODULES: PLEASE NOTE THAT ALL MODULES ARE NOT NECESSARILY NEEDED TO BE INSTALLED, YOU JUST HAVE TO INSTALL WHAT YOU NEED,
53FOR EXAMPLE:
54 - IF YOU DON'T PLAN TO USE A RAMDISK (PREBOOT.DMG OR POSTBOOT.IMG), YOU WILL SURELY NOT NEED TO INSTALL THE RAMDISKLOADER MODULE,
55 - IF YOU DON'T PLAN TO BOOT FROM AN HIBERNATE IMAGE YOU WILL SURELY NOT NEED TO INSTALL THE HIBERNATEENABLER MODULE,
56 - IF YOUR MACHINE IS NOT A NETBOOK, YOU WILL SURELY NOT NEED TO INSTALL THE NETBOOKINSTALLER MODULE,
57 - IF YOU DON'T NEED TO PATCH THE KERNEL ON THE FLY, PLEASE DO NOT INSTALL THE KERNELPATCHER MODULE,
58 - ETC,ETC,ETC
59
60PLEASE 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
61PLEASE 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
62
63HERE IS ONE OF THE MOST COMMON USAGE:
64
65- ACPICODEC (FOR ACPI FIXES, AND IF YOU DON'T HAVE AN ALREADY PATCHED BIOS)
66- GRAPGHICENABLER (IF YOU HAVE NOT FIXED THIS BY THE DSDT, THIS MODULE CAN ADD THE EFI STRING FOR YOUR GRAPHIC CARD)
67- GUI (IF YOU WANT A GUI)
68- KEYMAPPER (IF YOU WANT TO REMAP YOUR KEYBOARD (AN AZERTY PRESET IS AVAILABLE), SEE MODULEHELP.TXT FOR USAGE)
69- SMBIOSGETTERS (FOR SMBIOS FIXES, AND IF YOU DON'T HAVE AN ALREADY PATCHED BIOS)
70- 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)
71- SYMBOLS IS ABSOLUTELY NEEDED IF YOU USE AT LEAST ONE OTHER MODULE
72
73LAST 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
74
75
76 RAID Install:
77 -------------
78
79 Suppose that your installation is on /dev/disk3, which is either a mirror- or a
80 stripeset consisting of /dev/disk0 and /dev/disk1
81
82 Mac OS X creates a small helper partition at the end of each RAID member disk,
83 namely /dev/disk0s3 and /dev/disk1s3
84
85 - Install boot0 to the MBR of both disks:
86 sudo ./fdisk440 -f boot0 -u -y /dev/rdisk0
87 sudo ./fdisk440 -f boot0 -u -y /dev/rdisk1
88
89 - Install boot1h to the bootsector of each boot partition:
90 sudo dd if=boot1h of=/dev/rdisk0s3
91 sudo dd if=boot1h of=/dev/rdisk1s3
92
93 - Install boot to both helper partition's root directories.
94 diskutil mount disk0s3
95 cp boot /Volumes/Boot\ OSX
96 diskutil unmount disk0s3
97 diskutil mount disk1s3
98 cp boot /Volumes/Boot\ OSX
99 diskutil unmount disk1s3
100
101 Support:
102 --------
103
104 If you have any questions, issues etc. feel free to join us
105 at irc.voodooprojects.org #chameleon
106
107
108 Source Code
109 -----------
110
111 For downloading the source code please visit the project page at
112 http://chameleon.osx86.hu
113
114
115 Licensing
116 ---------
117
118 Chameleon is released under the terms and conditions of
119 Apple Public Source License (see APPLE_LICENSE).
120

Archive Download this file

Revision: 1142