| 1 | Note: this text doesn't use the "most recent layout" of the main Chameleon CHANGES file.␊ |
| 2 | ␉ Also, not all the changes done on the code will end up here, for obvious reasons.␊ |
| 3 | ␊ |
| 4 | ␉␉---------------//---------------//---------------␊ |
| 5 | ␊ |
| 6 | - (rev 299)␊ |
| 7 | Change: added hands-off (without user intervention) setting of EFI32 values, for 32 bit only␊ |
| 8 | ␉␉processors. Works according to the architecture in use, either chosen by the booter or␊ |
| 9 | ␉␉forced by user.␊ |
| 10 | ␉␉␊ |
| 11 | Note: on pre 10.6 systems, the default EFI values used for 64 bit processors while booting i386␊ |
| 12 | ␉␉arch (only arch on these systems), will still be EFI64, which causes absolutely no problem.␊ |
| 13 | ␉␉EFI32 values still can be forced by using the respective booter flag.␊ |
| 14 | ␉␉Tested only on Leopard.␊ |
| 15 | ␊ |
| 16 | Note: there's a typo on the comment of rev 299 commit;␊ |
| 17 | ␉␉RC3 should read RC4.␊ |
| 18 | ␊ |
| 19 | Motif: fixes http://forge.voodooprojects.org/p/chameleon/issues/21/.␊ |
| 20 | ␊ |
| 21 | Note: included on the trunk at revs 449 & 450 :) Thanks!␊ |
| 22 | ␊ |
| 23 | ␉␉---------------//---------------//---------------␊ |
| 24 | ␊ |
| 25 | - (rev 320)␊ |
| 26 | Change: using the original code i suggested to Mozodojo, for memory modules Part Number extraction.␊ |
| 27 | ␉␉(http://www.projectosx.com/forum/index.php?s=&showtopic=1337&view=findpost&p=8809)␊ |
| 28 | ␊ |
| 29 | Motif: If i don't do:␊ |
| 30 | ␊ |
| 31 | ␉␉if (isspace(sPart[i]))␊ |
| 32 | ␉␉␉break;␊ |
| 33 | ␉␉␊ |
| 34 | ␉␉i get extra characters that don't belong to the Part Number, according to CPU-Z or␊ |
| 35 | ␉␉Everest. This is consistent on the 2 brands of modules i own, Qimonda & Kingston␊ |
| 36 | ␉␉and others i saw on some user reports.␊ |
| 37 | ␉␉If someone wishes to test this, contact me and i'll cook a booter to help debug␊ |
| 38 | ␉␉this behavior.␊ |
| 39 | ␊ |
| 40 | ␉␉---------------//---------------//---------------␊ |
| 41 | ␊ |
| 42 | - (rev 321)␊ |
| 43 | Change: a tweak that got hidden on this commit; changed RestartFix from true to false, by default.␊ |
| 44 | ␊ |
| 45 | Motif: this goes against at least one of my "Guidelines" for the booter!␊ |
| 46 | ␉␉(check README.txt). It's absolutely not needed by all users! If someone proves that this is␊ |
| 47 | ␉␉needed by more than 50% of the motherboards Chameleon needs to handle atm␊ |
| 48 | ␉␉(recommended OSx86 motherboards don't count), then i'll change it back to true.␊ |
| 49 | ␊ |
| 50 | ␉␉---------------//---------------//---------------␊ |
| 51 | ␊ |
| 52 | - (rev 335) (REVERTED to trunk way, rev 520)␊ |
| 53 | Change: merged the educational side of arch=i386 + the practical one of -x32, into a simple 32␊ |
| 54 | ␉␉booter flag.␊ |
| 55 | ␊ |
| 56 | Note: -x32 was removed from trunk on rev 377.␊ |
| 57 | ␊ |
| 58 | Note: only useful on 64 bit processors.␊ |
| 59 | ␉␉32 bit only processors, will cause i386 arch to be loaded by default.␊ |
| 60 | ␊ |
| 61 | Motif: 2 keys to do the same, should never had happen!␊ |
| 62 | ␉␉I really think that arch=i386 is a more "educational" definition, since what we're really␊ |
| 63 | ␉␉doing here is select an architecture to boot, but while reading the Chameleon TODO␊ |
| 64 | ␉␉"Integrate... quick shortcut modified version of 18seven" and knowing that these shortcuts␊ |
| 65 | ␉␉use the 3 + 2 key combination to select i386 arch, i can't avoid to think,␊ |
| 66 | ␉␉why not extend it to the boot prompt now!?␊ |
| 67 | ␊ |
| 68 | ␉␉---------------//---------------//---------------␊ |
| 69 | ␊ |
| 70 | - (rev 335) (REMOVED, rev 520)␊ |
| 71 | Change: added -legacy kernel flag. This flag tells the booter to load i386 arch before is passed to␊ |
| 72 | ␉␉the kernel. This procedure only needs to be done on Snow Leopard. -legacy tells the kernel␊ |
| 73 | ␉␉to disable "64 Bit Mode", which allows 64 bit processors to run 64 bit apps under i386␊ |
| 74 | ␉␉mach kernel.␊ |
| 75 | ␉␉␊ |
| 76 | ␉␉Type -legacy to get you booted into Legacy Mode.␊ |
| 77 | ␊ |
| 78 | Note: only useful on 64 bit processors.␊ |
| 79 | ␊ |
| 80 | Note: just out of curiosity and for those who don't know, Legacy Mode is in fact the mode used␊ |
| 81 | ␉␉by 32 bit "only" processors! Since OS X kernel can handle 64 bit apps even on i386 arch,␊ |
| 82 | ␉␉64 bit processors need this flag to disable any handling of 64 bit instructions, when␊ |
| 83 | ␉␉"emulating a full" 32 bit environment.␊ |
| 84 | ␊ |
| 85 | Motif: this flag was not being passed on > 10.6; the reason why, is this mode is only available␊ |
| 86 | ␉␉under i386 arch. So, while testing Meklort's kernel patcher, i felt the need to add this key.␊ |
| 87 | ␊ |
| 88 | ␉␉---------------//---------------//---------------␊ |
| 89 | ␊ |
| 90 | - (rev 335) (REVERTED to trunk way, rev 520)␊ |
| 91 | Change: added 64 bit booter flag, to keep company to the 32 one :)␊ |
| 92 | ␊ |
| 93 | Motif: mainly to override 32 or -legacy if they are flagged on the Boot.plist.␊ |
| 94 | ␉␉Like -legacy, was born while testing kernel builds and with the need to do the above.␊ |
| 95 | ␊ |
| 96 | ␉␉---------------//---------------//---------------␊ |
| 97 | ␊ |
| 98 | - (rev 336)␊ |
| 99 | Change: removed 3 keys to handle PCI Root UID, two of them executing the exact same code␊ |
| 100 | ␉␉(PCIRootUID & PciRoot). Kept just the already existing PciRoot=<uid>, plus the new code.␊ |
| 101 | ␉␉␊ |
| 102 | ␉␉0 is still the default value, use the key to set any other.␊ |
| 103 | ␊ |
| 104 | Motif: these many keys, should never had happened!␊ |
| 105 | ␉␉This came along when the Asere code was ported to Chameleon, but even on Asere's booter,␊ |
| 106 | ␉␉what's the point? Compatibility? None, it's seems!␊ |
| 107 | ␉␉The only key in use on Asere's booter is PCIRootUID. The others are commented out.␊ |
| 108 | ␊ |
| 109 | ␉␉---------------//---------------//---------------␊ |
| 110 | ␊ |
| 111 | - (revs 337 --> 360)␊ |
| 112 | Changes: file loading related (search algo). The short story:␊ |
| 113 | ␊ |
| 114 | ␉␉Change: added a key to disable "override" Boot.plist from overriding the values on the "default"␊ |
| 115 | ␉␉␉␉Boot.plist. Only the values overriding is disabled, not the file loading.␊ |
| 116 | ␉␉␉␉␊ |
| 117 | ␉␉␉␉CanOverride=n disables overriding of the default Boot.plist values.␊ |
| 118 | ␉␉␊ |
| 119 | ␉␉ Note: as far as i know, loading a override Boot.plist is not mandatory!␊ |
| 120 | ␉␉␉␉Please correct me if i'm wrong.␊ |
| 121 | ␉␉␊ |
| 122 | ␉␉Motif: just in case ;)␊ |
| 123 | ␉␉␉␉I was totally unaware of this Boot.plist override for a long time; this messed with my mind␊ |
| 124 | ␉␉␉␉a lot of times! too many. So the first thing i did to the booter when i had the chance,␊ |
| 125 | ␉␉␉␉was make sure i had this under control.␊ |
| 126 | ␉␉␉␉The problem:␊ |
| 127 | ␉␉␉␉- first path checked: rd(0,0)/Extra/com.apple.Boot.plist␊ |
| 128 | ␉␉␉␉ nice, override Boot.plist can be loaded from a ramdisk.␊ |
| 129 | ␉␉␉␉- second path: /Extra/com.apple.Boot.plist (the plist on Selected volume)␊ |
| 130 | ␉␉␉␉ great, if we have the booter installed on a usb stick, that by the way it's the␊ |
| 131 | ␉␉␉␉ main device used these days to hold a rescue booter, the Boot.plist on it will be␊ |
| 132 | ␉␉␉␉ ignored (unlike one on a ramdisk) and the one on Selected volume loaded.␊ |
| 133 | ␉␉␉␉- and there's no way to override it (config=<file> is not working).␊ |
| 134 | ␉␉␉␉This can cause all sorts of anxiety and panic attacks, if you are unaware of this␊ |
| 135 | ␉␉␉␉like many people are.␊ |
| 136 | ␉␉␊ |
| 137 | ␉␉ Note: This key it's not mentioned on BootHelp.txt on purpose, since it's not needed␊ |
| 138 | ␉␉␉␉with my actual booter configuration.␊ |
| 139 | ␉␉␊ |
| 140 | ␉␉␉␉---------------//---------------//---------------␊ |
| 141 | ␉␉␉␉␊ |
| 142 | ␉␉Change: added a key to allow overriding the default paths to load Extra extensions.␊ |
| 143 | ␉␉␉␉kext=/path-to-folder/ loads drivers from an alternate folder.␊ |
| 144 | ␉␉␉␉␊ |
| 145 | ␉␉␉␉e.g. kext=/Extra/test/␊ |
| 146 | ␉␉␊ |
| 147 | ␉␉ Note: this key needs to point to a "folder" with either a Extensions sub folder or a␊ |
| 148 | ␉␉␉␉Extensions.mkext kext cache, thus always ends with / (slash).␊ |
| 149 | ␉␉␊ |
| 150 | ␉␉ Note: there's a typo on the comment of rev 337 commit;␊ |
| 151 | ␉␉␉␉Extensions=/path-to-folder/ should be read like kext=/path-to-folder/.␊ |
| 152 | ␉␉␊ |
| 153 | ␉␉Motif: there was no key to do this. (read next)␊ |
| 154 | ␉␉␊ |
| 155 | ␉␉␉␉---------------//---------------//---------------␊ |
| 156 | ␊ |
| 157 | ␉␉Change: added a "new" search algo, to load Extra extensions.␊ |
| 158 | ␉␉␉␉Pros:␊ |
| 159 | ␉␉␉␉- hands-off search of all main files. If you don't want a certain file to be loaded,␊ |
| 160 | ␉␉␉␉ just don't place it on a default searched path (as usual) or override it with key.␊ |
| 161 | ␉␉␉␉ First file found, is the one loaded.␊ |
| 162 | ␉␉␉␉ Check FileLoad.txt for info on searched paths.␊ |
| 163 | ␉␉␉␉- easy to configure with other paths.␊ |
| 164 | ␉␉␉␉- easy add to another file load functions.␊ |
| 165 | ␉␉␉␉- no ambiguous paths!! It's bt(0,0) or nothing! (yeah, i'll explain this else were).␊ |
| 166 | ␉␉␉␉- consistency across all file loading.␊ |
| 167 | ␉␉␉␉␊ |
| 168 | ␉␉␉␉Cons:␊ |
| 169 | ␉␉␉␉- none that i could test, so far. The only booter install configuration that i can't␊ |
| 170 | ␉␉␉␉ really test is RAID.␊ |
| 171 | ␉␉␊ |
| 172 | ␉␉Motif: after adding the kext= key, i still couldn't override the Extra extensions loaded from␊ |
| 173 | ␉␉␉␉the Selected volume, in case they were messed up and i needed to load another set from␊ |
| 174 | ␉␉␉␉else were. It happens that similarly as with override Boot.plist, /Extra/Extensions␊ |
| 175 | ␉␉␉␉(or /Extra/Extensions.mkext) is the first path to be checked on a HDD and worse,␊ |
| 176 | ␉␉␉␉there's no argument to limit the action; this path is ALWAYS checked and if files are␊ |
| 177 | ␉␉␉␉found they are loaded and will override any other files loaded from another path, like a␊ |
| 178 | ␉␉␉␉ramdisk (only path checked before /Extra/Extensions), making a recovery much more␊ |
| 179 | ␉␉␉␉complicated (not impossible).␊ |
| 180 | ␉␉␉␉So, according to at least one of my guidelines (simplify booter use as much as possible),␊ |
| 181 | ␉␉␉␉changes to the code are/were needed.␊ |
| 182 | ␉␉␉␉This algo was initially a merge between the search algo found on search_and_get_acpi_fd()␊ |
| 183 | ␉␉␉␉(acpi_patcher.c), to load ACPI table and the one on LoadDrivers() (driver.c); also, the␊ |
| 184 | ␉␉␉␉/Extra/* path was still included. I tried a long time playing with the used arguments␊ |
| 185 | ␉␉␉␉(and others) to keep this path, as all i wanted was to give another priority to the file␊ |
| 186 | ␉␉␉␉loading, but there was always problems; a file that kept defaulting to the Booter volume␊ |
| 187 | ␉␉␉␉when i was trying to load it from Selected volume or the other way around.␊ |
| 188 | ␉␉␉␉So, as i always wanted to try taking advantage of Chameleon's ability to load files␊ |
| 189 | ␉␉␉␉from specific OS folders (e.g. /Extra/10.5), i gave it a try and here is the outcome.␊ |
| 190 | ␉␉␉␉␊ |
| 191 | ␉␉ Note: it doesn't make any sense taking advantage of this specific OS folders and still check␊ |
| 192 | ␉␉␉␉the Selected volume. Thus except for the obvious files like kernel, SystemVersion.plist,␊ |
| 193 | ␉␉␉␉system caches, etc..., no other file is loaded from Selected volume (paths started with / ).␊ |
| 194 | ␉␉␉␉To put it simple, as an example, when installed to a usb stick, this booter will not search␊ |
| 195 | ␉␉␉␉for any files on the Extra folder of the volume were the system is installed!␊ |
| 196 | ␉␉␉␉Or in other words, the booter will only check the Extra folder on the booter volume␊ |
| 197 | ␉␉␉␉(paths started with bt(0,0) ), the usb stick in this example.␊ |
| 198 | ␉␉␉␉Anyway, /Extra paths can still be passed with the use of override keys!␊ |
| 199 | ␊ |
| 200 | ␉␉␉␉---------------//---------------//---------------␊ |
| 201 | ␉␉␊ |
| 202 | ␉␉Change: expanded this "new" search algo to dsdt.aml and smbios.plist.␊ |
| 203 | ␉␉␊ |
| 204 | ␉␉ Note: same override keys used.␊ |
| 205 | ␉␉␊ |
| 206 | ␉␉Motif: check Guidelines.␊ |
| 207 | ␊ |
| 208 | ␉␉␉␉---------------//---------------//---------------␊ |
| 209 | ␊ |
| 210 | ␉␉Change: tweaked the loading of override Boot.plist (loadOverrideConfig(), stringTable.c) according␊ |
| 211 | ␉␉␉␉the new search algo guideline: everything loads from Booter volume.␊ |
| 212 | ␉␉␉␉The search for this file was also extended to specific OS folders, to "emulate" the search␊ |
| 213 | ␉␉␉␉on Selected volume. Also added a verbose message to signal when user doesn't provide a␊ |
| 214 | ␉␉␉␉override plist.␊ |
| 215 | ␊ |
| 216 | ␉␉ Note: again, as far as i know, loading a override Boot.plist is not mandatory!␊ |
| 217 | ␊ |
| 218 | ␉␉Motif: payback for all the neurons i burned while i was not aware of override Boot.plist function!!␊ |
| 219 | ␉␉␉␉Not kidding :P␊ |
| 220 | ␊ |
| 221 | ␉␉␉␉---------------//---------------//---------------␊ |
| 222 | ␊ |
| 223 | ␉␉Change: reactivated config= key, included on loadOverrideConfig changes.␊ |
| 224 | ␉␉␉␉config=<file> loads override plist from specified path.␊ |
| 225 | ␉␉␊ |
| 226 | ␉␉␉␉e.g. config=/Extra/test.plist␊ |
| 227 | ␉␉␊ |
| 228 | ␉␉ Note: with the introduction of this key, all main files can now be overrided by the user.␊ |
| 229 | ␉␉␊ |
| 230 | ␉␉Motif: the key wasn't working anymore and it's useful.␊ |
| 231 | ␊ |
| 232 | ␉␉␉␉---------------//---------------//---------------␊ |
| 233 | ␉␉␉␊ |
| 234 | ␉Don't forget to check FileLoad.txt/FileLoad-trunk.txt for detailed info on file loading search paths␊ |
| 235 | ␊ |
| 236 | ␉␉---------------//---------------//---------------␊ |
| 237 | ␊ |
| 238 | - (rev 419)␊ |
| 239 | Change: started adding documentation, with the creation of a dedicated folder, doc-azi. It would get very␊ |
| 240 | ␉␉messy mixing these with main Chameleon documentation and as i want to keep things as clean as␊ |
| 241 | ␉␉possible on CleanCut, thought a separate folder would be better idea.␊ |
| 242 | ␊ |
| 243 | Motif: do i need to say? :) i thought so.␊ |
| 244 | ␊ |
| 245 | ␉␉---------------//---------------//---------------␊ |
| 246 | ␉␉␊ |
| 247 | - (rev 427)␊ |
| 248 | Change: removed Chameleon.xcodeproj.␊ |
| 249 | ␊ |
| 250 | Motif: it's not up to date and i need time to update it properly, at least on Chazi.␊ |
| 251 | ␉␉Will reintroduce it later in the process. It's also giving me problems with the svn client␊ |
| 252 | ␉␉when i update it; need to check what i'm doing wrong!?␊ |
| 253 | ␊ |
| 254 | ␉␉---------------//---------------//---------------␊ |
| 255 | ␉␉␊ |
| 256 | - (rev 460)␊ |
| 257 | Change: added a key to display some debug info, that can only be accessed via code edit.␊ |
| 258 | ␉␉Check http://forge.voodooprojects.org/p/chameleon/issues/12/ for history.␊ |
| 259 | ␉␉mm & attr, resolution specific info, are borrowed from autoResolution branch.␊ |
| 260 | ␉␉␊ |
| 261 | ␉␉DebugInfo=y enables display of debug info.␊ |
| 262 | ␊ |
| 263 | Note: Boot Banner(*)=n will override DebugInfo=y , disabling the display of this info.␊ |
| 264 | ␉␉Disabled by default.␊ |
| 265 | ␊ |
| 266 | Motif: just making this info easily accessible.␊ |
| 267 | ␊ |
| 268 | ␉␉---------------//---------------//---------------␊ |
| 269 | ␉␉---------------//---------------//---------------␊ |
| 270 | ␉␉␊ |
| 271 | - (rev 462)␊ |
| 272 | Change:␉creation of this project, replacing Chazileon as my work folder;␊ |
| 273 | ␉␉hence, Chazileon is now frozen until archival and deletion.␊ |
| 274 | ␊ |
| 275 | Motif: Chazileon (Chazi) has no svn history.␊ |
| 276 | ␊ |
| 277 | ␉␉---------------//---------------//---------------␊ |
| 278 | ␉␉␊ |
| 279 | - (revs 465 --> 467, 469 --> 471)␊ |
| 280 | Change:␉added AutoResolution patch, by Lebidou (autoResolution branch). The main intention of this␊ |
| 281 | ␉␉patch, is allowing native resolution after boot, even without graphics acceleration (qe/ci).␊ |
| 282 | ␉␉The "side effect" is that it also enables native resolution at boot prompt (Gui).␊ |
| 283 | ␉␉The con: doesn't work for all devices!!␊ |
| 284 | ␉␉␊ |
| 285 | ␉␉AutoResolution=y enables the patch.␊ |
| 286 | ␊ |
| 287 | Note: Obviously, it only works in Graphics Mode (Gui).␊ |
| 288 | ␊ |
| 289 | Note: resolution set on theme.plist is overriding the native one set by AutoResolution. For now the␊ |
| 290 | ␉␉possible solutions are, remove the boot resolution (boot_width, boot_height) from theme.plist␊ |
| 291 | ␉␉or add Graphics Mode=<native resolution> to com.appleBoot.plist.␉␉␉␉␉␉␉␉reminder: ""␊ |
| 292 | ␊ |
| 293 | Motif: ... mentioned above. Check the topic for more details:␊ |
| 294 | ␉␉http://forum.voodooprojects.org/index.php/topic,1227.0.html␊ |
| 295 | ␊ |
| 296 | ␉␉---------------//---------------//---------------␊ |
| 297 | ␊ |
| 298 | - (starting at rev 480)␊ |
| 299 | Change: added Meklort's Modules support, plus Kernel Patcher (Kpatcher) module.␊ |
| 300 | ␉␉␊ |
| 301 | ␉␉PatchKernel=y enables Kernel Patcher.␊ |
| 302 | ␉␉␊ |
| 303 | Note: Check Modules.txt for more info.␊ |
| 304 | ␊ |
| 305 | Motif: Testing Modules support.␊ |
| 306 | ␊ |
| 307 | ␉␉---------------//---------------//---------------␊ |
| 308 | ␉␉␊ |
| 309 | - (rev 520)␊ |
| 310 | Change: removed -legacy flag interaction with the booter and reverted 32/64 flags to the trunk way.␊ |
| 311 | ␉␉␊ |
| 312 | ␉␉Type arch=i386 to load i386 kernel architecture.␊ |
| 313 | ␉␉arch=x86_64 overrides i386 arch, if flagged on Boot.plist.␊ |
| 314 | ␉␉On Snow type arch=i386 -legacy to load i386 arch Legacy Mode.␊ |
| 315 | ␊ |
| 316 | Motif: don't want to contribute to confusion... and laziness ;)␊ |
| 317 | ␊ |
| 318 | ␉␉---------------//---------------//---------------␊ |
| 319 | ␉␉␊ |
| 320 | - (rev 524)␊ |
| 321 | Change: Added GraphicsEnabler module. Needs no introduction :)␊ |
| 322 | ␉␉Feedback is welcome.␊ |
| 323 | ␉␉Working as usual with my ATI Radeon X1300 openGL engine, doing the injection thing.␊ |
| 324 | ␊ |
| 325 | Newsflash: looks like it's raining modules over Meklort's branch :D␊ |
| 326 | ␊ |
| 327 | Motif: ---␊ |
| 328 | ␊ |
| 329 | ␉␉---------------//---------------//---------------␊ |
| 330 | ␉␉␊ |
| 331 | - (rev 526)␊ |
| 332 | Change: Added Memory detection module. Also needs no intro...␊ |
| 333 | ␉␉Working properly with my controler:␊ |
| 334 | ␉␉Intel Corporation 82945G/GZ/P/PL Memory Controller Hub [8086:2770] (rev 02)␊ |
| 335 | ␊ |
| 336 | Note: latest changes need a call for ATTENTION; the bootloader install procedure is gaining␊ |
| 337 | ␉␉new steps! So far, we wre just playing with KernelPatcher module, which most people␊ |
| 338 | ␉␉don't use. Check Modules.txt for info on installing modules.␊ |
| 339 | ␊ |
| 340 | Motif: ---␊ |
| 341 | ␊ |
| 342 | ␉␉---------------//---------------//---------------␊ |
| 343 | ␉␉␊ |
| 344 | - (rev )␊ |
| 345 | Change:␉␉␉␉template␊ |
| 346 | ␊ |
| 347 | Motif:␊ |
| 348 | ␊ |
| 349 | ␉␉---------------//---------------//---------------␊ |
| 350 | ␊ |
| 351 | ␊ |
| 352 | ␊ |
| 353 | Azimutz␊ |
| 354 | ␊ |
| 355 | ␊ |
| 356 | |