- file name␊ |
- default name␊ |
- default path␊ |
- user override␊ |
Well, the intention here is to give some insight on Chameleon file loading, as well as providing␊ |
detailed info about what files are (or can be) loaded, from what devices, used paths, differences␊ |
between paths, if there's user overriding available, etc...␊ |
For now, it will just focus on comparing what's available (on trunk) and one of the many "paths"␊ |
we can follow (my branch); also, only the most frequently used files are featured.␊ |
For the purpose of comparison, there's a FileLoad-trunk.txt similar to this one, that will␊ |
reflect the current Chameleon (trunk) status on the matter.␊ |
␊ |
boot.plist␊ |
To be honest, the info on this file will depend greatly on "feedback"; writing down this stuff it's␊ |
not the most pleasing and fruitful task i have to do atm, time is never enough and i don't feel␊ |
particularly inspired for the job; so if i see no interest in this, i will ditch it as quickly␊ |
as i started it.␊ |
␊ |
override boot.plist␊ |
␊ |
Note: unless other wise specified, first file found is the one used.␊ |
␊ |
Before we go on:␊ |
- Selected volume = root volume (volume/partition were a system is installed)␊ |
- Booter volume = boot volume (volume/partition were the bootloader installed)␊ |
␊ |
␉␉␉␉---------------//---------------//---------------␊ |
␉␉␉␉␉␉␉␉␉azimutz␊ |
␉␉␉␉---------------//---------------//---------------␊ |
␊ |
␊ |
- Extra extensions (kext)␊ |
␊ |
Just a note on ramdisks: when a rd is aliased as bt(0,0), all paths started by bt(0,0) (booter volume)␊ |
will point to the rd and not to the volume were the booter is installed; meaning that, with this algo␊ |
that only uses bt(0,0) paths, when using a rd aliased as bt, the rd will be the only volume searched!!␊ |
This makes rd's aliased as bt, ideal to load full sets of files, like when using pre-boot discs,␊ |
were the files need to be all loaded from the ramdisk into memory.␊ |
Default name:␉Extensions (a directory with kext/s)␊ |
Name override:␉No␊ |
␊ |
Default path/s: User override␊ |
␉␉␉␉rd(0,0)/Extensions␉␉␉␉␉␉␉␉␉␉- ramdisk␊ |
␉␉␉␉bt(0,0)/Extra/specificOSfolder/Extensions␉␉␉␉- booter volume or ramdisk aliased as bt(0,0) (1*)␊ |
␉␉␉␉bt(0,0)/Extra/Extensions␉␉␉␉␉␉␉␉- same as above␊ |
␉␉␉␉Helper partition/s:␊ |
␉␉␉␉␉- Apple_Boot (2*): checked only if exists␊ |
␉␉␉␉␉␉/com.apple.boot.P/System/Library/Extensions␊ |
␉␉␉␉␉␉/com.apple.boot.R/System/Library/Extensions␊ |
␉␉␉␉␉␉/com.apple.boot.S/System/Library/Extensions␊ |
Path override: Yes␊ |
␊ |
User override: kext=path to folder with Extensions sub folder; e.g. /Extra/drivers/␊ |
␉␉␉␉Note: see CHANGES.txt, (revs 337 --> 360), second Change.␊ |
␉␉␉␉␊ |
␉-------/-/------- - same search scheme as above.␊ |
␊ |
- Extra extensions (mkext)␊ |
␊ |
Default name: Extensions.mkext (kext cache)␊ |
Name override: No␊ |
␊ |
Default path/s: User override␊ |
␉␉␉␉rd(0,0)/Extensions.mkext␊ |
␉␉␉␉bt(0,0)/Extra/specificOSfolder/Extensions.mkext␊ |
␉␉␉␉bt(0,0)/Extra/Extensions.mkext␊ |
␉␉␉␉Helper partition/s:␊ |
␉␉␉␉␉␉/com.apple.boot.P/System/Library/Extensions.mkext␊ |
␉␉␉␉␉␉/com.apple.boot.R/System/Library/Extensions.mkext␊ |
␉␉␉␉␉␉/com.apple.boot.S/System/Library/Extensions.mkext␊ |
Path override: Yes␊ |
␊ |
User override: kext=path to folder with a Extensions.mkext; e.g. /Extra/drivers/␊ |
␉␉␉␉Note: see CHANGES.txt, (revs 337 --> 360), second Change.␊ |
␉␉␉␉␊ |
␉␉␉␉---------------//---------------//---------------␊ |
␊ |
- Default configuration file (plist)␊ |
␊ |
Default name: com.apple.Boot.plist␊ |
Name override: No␊ |
␊ |
Default path/s: (3*)␊ |
␉␉␉␉bt(0,0)/Extra/com.apple.Boot.plist␊ |
␉␉␉␉/Library/Preferences/SystemConfiguration/com.apple.Boot.plist␊ |
␉␉␉␉Helper partition/s:␊ |
␉␉␉␉␉␉/com.apple.boot.P/Library/Preferences/SystemConfiguration/com.apple.Boot.plist␊ |
␉␉␉␉␉␉/com.apple.boot.R/Library/Preferences/SystemConfiguration/com.apple.Boot.plist␊ |
␉␉␉␉␉␉/com.apple.boot.S/Library/Preferences/SystemConfiguration/com.apple.Boot.plist␊ |
Path override: No␊ |
␊ |
␉␉␉␉---------------//---------------//---------------␊ |
␊ |
- Override configuration file (plist)␊ |
␊ |
Default name: com.apple.Boot.plist␊ |
Name override: Yes␊ |
␊ |
Default path/s: User override␊ |
␉␉␉␉rd(0,0)/com.apple.Boot.plist␊ |
␉␉␉␉bt(0,0)/Extra/specificOSfolder/com.apple.Boot.plist␊ |
␉␉␉␉(4*)␊ |
Path override: Yes␊ |
␊ |
User override: config=path to file; e.g. /Extra/test/com.apple.Boot.plist or /Extra/b.plist␊ |
␊ |
␉␉␉␉---------------//---------------//---------------␊ |
␊ |
- ACPI table (aml)␊ |
␊ |
Default name: dsdt.aml␊ |
Name override: Yes␊ |
␊ |
Default path/s: User override␊ |
␉␉␉␉rd(0,0)/dsdt.aml␊ |
␉␉␉␉bt(0,0)/Extra/specificOSfolder/dsdt.aml␊ |
␉␉␉␉bt(0,0)/Extra/dsdt.aml␊ |
Path override: Yes␊ |
␊ |
User override: DSDT=path to file; e.g. rd(0,0)/Extra/dsdt.aml or /Extra/test.aml␊ |
␊ |
␉-------/-/-------␊ |
ssdt.aml (5*)␊ |
␉␉␉␉---------------//---------------//---------------␊ |
␊ |
- SMBIOS (plist)␊ |
␊ |
Default name: smbios.plist␊ |
Name override: Yes␊ |
␊ |
Default path/s: User override␊ |
␉␉␉␉rd(0,0)/smbios.plist␊ |
␉␉␉␉bt(0,0)/Extra/specificOSfolder/smbios.plist␊ |
␉␉␉␉bt(0,0)/Extra/smbios.plist␊ |
Path override: Yes␊ |
␊ |
User override: SMBIOS=path to file; e.g. bt(0,0)/Extra/smbios.plist or /Extra/MP21.plist␊ |
␊ |
␉␉␉␉---------------//---------------//---------------␊ |
␊ |
- ramdisk (dmg)␊ |
␊ |
Default name: Preboot.dmg␊ |
Name override: Yes␊ |
␊ |
Default path/s: User override␊ |
␉␉␉␉bt(0,0)/Extra/Preboot.dmg␊ |
Path override: Yes␊ |
␊ |
User override: rd=path to file; e.g. /Extra/Preboot.dmg or /Leo.dmg␊ |
␊ |
␉␉␉␉---------------//---------------//---------------␊ |
␊ |
␉␉␉␉---------------//---------------//---------------␊ |
␊ |
␊ |
(1*)␊ |
Ramdisks (rd) are simple image files (dmg, etc...) most commonly associated with the pre-boot discs␊ |
used to boot retail Mac OS X Installer dvd's; in this case, they are used to load needed files into␊ |
memory, before discs can be swapped. But, pre-boot it's not their only use; they can be loaded from␊ |
any device the booter has access to and used to test/load, from kexts to complete boot configurations.␊ |
A rd aliased as bt(0,0), is a normal rd with a btalias activated pointing to it. The btalias is activated␊ |
via a configuration file placed on the root of the rd (RAMDisk.plist), using the pair BTAlias=y.␊ |
When this alias is activated on a rd, all paths started by bt(0,0) (pointing to the Booter volume)␊ |
will instead point to the rd. This makes rd's aliased as bt, ideal to load full sets of files,␊ |
like when using the mentioned pre-boot discs.␊ |
␊ |
(2*)␊ |
Helper partitions - boot support partitions (Apple_Boot)␊ |
Need to gather more info on these, since i have no experience with them.␊ |
All i can say for now is that /com.apple.boot.P /com.apple.boot.R /com.apple.boot.S are directories on␊ |
Apple_boot partitions. So far, the only real case scenario i could find that uses these partitions is␊ |
software RAID, were the root partition can't be accessed before the "software RAID" is running.␊ |
In this situation, these partitions are used as Booter volume and hold the necessary files, that on a␊ |
normal setup are loaded directly from the root volume (were the system is installed).␊ |
Here is a link to the only decent explanation i ever found on the net:␊ |
http://lists.apple.com/archives/boot-dev/2009/May/msg00009.html␊ |
␊ |
(RPS) Rock, Paper, Scissors (the next beats the previous)␊ |
␊ |
(3*)␊ |
I'm not searching /Extra/com.apple.Boot.plist on Default paths (c.a.B.plist on selected volume).␊ |
The reason is pretty evident, if we don't forget that this booter only loads files from booter volume.␊ |
But that's not all; there's also a concept so, for now i'm going to focus only on it.␊ |
The concept is: Default configuration file should be loaded either from the Booter volume or from one␊ |
of the default system paths.␊ |
Why? Because it's the Default configuration file, with the Default configuration files, that the booter␊ |
is supposed to use by Default, on a hands-off situation. All these values can still be override by␊ |
the user in more ways than one, if the user wishes so! (read 4*)␊ |
Wish we could use just "One" default path!??␊ |
␊ |
(4*)␊ |
Here i have my doubts if what i have is the ideal, if there's any ideal situation to follow?!␊ |
Anyway, explaining what i have now and why.␊ |
I'm not searching Default paths for now because:␊ |
- they are already checked when loading the Default configuration. In "many" situations␊ |
(not to say "most") this will just be reloading the already loaded values.␊ |
- on this booter, Selected volume is replaced by the use of a specific OS folder so, in some sense␊ |
the selected volume is still checked. And there's also a override key!␊ |
␊ |
My doubts are related to the fact that, searching default paths here does make sense (in a way)␊ |
and i'm not entirely sure that's not needed in some configurations?! It's just that, the way␊ |
it's done now it gets confuse...␊ |
Does using a different name for the Override configuration file make any sense??␊ |
␊ |
(5*)␊ |
ssdt: need to gather more info on these, since i have no experience with them.␊ |
As far as i understand, same paths as for dsdt.aml are used and if anything different from "dsdt.aml"␊ |
is found, it's loaded. 30 tables can be loaded and must be named as:␊ |
ssdt.aml, ssdt-1.aml, ssdt-2.aml,... ssdt-30.aml ??? bla bla bla... damn confusion :-/␊ |
␊ |
␊ |
reminder:␊ |
- no ambiguous paths␊ |
- what override paths can be used.␊ |
␊ |
␉␉␉␉␉---------------//...still plenty to edit...//---------------␊ |
␉␉␉␉␉---------------//...still plenty brainstorm...//---------------␊ |
␊ |
␊ |
␊ |
Azimutz␊ |
␊ |
␊ |