Open jim-cathey opened 8 years ago
Please check IODeviceTree:/efi/platform/system-id and let me know if they are the same, or not. Thanks
Using "ioreg -p IODeviceTree -l", the only "system-id" in there is this:
Machine #1 (MacPro):
| {
| "SystemSerialNumber" = <"","","","","","","","","","","*">
| "Model" = <4d0061006300500072006f0032002c0031000000>
| "DevicePathsSupported" = <01000000>
| "name" = <"platform">
| "system-id" = <7ea011783f57a94cb2c8540e8ce14aad>
| "FSBFrequency" =
Machine #2 (MacPro2):
| {
| "SystemSerialNumber" = <"","","","","","","","","","","*">
| "Model" = <4d0061006300500072006f0032002c0031000000>
| "DevicePathsSupported" = <01000000>
| "name" = <"platform">
| "system-id" = <7ea011783f57a94cb2c8540e8ce14aad>
| "FSBFrequency" =
Right. Just what I thought. The SMBIOS data, that is where the system-id is coming from, is the same. We set that value here: https://github.com/Piker-Alpha/macosxbootloader/blob/El-Capitan/src/boot/PlatformExpert.cpp#L26 And sure enough. We can set it to any value you like, on one or both machines with my version of boot.efi Problem is that I don't have the time for it right now. Will do my best. Keep you posted here.
It seems like the HW UUID should seed from something like the machine's serial number, or base MAC address, or something like that. I don't have an explanation for why the two system-id values are the same. Is it possible that the 2,1 flasher that is running around out there, which many including myself have used in order to upgrade to the x8 CPU's, could be messing up system-id?
That is very likely, but I made a test version of boot.efi that you may try:
https://ci.appveyor.com/project/Piker-Alpha/macosxbootloader
This should result in a different system-id and Platform UUID. Please give it a try.
It works!
| {
| "SystemSerialNumber" = <"","","","","","","","","","","">
| "Model" = <4d0061006300500072006f0032002c0031000000>
| "DevicePathsSupported" = <01000000>
| "name" = <"platform">
| "system-id" = <0102030405060708090a0b0c0d0e0f10>
| "FSBFrequency" = <f58bd11300000000>
| }
and
Hardware Overview:
Model Name: Mac Pro
Model Identifier: MacPro2,1
Processor Name: Quad-Core Intel Xeon
Processor Speed: 3 GHz
Number of Processors: 2
Total Number of Cores: 8
L2 Cache (per Processor): 8 MB
Memory: 11 GB
Bus Speed: 1.33 GHz
Boot ROM Version: MP21.007F.B06
SMC Version (system): 1.7f10
Serial Number (system): G...K9UPZ
Hardware UUID: DF557FA2-C304-556B-A442-960AB835CB5D
I used the black version, since I normally use gray, and it did echo a lot of single-user type stuff before coming up. But it gets a different systemid and UUID, which is a big step in the right direction.
Great, but now the UUID is still static (set to 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10) so you have to change the UUID and compile boot.efi yourself if you want to use this one more computers. Note that you can run uuidgen in a terminal window to get a new UUID.
I have patched two MP1,1 machines, and both end up with the same HW UUID when running El Capitan. Other people apparently also end up with this same UUID. Not a problem... unless you're using Time Machine! The two machines think they're using the same data set, and fight over it, making a mess. Is there a way to get one of them to use something else for a UUID?
Googling the particular Hardware UUID, "2B12FE1B-1090-593B-B740-2E45F371D1E4", shows that other people running this patched boot.efi have it too. For sure one of my machines started life as a 1,1 and I've upgraded its firmware and CPU's to a 2,1 8x3GHz state. The other one says it's a 2,1 and is also is 8x3GHz, but I don't know if it was built that way or was also patched up as I did.