Jump to content

Chameleon RC4 is out!


Poco
 Share

1,054 posts in this topic

Recommended Posts

Right!

 

And since when your REAL Macs have 0s in the first fields?

 

C'mon people, get real

 

FYI my REAL PowerMac G4 867DP, w/ Leopard 10.5.8 has indeed a lot of 0's at the beginning of the string.

My other REAL G5 and my other REAL macbook are still running Tiger, so it's difficult to tell.

;)

 

Have a good day.

Link to comment
Share on other sites

I know this might be slightly off-topic, but could someone please suggest why chameleon fails to install on my hard drive. I have followed insanelymac's guide up to this step and am stuck. Any suggestions?

 

Thanks

Can't help : too few info.

Please submit more info about your config : mobo,processor,graphics card, memory, hdds.

Then give more info on what exact guide did you read and what version of chameleon did you try to install.

Link to comment
Share on other sites

I know this might be slightly off-topic, but could someone please suggest why chameleon fails to install on my hard drive. I have followed insanelymac's guide up to this step and am stuck. Any suggestions?

 

Thanks

Do a manual install, says your your "OSX" volume is on diskXsY, in ther Terminal issue commands

sudo fdisk -f boot0 -u -y /dev/rdiskX

 

 

sudo dd if=boot1h of=/dev/rdiskXsY

 

 

sudo cp boot /Volumes/OSX

Link to comment
Share on other sites

So, it would appear that if the same SystemID is presented in the boot plist with this modified RC4 boot file, the same Platform UUID will be produced. Duh! Right?! Otherwise, we would have multiple UUID mayhem on each reboot.

 

For those of us who already have a working Platform UUID (and ByHost directory full of them), is there a way to reverse engineer this UUID? That is, present a known UUID and get the SystemID from it, and then use it to plug into the boot plist and keep our existing setup? I'd like to be able to use the existing platform UUID, if possible.

 

If this isn't easily achievable, then, I understand. We should just de-authorize our iTunes account before installing. The ByHost directory will take on a different UUID. And, I'll likely just get rid of the older, non-used one.

 

Thanks for your work, Chameleon team and rekursor!

 

kind regards,

MAJ

Link to comment
Share on other sites

The only way to have a reproducible, unique platform id and system-id at boot level was to permit to change the system-id. Fortunately, doing this also permit to have a unique and reproducible platform-id that is created from this system-id.

What does Platformuid.kext is publishing the platform ID as a resource, by using the IOKit services that we don't have yet at boot time (according to assembly code, that I disassembled just by curiosity).

AFAIK, it is not possible to do that at boot level, and should not be necessary anyway to ensure that your config will have unique and reproducible system-id and platform-id's.

Link to comment
Share on other sites

Im not sure why but RC4 doesnt seem to work correctly for me.

 

Im getting loads of applications just quiting on me randomly. I put it sleep and when i woke it up finder kept relaunching when i clicked on the desktop.

 

I deleted platformuuid.kext and removed the smuid in the smbios.plist

I also added the systemid of 00000000-0000-1000-8000-001D7D0A54E4 which is my ethernet address on the end in the boot.plist.

 

Im i doing this correctly?

 

RC3 + platformuid works perfectly though.

 

Complete Retail install with the hardware below.

 

Thanks

Link to comment
Share on other sites

The only way to have a reproducible, unique platform id and system-id at boot level was to permit to change the system-id. Fortunately, doing this also permit to have a unique and reproducible platform-id that is created from this system-id.

What does Platformuid.kext is publishing the platform ID as a resource, by using the IOKit services that we don't have yet at boot time (according to assembly code, that I disassembled just by curiosity).

AFAIK, it is not possible to do that at boot level, and should not be necessary anyway to ensure that your config will have unique and reproducible system-id and platform-id's.

Thanks for that response, rekursor.

 

Got another question and this is more in regards to how real Macs work:

If you have more than one OS X install on your Mac, is the platform UUID the same for them or different?

Plus, where does the system ID come from, from the EFI firmware?

 

Many thanks in advance.

MAJ

Link to comment
Share on other sites

If you have more than one OS X install on your Mac, is the platform UUID the same for them or different?

Plus, where does the system ID come from, from the EFI firmware?

Yes it works, that's the beauty of it, I have several OS X partition among my HDDs and the platform-uid is kept the same.

The system-id should could from the hardware config, probably the smc configuration, but I'm not sure, though I doubt that it is in the EFI firmware that should be the same for all macs of a particular model.

Link to comment
Share on other sites

Anyone care to tell me how it went with V3?

 

Well, it went flawlessly.

Its even got me rid off some error messages in the fast booting Chameleon windows ;-)

 

But I cannot find a way to point it out my Karmic Koala partition etx4 formated style....

 

If anyone can share how to add this into Chameleon ... it would be nice.

 

;-)

Link to comment
Share on other sites

Yes it works, that's the beauty of it, I have several OS X partition among my HDDs and the platform-uid is kept the same.

The system-id should could from the hardware config, probably the smc configuration, but I'm not sure, though I doubt that it is in the EFI firmware that should be the same for all macs of a particular model.

Your latest and greatest is the one in post #26?

 

Did you change a lot of files? I'm asking because I want to port your patch to Revolution.

 

Thank you.

Link to comment
Share on other sites

Your latest and greatest is the one in post #26?

 

Did you change a lot of files? I'm asking because I want to port your patch to Revolution.

 

Thank you.

Hi MasterChief,

 

Yes it is my v2 (which also has been integrated in Dr. Hurt recently in his new/unofficial chameleon installer).

 

1. My system-id change reuses existing parsing function code and only extends it to the UUID format parsing, so the code change is very compact and can be diffed from original RC4 easily in i386/libsaio/fake_efi.c

 

2. My PciRoot automatic detection change that I directly injected from the PCEFI10.5 w/ Chameleon sources is somewhat trickier to add as it involves adding pciroot.c/h files to the distrib and add the pciroot.c file to the makefile.

Then I use it I believe only in i386/libsaio/pci.c (but you might want to check /confirm that)

Search for the use of getPciRootUID() for quickly isolating the changes.

 

Sorry that I did find the time yet to generate a diff for that mods.

 

PS: I read a lot of topics related to your work on the DSDT files, I understood then applied them to my Gigabyte P55 mobo successfully, so thank you for this great work as well : now I can sleep and wake-up gracefully [smile] !

Link to comment
Share on other sites

Hi MasterChief,

 

Yes it is my v2 (which also has been integrated in Dr. Hurt recently in his new/unofficial chameleon installer).

 

1. My system-id change reuses existing parsing function code and only extends it to the UUID format parsing, so the code change is very compact and can be diffed from original RC4 easily in i386/libsaio/fake_efi.c

 

2. My PciRoot automatic detection change that I directly injected from the PCEFI10.5 w/ Chameleon sources is somewhat trickier to add as it involves adding pciroot.c/h files to the distrib and add the pciroot.c file to the makefile.

Then I use it I believe in i386/libsaio/pci.c (but you might want to check /confirm that)

Search for the use of getPciRootUID() for quickly isolating the changes.

 

Sorry that I did find the time yet to generate a diff for that mods.

 

PS: I read a lot of topics related to your work on the DSDT files, I understood then applied them to my Gigabyte P55 mobo successfully, so thank you for this great work as well : now I can sleep and wake-up gracefully [smile] !

Thank you rekursor!

 

And I think to have good news, because I changed my mind. I'm no longer working with the ancient old Chameleon 1.0 source code. Now using Chameleon RC4 instead – to make everyone happy. I guess this qualifies for simply downloading your work, the complete source code, and dump my silly changes in it. Right?

Link to comment
Share on other sites

Thank you rekursor!

 

And I think to have good news, because I changed my mind. I'm no longer working with the ancient old Chameleon 1.0 source code. Now using Chameleon RC4 instead – to make everyone happy. I guess this qualifies for simply downloading your work, the complete source code, and dump my silly changes in it. Right?

You're welcome! Yes I believe it makes sense as RC4 also includes other great improvements for our boot system, so it is a 'clean' and up-to-date base to start from ...

Link to comment
Share on other sites

Woah Nelly. Looks like the Revolution has been postponed.

 

 

I also added the systemid of 00000000-0000-1000-8000-001D7D0A54E4 which is my ethernet address on the end in the boot.plist.

Im i doing this correctly?

 

Yes but it doesn't work the way you think. Read post #22 again, and if you still don't get it, read post #60.

Link to comment
Share on other sites

Hi

 

I am reducing the number of third party kexts that I use, in EFI/Extra/Extensions I'm currently using FakeSMC and

PlatformUUID only but would like to get rid of the latter and provide a degree of future proofing stability for iTunes

 

Currently I have 3 UUID's set in the chameleon area

 

I have the UUID of my hard disk which is used at boot (boot-uuid)

I have SMUUID in smbios which doesn't seem to be used

I have a PlatformUUID in the kext of same name and is recorded as HardwareUUID in system profiler

 

Currently I have boot-uuid = PlatformUUID = HardwareUUID and this works and has since the first successful clean SL

 

PlatformUUID also shows up in IORegistryExplorer as being defined by PlatformUUID.kext

 

If I disable PlatformUUID and boot I get a new generated UUID for the value HardwareUUID in SProfiler.

This implies HardwareUUID is set from PlatformUUID.kext and not boot-uuid

 

Also I get the CFGError 35 in logs and Java compilers etc (eg Eclipse). ITunes no longer recognises me and requires

new EULA. However, TimeMachine still seems to work. If I restore PlatformUUID and reboot the Itunes and Error 35

issue is resolved.

 

My concern is the following, I use AppleTV and messing with UUID's messes with the authorisation on iTunes and

following the upgrade to SL I have 'lost' some of my purchases from iTunes and would like to avoid repetition of this.

(Each time my HD was formatted a new UUID was generated requiring a boot-uuid to be set to avoid waiting for root

device hang)

 

Just to clarify, are we saying that;

 

1 - PlatformUUID = HardwareUUID

2 - boot-uuid SHOULD NOT EQUAL PlatformUUID

3 - PlatformUUID is based on my en0 mac address?

4 - SMUUID in smbios is irrelevant

 

 

(I did read that some old software apps use the en0 mac address as a primitive encryption key as all macs have

an en0 with a reasonably permanent value - except when changed because of hardware failure. I do have an example of one of these games which is tied to the en0 mac address.

Using mac address would seem to provide some better degree of future proofing the necessary UUID as used by

iTunes)

 

Is there a limit to the number of times I can change PlatformUUID before I lose content on iTunes?

ie should I stick with what works rather than risk losing content

 

 

steve

Link to comment
Share on other sites

Just to clarify, are we saying that;

 

1 - PlatformUUID = HardwareUUID

2 - boot-uuid SHOULD NOT EQUAL PlatformUUID

3 - PlatformUUID is based on my en0 mac address?

4 - SMUUID in smbios is irrelevant.

 

1 - PlatformUUID = HardwareUUID

YES - they are the same thing.

 

2 - boot-uuid SHOULD NOT EQUAL PlatformUUID

CORRECT - they are not the same thing. boot-uuid only identifies to the kernel the booting partition, nothing else.

 

3 - PlatformUUID is based on my en0 mac address?

I don't know if this is really important. Appears to be Apple's method and makes sense since it is a unique hardware ID and they want each of their systems to be unique to protect media licensing for iTunes. It would be impossible for any two systems to have the same ID. In our case, it's not really a issue.

 

4 - SMUUID in smbios is irrelevant.

Probably. I've never heard of it actually working in the smbios.plist.

Link to comment
Share on other sites

Cool, thanks DD for sorting that out

 

Anyone know what the impact on iTunes may be? I think I heard that you can have 5 installs, does this mean if

you change PlatformUUID 6 times you may lose content?

 

edit : if your answer to q3 is correct then there is no benefit to me changing it now, however I would need to keep

it constant if ever my boot-id changes for whatever reason

Link to comment
Share on other sites

just deauthorize/authorize it before changing anything, that's what I do to be sure because you can have only 5 authorize computer allowed in one account and you have 1 (one) reset in a year (reset means iTunes will deauthorize all the 5 computers).

 

HTH

Link to comment
Share on other sites

 Share

×
×
  • Create New...