1 | ␉␉␉␉---------------// Modules Info //---------------␊ |
2 | ␊ |
3 | Installation:␊ |
4 | ␊ |
5 | - get the source, compile; find modules at /sym/i386, with .dylib file extension.␊ |
6 | ␊ |
7 | - create an /Extra/modules folder on the volume from were the booter is going to load from,␊ |
8 | ␉copy Symbols.dylib (mandatory) to modules folder, plus any other module you wish to load.␊ |
9 | ␊ |
10 | - update boot file or reinstall the booter completely, as needed.␉␊ |
11 | ␊ |
12 | Note: GraphicsEnabler, MemDetect & ForceHPET patches are now converted to modules.␊ |
13 | ␊ |
14 | ␊ |
15 | How to use?␊ |
16 | ␊ |
17 | - Just check if a key is needed to activate the functionality you pretend to use. Otherwise␊ |
18 | ␉all modules are loaded at startup from the default location, before the boot prompt.␊ |
19 | ␊ |
20 | ␉---------------//---------------//---------------␊ |
21 | ␊ |
22 | What are modules?␊ |
23 | ␊ |
24 | - Modules can be refered as "plugins", adding and/or replacing booter functionality, without␊ |
25 | ␉touching the "core" of the booter. If you are familiar with e.g. browser plugins␊ |
26 | ␉(like Firefox's Addons), you know what i'm talking about; they either add completely new␊ |
27 | ␉functionality or replace/modify existing one; same thing with modules and Chameleon.␊ |
28 | ␉␊ |
29 | ␉More info can be found on Meklort's blog and links at the bottom of the page:␊ |
30 | ␉http://www.meklort.com/␊ |
31 | ␊ |
32 | ␉---------------//---------------//---------------␊ |
33 | ␊ |
34 | Featured modules:␊ |
35 | ␊ |
36 | - Symbols.dylib: first one to load, contains all the symbols found on the booter.␊ |
37 | ␉All other modules depend on it to load.␊ |
38 | ␊ |
39 | ␉---------------//---------------␊ |
40 | ␊ |
41 | - KernelPatcher.dylib:␊ |
42 | ␊ |
43 | ␉- needs key to enable patching:␊ |
44 | ␉␊ |
45 | ␉␉PatchKernel=y␉␉␉at boot prompt or,␊ |
46 | ␊ |
47 | ␉␉<key>PatchKernel</key>␉on Boot.plist.␊ |
48 | ␉␉<string>Yes</string>␊ |
49 | ␉␊ |
50 | ␉- featured patches: cpuid_set - 32/64 bit ??␊ |
51 | ␉␉␉␉␉␉commpage_stuff - 32/64 bit␊ |
52 | ␉␉␉␉␉␉lapic_init - 32 bit only.␊ |
53 | ␊ |
54 | ␉Note on functionality: as it is, Kpatcher allows my Pentium D 925 to load vanilla(*)␊ |
55 | ␉kernel, with the help of -legacy flag; to enter x86_64 world i still need to patch␊ |
56 | ␉the kernel sources, as the 925 has no Supplemental SSE3 instructions and there's␊ |
57 | ␉no patch to fix this on Kpatcher atm.␊ |
58 | ␉I assume that, the great majority of the legacy/unsupported processors with at least␊ |
59 | ␉SSE3 instructions, will benefit of the same treatment!␊ |
60 | ␉Let's just say that the only patch needed by the 925 on Legacy Mode(**) is cpuid_set!␊ |
61 | ␉␊ |
62 | ␉Note: Kernel Patcher can stop working due to changes on the kernel code.␊ |
63 | ␊ |
64 | ␉---------------//---------------␊ |
65 | ␊ |
66 | - GraphicsEnabler.dylib: graphics enabler patch converted to module.␊ |
67 | ␊ |
68 | ␉- same activation key used.␊ |
69 | ␊ |
70 | ␉---------------//---------------␊ |
71 | ␊ |
72 | - Memory.dylib: memory detection converted to module.␊ |
73 | ␊ |
74 | ␉- same deactivation key used. (enabled by default)␊ |
75 | ␊ |
76 | ␉---------------//---------------␊ |
77 | ␊ |
78 | - HPET.dylib: force enable HPET patch converted to module.␊ |
79 | ␊ |
80 | ␉- same activation key used. (enabled by default)␊ |
81 | ␊ |
82 | ␉---------------//---------------␊ |
83 | ␉␊ |
84 | - HelloWorld.dylib: just a notifier (not mandatory).␊ |
85 | ␊ |
86 | ␉---------------//---------------//---------------␊ |
87 | ␊ |
88 | ␊ |
89 | (*) In this context, "vanilla" means the use of a non pre-patched kernel; what we do here is␊ |
90 | ␉patch the kernel on the fly, in memory.␊ |
91 | ␊ |
92 | (**) For those who "missed" the lesson, Legacy Mode is the one 32 bit only cpu's run on OS X.␊ |
93 | ␊ |
94 | ␊ |
95 | ␉---------------//---------------//---------------␊ |
96 | ␊ |
97 | Issues:␊ |
98 | ␊ |
99 | - compiling modules under Leo (Dev tools 3.1 (9M2809)) is not possible at the moment.␊ |
100 | ␊ |
101 | ␉---------------//---------------//---------------␊ |
102 | ␊ |
103 | ␉␊ |
104 | ␉Some talk here: http://forum.voodooprojects.org/index.php/topic,1556.0.html␊ |
105 | ␉here: http://forum.voodooprojects.org/index.php/topic,1153.0.html␊ |
106 | ␉and here: http://forum.voodooprojects.org/index.php/topic,1565.0.html␊ |
107 | ␊ |
108 | ␊ |
109 | ␉---------------//---------------//---------------␊ |
110 | ␊ |
111 | ␊ |
112 | Thanks fly out to Meklort for this precious and huge work!␊ |
113 | ␊ |
114 | ␊ |
115 | ␊ |
116 | Azimutz␊ |
117 | ␊ |
118 | ␊ |
119 | |