Chameleon

Chameleon Commit Details

Date:2010-09-03 12:13:18 (13 years 7 months ago)
Author:Azimutz
Commit:484
Parents: 483
Message:Doc edit; more Modules info.
Changes:
A/branches/azimutz/Chazi/doc-azi/Modules.txt
M/branches/azimutz/Chazi/doc-azi/CHANGES.txt

File differences

branches/azimutz/Chazi/doc-azi/CHANGES.txt
299299
300300
301301
302
303302
304
305
306
307
308
309
310
311
312
313
303
304
314305
315306
316307
317
318308
319309
320
321
322310
323311
324312
---------------//---------------//---------------
***Assume this to be in "Alpha" state!***
- (rev 480)
Change: Added Meklort's Modules support, plus Kernel Patcher (Kpatcher) module. The short story:
- get the source, compile; find modules at /sym/i386, with .dylib file extension.
- copy the .dylib files to a Modules folder created on your favorite Extra folder.
You are ready to go; modules are loaded at startup, before the Gui loads. As it is, Kpatcher
allows my Pentium D 925 to boot vanilla kernel, with the help of -legacy flag; to enter x86_64
world i still need to patch the kernel, as the 925 has no SSSE3 instructions. I assume that,
the great majority of the legacy/unsupported processors with at least SSE3 instructions,
will have the same treatment!
As far as i know, 3 patches are active at the moment:
- cpuid, commpage_stuff and lapic_init.
Change: Added Meklort's Modules support, plus Kernel Patcher (Kptchr) module.
Check Modules.txt for more info.
Some talk here: http://forum.voodooprojects.org/index.php/topic,1556.0.html
here: http://forum.voodooprojects.org/index.php/topic,1153.0.html
and here: http://forum.voodooprojects.org/index.php/topic,1565.0.html
More documentation later...
Note: Only i386 arch is supported at the moment; x86_64 support to be added.
There are still some loose ends to tie, on my side at least, hence the Alpha state.
Also, the patch can be affected by changes on the kernel code, though that can be "previewed".
Motif: ... as if, booting vanilla kernel, is not reason enough!?
branches/azimutz/Chazi/doc-azi/Modules.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
The possible info at the moment:
Installation:
- get the source, compile; find modules at /sym/i386, with .dylib file extension.
- copy the .dylib files to a Modules folder created on your favorite Extra folder.
- update boot file or reinstall the booter completely in case it's too old;
"old" in RC5 world means before rev 168 (atm).
How to use?
- nothing to do! Modules are loaded at startup, before the Gui loads, providing you place
them in the correct place (check Issues below).
- Symbols.dylib is always and the first module loaded. The booter will still perform as
usual if this module fails to load.
What are modules?
- good question! Well, can't add much on the "geek" side... need to study the stuff so
i don't start dumping bs. The easy answer is they are like plugins, adding/replacing
booter functionality. For instance: the Kernel Patcher (Kptchr) is around for some time,
integrated on boot file like any other Chameleon function; with Modules support Kptchr
can now live as a module, freeing the space it occupied on boot file
(one of module's advantages).
Kernel Patcher module:
- features cpuid_set, commpage_stuff and lapic_init patches (atm).
-as it is, Kptchr allows my Pentium D 925 to boot vanilla kernel, with the help of
-legacy flag; to enter x86_64 world i still need to patch the kernel, as the 925 has no
Supplemental SSE3 instructions. I assume that, the great majority of the legacy/unsupported
processors with at least SSE3 instructions, will benefit of the same treatment!
For now let's just say that the only patch needed by the 925 on Legacy Mode(*) is
cpuid_set!
(*) For those who "missed" the lesson, Legacy Mode is the mode, 32 bit only cpu's run on OS X.
Issues:
- modules may fail to load, if you have the booter on a separate device/partition and try
to load modules from selected volume. Confirmed on MBR/boot0hfs install only.
- the Kernel Patcher can stop working due to changes on the kernel code, though that can be
"previewed" to some extent. Just so you know what to expect.
- this is work in progress; i will add updates as Meklort commits and only if they are in
functional state.
Smith@@'s news :D
« Sent to: Azimutz on: Fri 03/09/2010 at 05:55:08 »
"Hi azi, i've try last chazi with modules, it works like a charm ;)"
-------/-/-------
Grazie Amico - Azi
---------------//---------------//---------------
Azimutz

Archive Download the corresponding diff file

Revision: 484