Chameleon

Chameleon Svn Source Tree

Root/branches/azimutz/Chazi/doc-azi/FileLoad.txt

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

Archive Download this file

Revision: 815