Chameleon

Chameleon Svn Source Tree

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

1The possible info at the moment:
2
3Installation:
4
5 - get the source, compile; find modules at /sym/i386, with .dylib file extension.
6
7 - create a /Extra/modules folder, copy Symbols.dylib (mandatory) to modules folder,
8plus any other module you wish to load.
9
10 - update boot file or reinstall the booter completely, as needed.
11
12
13How to use?
14
15 - Just check if a key is needed to activate the module you pretend to use. Otherwise
16modules are loaded at startup by the booter from default location. (check Issues below).
17
18---------------//---------------//---------------
19
20What are modules?
21
22 - good question! Well, can't add much on the "geek" side... need to study the stuff so
23i don't start dumping bs. The easy answer is they are like plugins, adding/replacing
24booter functionality. For instance: the Kernel Patcher (Kpatcher) is around for some time,
25integrated on boot file like any other Chameleon function; with Modules support Kpatcher
26can now live as a module, freeing the space it occupied on boot file
27(one of module's advantages).
28
29
30Featured modules:
31
32 - Symbols.dylib: always needed to load other modules! It's the first one to load and no
33other module will work if this one fails. The booter will still perform as usual,
34if it fails to load.
35
36 - KernelPatcher.dylib:
37
38- needs key to be enabled:
39
40PatchKernel=yat boot prompt or,
41
42<key>PatchKernel</key>on Boot.plist.
43<string>Yes</string>
44
45- featured patches: cpuid_set - 32/64 bit
46commpage_stuff - 32/64 bit
47lapic_init - 32 bit only.
48
49Note on functionality: as it is, Kpatcher allows my Pentium D 925 to load vanilla(*)
50kernel, with the help of -legacy flag; to enter x86_64 world i still need to patch
51the kernel sources, as the 925 has no Supplemental SSE3 instructions and there's
52no patch to fix this on Kpatcher atm (don't even know if is possible?!).
53I assume that, the great majority of the legacy/unsupported processors with at least
54SSE3 instructions, will benefit of the same treatment!
55Let's just say that the only patch needed by the 925 on Legacy Mode(**) is cpuid_set!
56
57 - HelloWorld.dylib: just a notifier (not mandatory).
58
59
60(*) In this context, "vanilla" means the use of a non pre-patched kernel; what we do here is
61patch the kernel on the fly, in memory.
62
63(**) For those who "missed" the lesson, Legacy Mode is the mode 32 bit only cpu's run on OS X.
64
65---------------//---------------//---------------
66
67Issues:
68
69 - modules may fail to load, if you have the booter on a separate device/partition and try
70to load modules from selected volume. Confirmed on MBR/boot0hfs install only.
71
72 - the Kernel Patcher can stop working due to changes on the kernel code, though that can be
73"previewed" to some extent. Just so you know what to expect.
74
75 - this is work in progress; i will add updates as Meklort commits.
76
77---------------//---------------//---------------
78
79
80Some talk here: http://forum.voodooprojects.org/index.php/topic,1556.0.html
81here: http://forum.voodooprojects.org/index.php/topic,1153.0.html
82and here: http://forum.voodooprojects.org/index.php/topic,1565.0.html
83
84
85---------------//---------------//---------------
86
87
88Smith@@'s news :D
89
90 « Sent to: Azimutz on: Fri 03/09/2010 at 05:55:08 »
91
92 "Hi azi, i've try last chazi with modules, it works like a charm ;)"
93
94-------/-/-------
95
96 Grazie Amico - Azi
97
98---------------//---------------//---------------
99
100 Huge thanks fly out to Meklort for this precious work!
101
102---------------//---------------//---------------
103
104
105
106Azimutz
107
108
109

Archive Download this file

Revision: 497