Root/
Source at commit 355 created 13 years 11 months ago. By meklort, Fixed the rebase + bind code, now works properly. Removed a few ugly hacks. KernelPatcher now loads properly (no more reboots). | |
---|---|
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. It has precedence over the embedded␊ |
22 | startupfile.␊ |
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 fdisk -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 | No need to use startupfiletool anymore!␊ |
43 | ␊ |
44 | ␊ |
45 | RAID Install:␊ |
46 | -------------␊ |
47 | ␊ |
48 | Suppose that your installation is on /dev/disk3, which is either a mirror- or a␊ |
49 | stripeset consisting of /dev/disk0 and /dev/disk1␊ |
50 | ␊ |
51 | Mac OS X creates a small helper partition at the end of each RAID member disk,␊ |
52 | namely /dev/disk0s3 and /dev/disk1s3␊ |
53 | ␊ |
54 | - Install boot0 to the MBR of both disks:␊ |
55 | ␉␉sudo fdisk -f boot0 -u -y /dev/rdisk0␊ |
56 | ␉␉sudo fdisk -f boot0 -u -y /dev/rdisk1␊ |
57 | ␊ |
58 | - Install boot1h to the bootsector of each boot partition:␊ |
59 | ␉␉sudo dd if=boot1h of=/dev/rdisk0s3␊ |
60 | ␉␉sudo dd if=boot1h of=/dev/rdisk1s3␊ |
61 | ␊ |
62 | - Install boot to both helper partition's root directories.␊ |
63 | ␉␉diskutil mount disk0s3␊ |
64 | ␉␉cp boot /Volumes/Boot\ OSX␊ |
65 | ␉␉diskutil unmount disk0s3␊ |
66 | ␉␉diskutil mount disk1s3␊ |
67 | ␉␉cp boot /Volumes/Boot\ OSX␊ |
68 | ␉␉diskutil unmount disk1s3␊ |
69 | ␊ |
70 | - Add "rd=uuid boot-uuid=506D8F03-0596-32D8-BE0B-E3A4E7D5C72A" to your kernel flags␊ |
71 | (replace with your root volume's UUID; find out using "Disk Utility.app", right␊ |
72 | ␉ click on your root volume, then Get Info"):␊ |
73 | ␉␉nano /Library/Preferences/SystemConfiguration/com.apple.Boot.plist␊ |
74 | ␉␉touch /System/Library/Extensions␊ |
75 | ␊ |
76 | ␊ |
77 | Support:␊ |
78 | --------␊ |
79 | ␊ |
80 | If you have any questions, issues etc. feel free to join us␊ |
81 | at irc.voodooprojects.org #chameleon␊ |
82 | ␊ |
83 | ␊ |
84 | Source Code␊ |
85 | -----------␊ |
86 | ␊ |
87 | For downloading the source code please visit the project page at␊ |
88 | http://chameleon.osx86.hu␊ |
89 | ␊ |
90 | ␊ |
91 | Licensing␊ |
92 | ---------␊ |
93 | ␊ |
94 | Chameleon is released under the terms and conditions of␊ |
95 | Apple Public Source License (see APPLE_LICENSE).␊ |
96 | To use "Chameleon" for commercial purposes please contact us at:␊ |
97 | http://chameleon.osx86.hu/contact␊ |
98 |