1 | Well, the intention here is to give some insight on Chameleon file loading, as well as providing␊ |
2 | detailed info about what files are (or can be) loaded, from what devices, used paths, differences␊ |
3 | between paths, if there's user overriding available, etc...␊ |
4 | For now, it will just focus on comparing what's available (on trunk) and one of the many "paths"␊ |
5 | we can follow (my branch); also, only the most frequently used files are featured.␊ |
6 | For the purpose of comparison, there's a FileLoad-trunk.txt similar to this one, that will␊ |
7 | reflect the current Chameleon (trunk) status on the matter.␊ |
8 | ␊ |
9 | To be honest, the info on this file will depend greatly on "feedback"; writing down this stuff it's␊ |
10 | not the most pleasing and fruitful task i have to do atm, time is never enough and i don't feel␊ |
11 | particularly inspired for the job; so if i see no interest in this, i will ditch it as quickly␊ |
12 | as i started it.␊ |
13 | ␊ |
14 | ␊ |
15 | Note: unless other wise specified, first file found is the one used.␊ |
16 | ␊ |
17 | Before we go on:␊ |
18 | - Selected volume = root volume (volume/partition were a system is installed)␊ |
19 | - Booter volume = boot volume (volume/partition were the bootloader installed)␊ |
20 | ␊ |
21 | ␉␉␉␉---------------//---------------//---------------␊ |
22 | ␉␉␉␉␉␉␉␉␉azimutz␊ |
23 | ␉␉␉␉---------------//---------------//---------------␊ |
24 | ␊ |
25 | ␊ |
26 | - Extra extensions (kext)␊ |
27 | ␊ |
28 | Default name:␉Extensions (a directory with kext/s)␊ |
29 | Name override:␉No␊ |
30 | ␊ |
31 | Default path/s: User override␊ |
32 | ␉␉␉␉rd(0,0)/Extensions␉␉␉␉␉␉␉␉␉␉- ramdisk␊ |
33 | ␉␉␉␉bt(0,0)/Extra/specificOSfolder/Extensions␉␉␉␉- booter volume or ramdisk aliased as bt(0,0) (1*)␊ |
34 | ␉␉␉␉bt(0,0)/Extra/Extensions␉␉␉␉␉␉␉␉- same as above␊ |
35 | ␉␉␉␉Helper partition/s:␊ |
36 | ␉␉␉␉␉- Apple_Boot (2*): checked only if exists␊ |
37 | ␉␉␉␉␉␉/com.apple.boot.P/System/Library/Extensions␊ |
38 | ␉␉␉␉␉␉/com.apple.boot.R/System/Library/Extensions␊ |
39 | ␉␉␉␉␉␉/com.apple.boot.S/System/Library/Extensions␊ |
40 | Path override: Yes␊ |
41 | ␊ |
42 | User override: kext=path to folder with Extensions sub folder; e.g. /Extra/drivers/␊ |
43 | ␉␉␉␉Note: see CHANGES.txt, (revs 337 --> 360), second Change.␊ |
44 | ␉␉␉␉␊ |
45 | ␉-------/-/------- - same search scheme as above.␊ |
46 | ␊ |
47 | - Extra extensions (mkext)␊ |
48 | ␊ |
49 | Default name: Extensions.mkext (kext cache)␊ |
50 | Name override: No␊ |
51 | ␊ |
52 | Default path/s: User override␊ |
53 | ␉␉␉␉rd(0,0)/Extensions.mkext␊ |
54 | ␉␉␉␉bt(0,0)/Extra/specificOSfolder/Extensions.mkext␊ |
55 | ␉␉␉␉bt(0,0)/Extra/Extensions.mkext␊ |
56 | ␉␉␉␉Helper partition/s:␊ |
57 | ␉␉␉␉␉␉/com.apple.boot.P/System/Library/Extensions.mkext␊ |
58 | ␉␉␉␉␉␉/com.apple.boot.R/System/Library/Extensions.mkext␊ |
59 | ␉␉␉␉␉␉/com.apple.boot.S/System/Library/Extensions.mkext␊ |
60 | Path override: Yes␊ |
61 | ␊ |
62 | User override: kext=path to folder with a Extensions.mkext; e.g. /Extra/drivers/␊ |
63 | ␉␉␉␉Note: see CHANGES.txt, (revs 337 --> 360), second Change.␊ |
64 | ␉␉␉␉␊ |
65 | ␉␉␉␉---------------//---------------//---------------␊ |
66 | ␊ |
67 | - Default configuration file (plist)␊ |
68 | ␊ |
69 | Default name: com.apple.Boot.plist␊ |
70 | Name override: No␊ |
71 | ␊ |
72 | Default path/s: (3*)␊ |
73 | ␉␉␉␉bt(0,0)/Extra/com.apple.Boot.plist␊ |
74 | ␉␉␉␉/Library/Preferences/SystemConfiguration/com.apple.Boot.plist␊ |
75 | ␉␉␉␉Helper partition/s:␊ |
76 | ␉␉␉␉␉␉/com.apple.boot.P/Library/Preferences/SystemConfiguration/com.apple.Boot.plist␊ |
77 | ␉␉␉␉␉␉/com.apple.boot.R/Library/Preferences/SystemConfiguration/com.apple.Boot.plist␊ |
78 | ␉␉␉␉␉␉/com.apple.boot.S/Library/Preferences/SystemConfiguration/com.apple.Boot.plist␊ |
79 | Path override: No␊ |
80 | ␊ |
81 | ␉␉␉␉---------------//---------------//---------------␊ |
82 | ␊ |
83 | - Override configuration file (plist)␊ |
84 | ␊ |
85 | Default name: com.apple.Boot.plist␊ |
86 | Name override: Yes␊ |
87 | ␊ |
88 | Default path/s: User override␊ |
89 | ␉␉␉␉rd(0,0)/com.apple.Boot.plist␊ |
90 | ␉␉␉␉bt(0,0)/Extra/specificOSfolder/com.apple.Boot.plist␊ |
91 | ␉␉␉␉(4*)␊ |
92 | Path override: Yes␊ |
93 | ␊ |
94 | User override: config=path to file; e.g. /Extra/test/com.apple.Boot.plist or /Extra/b.plist␊ |
95 | ␊ |
96 | ␉␉␉␉---------------//---------------//---------------␊ |
97 | ␊ |
98 | - ACPI table (aml)␊ |
99 | ␊ |
100 | Default name: dsdt.aml␊ |
101 | Name override: Yes␊ |
102 | ␊ |
103 | Default path/s: User override␊ |
104 | ␉␉␉␉rd(0,0)/dsdt.aml␊ |
105 | ␉␉␉␉bt(0,0)/Extra/specificOSfolder/dsdt.aml␊ |
106 | ␉␉␉␉bt(0,0)/Extra/dsdt.aml␊ |
107 | Path override: Yes␊ |
108 | ␊ |
109 | User override: DSDT=path to file; e.g. rd(0,0)/Extra/dsdt.aml or /Extra/test.aml␊ |
110 | ␊ |
111 | ␉-------/-/-------␊ |
112 | ssdt.aml (5*)␊ |
113 | ␉␉␉␉---------------//---------------//---------------␊ |
114 | ␊ |
115 | - SMBIOS (plist)␊ |
116 | ␊ |
117 | Default name: smbios.plist␊ |
118 | Name override: Yes␊ |
119 | ␊ |
120 | Default path/s: User override␊ |
121 | ␉␉␉␉rd(0,0)/smbios.plist␊ |
122 | ␉␉␉␉bt(0,0)/Extra/specificOSfolder/smbios.plist␊ |
123 | ␉␉␉␉bt(0,0)/Extra/smbios.plist␊ |
124 | Path override: Yes␊ |
125 | ␊ |
126 | User override: SMBIOS=path to file; e.g. bt(0,0)/Extra/smbios.plist or /Extra/MP21.plist␊ |
127 | ␊ |
128 | ␉␉␉␉---------------//---------------//---------------␊ |
129 | ␊ |
130 | - ramdisk (dmg)␊ |
131 | ␊ |
132 | Default name: Preboot.dmg␊ |
133 | Name override: Yes␊ |
134 | ␊ |
135 | Default path/s: User override␊ |
136 | ␉␉␉␉bt(0,0)/Extra/Preboot.dmg␊ |
137 | Path override: Yes␊ |
138 | ␊ |
139 | User override: rd=path to file; e.g. /Extra/Preboot.dmg or /Leo.dmg␊ |
140 | ␊ |
141 | ␉␉␉␉---------------//---------------//---------------␊ |
142 | ␊ |
143 | ␉␉␉␉---------------//---------------//---------------␊ |
144 | ␊ |
145 | ␊ |
146 | (1*)␊ |
147 | Ramdisks (rd) are simple image files (dmg, etc...) most commonly associated with the pre-boot discs␊ |
148 | used to boot retail Mac OS X Installer dvd's; in this case, they are used to load needed files into␊ |
149 | memory, before discs can be swapped. But, pre-boot it's not their only use; they can be loaded from␊ |
150 | any device the booter has access to and used to test/load, from kexts to complete boot configurations.␊ |
151 | A rd aliased as bt(0,0), is a normal rd with a btalias activated pointing to it. The btalias is activated␊ |
152 | via a configuration file placed on the root of the rd (RAMDisk.plist), using the pair BTAlias=y.␊ |
153 | When this alias is activated on a rd, all paths started by bt(0,0) (pointing to the Booter volume)␊ |
154 | will instead point to the rd. This makes rd's aliased as bt, ideal to load full sets of files,␊ |
155 | like when using the mentioned pre-boot discs.␊ |
156 | ␊ |
157 | (2*)␊ |
158 | Helper partitions - boot support partitions (Apple_Boot)␊ |
159 | Need to gather more info on these, since i have no experience with them.␊ |
160 | All i can say for now is that /com.apple.boot.P /com.apple.boot.R /com.apple.boot.S are directories on␊ |
161 | Apple_boot partitions. So far, the only real case scenario i could find that uses these partitions is␊ |
162 | software RAID, were the root partition can't be accessed before the "software RAID" is running.␊ |
163 | In this situation, these partitions are used as Booter volume and hold the necessary files, that on a␊ |
164 | normal setup are loaded directly from the root volume (were the system is installed).␊ |
165 | Here is a link to the only decent explanation i ever found on the net:␊ |
166 | http://lists.apple.com/archives/boot-dev/2009/May/msg00009.html␊ |
167 | ␊ |
168 | (RPS) Rock, Paper, Scissors (the next beats the previous)␊ |
169 | ␊ |
170 | (3*)␊ |
171 | I'm not searching /Extra/com.apple.Boot.plist on Default paths (c.a.B.plist on selected volume).␊ |
172 | The reason is pretty evident, if we don't forget that this booter only loads files from booter volume.␊ |
173 | But that's not all; there's also a concept so, for now i'm going to focus only on it.␊ |
174 | The concept is: Default configuration file should be loaded either from the Booter volume or from one␊ |
175 | of the default system paths.␊ |
176 | Why? Because it's the Default configuration file, with the Default configuration files, that the booter␊ |
177 | is supposed to use by Default, on a hands-off situation. All these values can still be override by␊ |
178 | the user in more ways than one, if the user wishes so! (read 4*)␊ |
179 | Wish we could use just "One" default path!??␊ |
180 | ␊ |
181 | (4*)␊ |
182 | Here i have my doubts if what i have is the ideal, if there's any ideal situation to follow?!␊ |
183 | Anyway, explaining what i have now and why.␊ |
184 | I'm not searching Default paths for now because:␊ |
185 | - they are already checked when loading the Default configuration. In "many" situations␊ |
186 | (not to say "most") this will just be reloading the already loaded values.␊ |
187 | - on this booter, Selected volume is replaced by the use of a specific OS folder so, in some sense␊ |
188 | the selected volume is still checked. And there's also a override key!␊ |
189 | ␊ |
190 | My doubts are related to the fact that, searching default paths here does make sense (in a way)␊ |
191 | and i'm not entirely sure that's not needed in some configurations?! It's just that, the way␊ |
192 | it's done now it gets confuse...␊ |
193 | Does using a different name for the Override configuration file make any sense??␊ |
194 | ␊ |
195 | (5*)␊ |
196 | ssdt: need to gather more info on these, since i have no experience with them.␊ |
197 | As far as i understand, same paths as for dsdt.aml are used and if anything different from "dsdt.aml"␊ |
198 | is found, it's loaded. 30 tables can be loaded and must be named as:␊ |
199 | ssdt.aml, ssdt-1.aml, ssdt-2.aml,... ssdt-30.aml ??? bla bla bla... damn confusion :-/␊ |
200 | ␊ |
201 | ␊ |
202 | reminder:␊ |
203 | - no ambiguous paths␊ |
204 | - what override paths can be used.␊ |
205 | ␊ |
206 | ␉␉␉␉␉---------------//...still plenty to edit...//---------------␊ |
207 | ␉␉␉␉␉---------------//...still plenty brainstorm...//---------------␊ |
208 | ␊ |
209 | ␊ |
210 | ␊ |
211 | Azimutz␊ |
212 | ␊ |
213 | ␊ |
214 | |