I think I've already got quite a good understanding on a lot of things around boot loading by now, but this puzzle I cannot figure out, despite being on this for over an entire day:
I have the same Chameleon version installed on two separate drives. Both have identical Extra folders.
But they cause different effects when booting the SAME kernel/OSX. I cannot figure out why.
Here's the details:
I have an internal drive, MBR, with two partitions, and Chameleon 2.0RC1 installed:
#1: Windows
#2: OS X
Then I have an external (USB) drive which is GUID and also contains Chameleon 2.0RC1 (which did of course not get installed into the EFI PART but on the only OS X partition on the disk).
Both the internal and the external OS X have an identical Extra folder.
When I tell the PC to start up from the external drive, and then choose to boot the internal OS X system, all is well, i.e. "kextstat" shows me that the newer kexts from the Extra folder are loaded.
But when I tell the PC to start up from the internal drive, with the boot loader on the internal OS X partition, and boot the OS X on the same partition, I can tell that some extensions from the Extra partition get loaded (because if I remove them, the system will panic), but some older kexts get loaded, especially those for the GMA950, leading to wrong display size (1024x768 on the netbook's actual 1024x600 screen).
I mean, the Extra folder on both boot loader partitions are identical (by copying one to the other), yet they cause different results when being loaded by the kernel.
I suspected the mkext or kernel cache, but even booting with "-t" doesn't help - I still get the same different results.
How can that be? What am I missing?