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

Archive Download this file

Revision: 463