Chameleon Svn Source Tree


1- Small security fix
2- Added a mechanism to strip the madt table
3- Ported the serial number randomizer to smbiosgetters,
4 Warning: smbiosgetters (and also the Gui module) still don't work when built with Xcode4.
6- Implemented a serial number randomizer in smbiospatcher
7(can be useful for icloud registration problems, especially when the serial number is already used by another machine,
9DISCLAIMER: Please read the iCloud License ( carefully before using this option.
10By using this option, you are agreeing to be bound by
11the terms of the iCloud License ( If you do not or cannot agree to the terms
12of the icloud License (, please do not use this option.
16- Chameleon (or at least this branch) can now boot OSX on Parallels Desktop 7, with full acpi and smbios support
17 (note: you will need to embed at least acpicodec and smbiosgetters since virtual machines don't like our module system),
18 see this vid ;-) :
19- Added a mechanism to boot the real Lion installer partition (with baseSystem.dmg as root device), you will just need to edit the kernelcache
20 for you platform, step 2 of the installation process (booting from the kernelcache in the "Mac OS X Install Data" folder) is still in progress
22- Added a simple mechanism to embed a module into the core of the bootloader (useful for virtual machines
23 or for modules not yet compatible with xcode4), see internal_modules.h for more info.
24- Added JrCs's Keylayout support in Keymapper
25- Fixed an issue in AcpiCodec where the highest cpu frequency may not be added in the pstate package on some configurations
26- Improved detection of nb of core(s) and thread(s) for AMD processors
27- Updated keymapper ...
28- Applied scorpius's patch (to get an unstretched boot screen for nVidia cards on DVI) in boot0.s , disabled by default,
29 see -,2158.msg10345/boardseen.html#new - for more info.
30- Applied Vladimir Zidar's hibernate patch on hibernateEnabler
31- Applied "Intel HD Graphics 3000" patch to gma.c (credit: ???) ,
32 found at - -
33- Added AMD support (most of the code is derived from the trunk, MUST BE ENABLED BY HAND IN CPU.C) see - -
34- Improved Core Ix support in AcpiCodec
35- Improved c-states support in AcpiCodec
37- Sync'd nvidia.c and gma.c (see GraphicEnabler module) to the trunk
38- Improved compatibility with xcode4 (afaik only the modules gui and smbiosgetters will not work with xcode4, even if they are built without any errors)
39- Applied JrCs's path for more protection against buffer overflow in some case (trunk v1449)
40- Added a mechanism to detect extra mkexts/kexts before loading the kernelCache
41- Moved smp code to Erich Boleyn's smp-imps (not fully implemented yet)
42- Added the UseKernelCache option only for compatibility with the trunk ("Yes" have no effect, since it's the default),
43 the Flag "-F" which do the same things is still valid
44- Re-worked SSDT generation, and merged with the Bits's code
45- Removed aml_generator from AcpiCodec, now use acpicode.c to generate aml file
46- Added YellowIconFixer module
47- Merged fsb detection with Bits's code in cpu.c (slightly faster)
48- Fixed a bug related to ACPI in AcpiCodec (thanck to StephN666 for testing)
49- Fixed a bug related to ACPI and the machine with a rsd table revision > 0 (acpi_tools.c) (thanck to StephN666 for testing)
51- Applied Andy Vandijck's Nehalem (i5/i9) spoof to kernelpatcher
52- Fixed an issue with kernelPatcher, it seems that kernelPatcher is unable to patch the kernelCache
53- Applied some fixes from the trunk
54- Applied many under the hood fixes
55- Added Andy Vandijck's Server spoof
56- Added a Patch from Andy Vandijck in SMBiosPatcher and SMBiosGetters
57- Added a Patch from Netkas in GraphicEnabler (ati.c)
58- Fixed an issue where the GUI module couldn't find the themes directory
59- Fixed an issue where the GUI module failed to display the GUI
60- Added AcpiCodec module
61- Re-wrote ACPI code in fake_efi.c
62- Fixed a bug with AcpiPatcher when built with xcode4
63- Optimized AcpiPatcher code
64- Minor change of SMBIOS code in fake_efi.c
65- Applied some changes to the CPU detection
66- Fixed Pict-FailedBoot allocation
67- Board-id fix is now handled by the smbios modules
69- Added boot-args in the device tree
70- Added BootCLUT and Pict-FailedBoot
71- Added Board-id spoof
72- Fixed kernelcache loading with 10.5, 10.6 and 10.7
73- Added Lion Compatibility
75- Re-enabled Ignore Boot File Flag option , now "-B"
76- Fixed a bug in get_PM_Profile(), where the function return the profile 0 = 'Unspecified' when the facp is incorrect or not found, and so, override the
77 PM type set by the cpu features
78- Added new drop acpi table mechanism, now it's really able to drop any tables
79- BootHelp is not anymore embed by default in the bootloader core, if you need the help at boot time, just install your BootHelp.txt in /Extra/ (for now GUI module still embed it)
80- Fixed the HelloWorld module (broken since i have increased module hook arguments number)
82- "-F" now mean do not use prelinked kernel
83- Fixed embedtheme resolution, random theme chooser now also include embedtheme in the list (if the GUI is compiled with the embedtheme option),
84 also fixed a potential memory leak in randomTheme()
85- Fixed a bug in modules.c introduced in the previous versions, the booloader should now load correctly
86 with or without modules
87- Boot helper support (raid) is now an option (992 bytes saved)
88- Fixed an issue where the prelinked kernel can't be found (the bootloader should now be fully compatible with the kextcache command line tool).
89 (Also merged both adler32 function previously located in drivers.c and boot.c into one (adler32) located in boot.c)
90- returned to malloc by default, instead of safe_malloc, safe_malloc(+1280 bytes) is now an option (as in revolution 616+)
91- APM support is now optional (704 bytes saved)
92- Fixed add_symbol function
93- Increased module hook arguments number to 6
94- Added Kabyl's pci subsystem id patch
95- Added Kabyl's smbios implemention (SMBiosGetters, see Kabyl's branch.) as a module (legacy smbios implementation (SMBiosPatcher) have been also rewritten as a module)
96- Added valv's experimental amd support in CPUFreq module (untested)
97- Added Slice's smbios_patcher fix
98- Increased Booter Log size according to the chameleon trunck (thanck to Azimutz)
100- Added BSD (OpenBSD and FreeBSD) support (Credits to: nawcom, valv)
101- moved hibernation and ramdisk into modules
102- Added a keyboard mapper module
103- Added CPUFreq module (Credits to: valv, cparm)
104- Added a random theme chooser in the GUI module
105- Added Slice's mobile detection fix
106- Added mozodojo's coreI fix in acpi patcher
107- Applied many fixes and optimizations to the core
108- Moved to meklort's core architecture
109- Added Andy Vandijck's Full ACPI tables override and ACPI V1 to V4 conversion patch
112- Added Booter Log Dump Tool
113- Added Booter message Logging (":/boot-log" ioreg property)
114- Removed obsolete -f option, use -x instead
115- Removed -x32 option, use arch=i386 instead
116- Added automatic SMBusspeed detection for lga1156 core i5/7 cpus
117- Added new iMac11,1 sbios default model for lga1156 core i5/17 mobos
118- md0 code. Notified xnu when an md ramdisk is specified
119- Added rollover image support for selected device icons.
120 Use device_<type>_o.png in theme folder. Credits goes to Blackosx.
121- Revisited theme resource embedding. Using the device_<type> icons are optional with
122 the exception of device_generic.
123- Optimized memory detection speed
124- Added displaying source device and partition number for file read operations.
125- Increased boot2's maximum size from 383.5k to 447.5k.
126 Updated stage 1 loaders for handling the new size limit.
127- Added alternate format for setting the default partition. The user can specify the selected
128 volume UUID for the "Default Partition" key.
129- Implemented SPD memory automatic detection and injection,seems to work really great ...
130- Factorized code to prepare a dynamic memory detection algorithm ...
131- Optimized smbios table address search
132- Optimized cursor spinout in textmode if no verbose mode is set
133- Added ram table structures definitions
134- Added getSmbios() a param permitting to select between orig and new smbios entries
135- Changed "Default Partition" behaviour to accept only native system volumes or foreign partitions.
136- Added NVIDIA new NVCAP customization support and support for ION gfx cards from aserebln
137- Added ATI new framebuffers support and new cards from PCEFI10.6
138- improved ACPI file search algo by implementing a cache.
139- Nvidia injection fix
140- pciroot would not always return correct uuid in autodection mode
141- Fixed the hibernation problem in boot2/resume.c
142- Fixed all new booter versions with SystemType would override the facp value even if correct,
143 now keeps the facp value if correct and no override has been done, implemented a best effort algo.
144 for maximizing the chance to get the most correct value before we decide to use a fixed value (1=desktop)
145- Fixed display cosmetics of UUID, now a convert.c file contains all
146 conversions api, to be completed by function that we should reuse.
148- Fixed SystemType would be always forced to a value, now optionally changed
149 only if ovveriden
150- Kept SystemID as the only option to change manually the system-id
151 For theses reasons, SystemId from bootConfig and SMUUID from smbiosConfig aer now DEPRECATED.
153- Integrated JrCs fadt patch (kept for RC5 the existing DSDT.aml retry algo that disapeared in his patch, should be more discussed for RC6)
154- Added JrCs modified convention name change to coding_standards
155- Now malloc (ex. MALLOC in Asere patch) is renamed malloc(size) and is an alias
156 to safe_malloc(size, file, line) with _FILE_ and _LINE_ prerocessor definitions
157- Added a new 'Rename Partition Feature', now permitting to rename partition
158 like 'System reserved' to a more meaningful name
159- Added SystemID option permitting to change the System UUID to a fixed value.
160- Added the PciRoot autodetection feature imported from pcefi10.5
161- Added automatic "system-id" injection from dmi bios, also compatible
162 with SystemID boot option and former SMUUID from smbios,plist
163- Added "system-type' automatic injection (1=Desktop) plus override possibility
164 with the new system-type option in bootConfig
165- Added SMserial and SMproductname new options for smbios.plist
166- Merged with asere patch, while keeping my fake_efi.c changes, and adding a new
167 stringForKey() API, also changed the DT__XXXX() set of functions
168 to handle const char * values instead of char*.

Archive Download this file

Revision: 1667