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 Note: GraphicsEnabler & MemDetect are now converted to modules.***
11
12 - update boot file or reinstall the booter completely, as needed.
13
14
15How to use?
16
17 - Just check if a key is needed to activate the module you pretend to use. Otherwise
18modules are loaded at startup by the booter from default location. (check Issues below).
19
20---------------//---------------//---------------
21
22What are modules?
23
24 - good question! Well, can't add much on the "geek" side... need to study the stuff so
25i don't start dumping bs. The easy answer is they are like plugins, adding/replacing
26booter functionality. For instance: the Kernel Patcher (Kpatcher) is around for some time,
27integrated on boot file like any other Chameleon function; with Modules support Kpatcher
28can now live as a module, freeing the space occupied on boot file
29(one of module's advantages).
30
31
32Featured modules:
33
34 - Symbols.dylib: always needed to load other modules! It's the first one to load and no
35other module will work if this one fails. The booter will still perform as usual,
36if it fails to load.
37
38 - KernelPatcher.dylib:
39
40- needs key to be enabled:
41
42PatchKernel=yat boot prompt or,
43
44<key>PatchKernel</key>on Boot.plist.
45<string>Yes</string>
46
47- featured patches: cpuid_set - 32/64 bit
48commpage_stuff - 32/64 bit
49lapic_init - 32 bit only.
50
51Note on functionality: as it is, Kpatcher allows my Pentium D 925 to load vanilla(*)
52kernel, with the help of -legacy flag; to enter x86_64 world i still need to patch
53the kernel sources, as the 925 has no Supplemental SSE3 instructions and there's
54no patch to fix this on Kpatcher atm (don't even know if is possible?!).
55I assume that, the great majority of the legacy/unsupported processors with at least
56SSE3 instructions, will benefit of the same treatment!
57Let's just say that the only patch needed by the 925 on Legacy Mode(**) is cpuid_set!
58
59Note: Kernel Patcher can stop working due to changes on the kernel code.
60
61 - GraphicsEnabler: graphics enabler option converted to module.
62
63- same activation key used.
64
65 - Memory detection: memory detection option converted to module.
66
67- same deactivation key used. (enabled by default)
68
69 - HelloWorld.dylib: just a notifier (not mandatory).
70
71
72(*) In this context, "vanilla" means the use of a non pre-patched kernel; what we do here is
73patch the kernel on the fly, in memory.
74
75(**) For those who "missed" the lesson, Legacy Mode is the mode 32 bit only cpu's run on OS X.
76
77---------------//---------------//---------------
78
79Issues:
80
81 - the default path for loading modules (/Extra/modules/) is not being respected, the booter
82always checks bt(0,0)/Extra/modules/ instead.
83Anyway, i already intended to change the path due to the concept of this booter
84and so i did it. Of course the problem is still there and needs to be fixed, at least if
85one wants to be able to load modules from selected volume.
86
87 - compiling modules under Leo (XCode 3.1.4) is not possible at the moment.
88
89---------------//---------------//---------------
90
91
92Some talk here: http://forum.voodooprojects.org/index.php/topic,1556.0.html
93here: http://forum.voodooprojects.org/index.php/topic,1153.0.html
94and here: http://forum.voodooprojects.org/index.php/topic,1565.0.html
95
96
97---------------//---------------//---------------
98
99
100Smith@@'s news :D
101
102 « Sent to: Azimutz on: Fri 03/09/2010 at 05:55:08 »
103
104 "Hi azi, i've try last chazi with modules, it works like a charm ;)"
105
106-------/-/-------
107
108 Grazie Amico - Azi
109
110---------------//---------------//---------------
111
112 Huge thanks fly out to Meklort for this precious work!
113
114---------------//---------------//---------------
115
116
117
118Azimutz
119
120
121

Archive Download this file

Revision: 530