Contribute
Register

How to build your own iMac Pro [Successful Build/Extended Guide]

Status
Not open for further replies.
I suppose there is not a clear answer for this. The default is definitely not better, since there are a few drivers that are best left out. However, I prefer to have extra work: I install all drivers, and then manually go to the drivers64UEFI and remove the ones I don't need. I place them in a backup folder, in case I discover that I need them after all. Others perhaps prefer to not install some drivers from the beginning. Remember to only use one of the AptioFix drivers, and to always select "Install for UEFI booting only".


I don't understand what you mean by "disk numbers in Clover". Does Clover use disk numbers somewhere?

I think you might be confusing something about APFS. I think "Disk Utility" has a very bad interface, and I prefer to use the command line diskutil:

An APFS partition is mounted as a whole virtual disk (it shows as "synthesized" in diskutil). But this virtual disk does not have the fat32 partition, that belongs to your real boot disk. And that fat32 partition, like you said, is the special one -- it has some special flags that mark it as ESP (EFI System Partition), where the UEFI looks for *.efi files to boot.

Here's my partition configuration:

Code:
$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.1 TB     disk0
   1:                        EFI ESP_SSD                 536.9 MB   disk0s1
   2:                  Apple_HFS Local                   930.0 GB   disk0s2
   3:                 Apple_APFS Container disk3         65.9 GB    disk0s3
   4:       Microsoft Basic Data Data                    53.5 GB    disk0s4

/dev/disk1 (internal):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                         250.1 GB   disk1
   1:                        EFI ESP_NVME                536.9 MB   disk1s1
   2:       Microsoft Basic Data Win10                   93.5 GB    disk1s2
   3:           Windows Recovery                         889.2 MB   disk1s3
   4:                 Apple_APFS Container disk2         104.9 GB   disk1s4
   5:           Linux Filesystem                         50.3 GB    disk1s5

/dev/disk2 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +104.9 GB   disk2
                                Physical Store disk1s4
   1:                APFS Volume macOS                   45.2 GB    disk2s1
   2:                APFS Volume Preboot                 21.0 MB    disk2s2
   3:                APFS Volume Recovery                515.1 MB   disk2s3
   4:                APFS Volume VM                      17.2 GB    disk2s4

/dev/disk3 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +65.9 GB    disk3
                                Physical Store disk0s3
   1:                APFS Volume Test                    12.9 GB    disk3s1
   2:                APFS Volume Preboot                 21.3 MB    disk3s2
   3:                APFS Volume Recovery                514.8 MB   disk3s3
   4:                APFS Volume VM                      17.2 GB    disk3s4

I have 2 disks, disk0 and disk1.

Both have an ESP, in disk0s1 and disk1s1. This is not necessary, but I always keep one with an old Clover that I know is bootable, and install new stuff Clover and new configs in the other.

Then you'll see that disk0 has an APFS partition in disk0s3 and that disk1 has another in disk1s4.

Each APFS partition shows up has a virtual disk: disk0s3 is disk3 and disk1s4 is disk2. Finally, each of these virtual disks shows the partitions they have: disk3s1 and disk2s1. But since each of these partitions has a full macOS inside (I use disk2s1="macOS" as my normal boot partition and disk3s1="Test" as a test partition), each APFS virtual disk also has a Preboot and a Recovery partition.

But you see, the container (the APFS partition in the real disk) does not have the ESP.
I suppose there is not a clear answer for this. The default is definitely not better, since there are a few drivers that are best left out. However, I prefer to have extra work: I install all drivers, and then manually go to the drivers64UEFI and remove the ones I don't need. I place them in a backup folder, in case I discover that I need them after all. Others perhaps prefer to not install some drivers from the beginning. Remember to only use one of the AptioFix drivers, and to always select "Install for UEFI booting only".


I don't understand what you mean by "disk numbers in Clover". Does Clover use disk numbers somewhere?

I think you might be confusing something about APFS. I think "Disk Utility" has a very bad interface, and I prefer to use the command line diskutil:

An APFS partition is mounted as a whole virtual disk (it shows as "synthesized" in diskutil). But this virtual disk does not have the fat32 partition, that belongs to your real boot disk. And that fat32 partition, like you said, is the special one -- it has some special flags that mark it as ESP (EFI System Partition), where the UEFI looks for *.efi files to boot.

Here's my partition configuration:

Code:
$ diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.1 TB     disk0
   1:                        EFI ESP_SSD                 536.9 MB   disk0s1
   2:                  Apple_HFS Local                   930.0 GB   disk0s2
   3:                 Apple_APFS Container disk3         65.9 GB    disk0s3
   4:       Microsoft Basic Data Data                    53.5 GB    disk0s4

/dev/disk1 (internal):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                         250.1 GB   disk1
   1:                        EFI ESP_NVME                536.9 MB   disk1s1
   2:       Microsoft Basic Data Win10                   93.5 GB    disk1s2
   3:           Windows Recovery                         889.2 MB   disk1s3
   4:                 Apple_APFS Container disk2         104.9 GB   disk1s4
   5:           Linux Filesystem                         50.3 GB    disk1s5

/dev/disk2 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +104.9 GB   disk2
                                Physical Store disk1s4
   1:                APFS Volume macOS                   45.2 GB    disk2s1
   2:                APFS Volume Preboot                 21.0 MB    disk2s2
   3:                APFS Volume Recovery                515.1 MB   disk2s3
   4:                APFS Volume VM                      17.2 GB    disk2s4

/dev/disk3 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +65.9 GB    disk3
                                Physical Store disk0s3
   1:                APFS Volume Test                    12.9 GB    disk3s1
   2:                APFS Volume Preboot                 21.3 MB    disk3s2
   3:                APFS Volume Recovery                514.8 MB   disk3s3
   4:                APFS Volume VM                      17.2 GB    disk3s4

I have 2 disks, disk0 and disk1.

Both have an ESP, in disk0s1 and disk1s1. This is not necessary, but I always keep one with an old Clover that I know is bootable, and install new stuff Clover and new configs in the other.

Then you'll see that disk0 has an APFS partition in disk0s3 and that disk1 has another in disk1s4.

Each APFS partition shows up has a virtual disk: disk0s3 is disk3 and disk1s4 is disk2. Finally, each of these virtual disks shows the partitions they have: disk3s1 and disk2s1. But since each of these partitions has a full macOS inside (I use disk2s1="macOS" as my normal boot partition and disk3s1="Test" as a test partition), each APFS virtual disk also has a Preboot and a Recovery partition.

But you see, the container (the APFS partition in the real disk) does not have the ESP.


Thanks, that made it a bit clearer. When I'm running configurator, and in <Mount EFI> those are the identifiers that were making me wonder.
 
I just ordered BCM94352Z from eBay (New). Will update here when I receive it and have time to test.

I really want to free up a slot too, it seems like a good idea in general. OSX Wifi module is pretty old at 300Mbps, but works well.


@izo1 Please provide your feedback once you receive your wifi card. I'm curious as to how that will fair with High Sierra in regards to setting up. I have a couple alternatives coming I'm hoping to be a seamless swap out of the cards without any heavy modding or patching.

I have coming next week...

DW1830 (BCM943602BAED) which is m.2 form factor for the iX299 Pro

&

Azurewave AW-CB160H (BCM94360HMB) which is mini pcie for a laptop I'm gonna try and convert over to mac.

I went with these mainly due to "94360" which seems to share the same with actual airport cards like BCM94360CS & BCM94360CSAX. I'm crossing my fingers they work oob for HS without any major tweaks.


System froze just now... :( after more than 2 days of uptime. So none of the changes I've made are relevant to fix the issue.

Now I'm thinking that it might be GPU related. What I just did before the freeze happened is to put the screens to sleep. The screens are off now, so I cannot turn them back on, I can't ssh to the system, hard drive LED doesn't blink either (meaning the system isn't working).

Sorry for the false hope :(.

I have a spare GTX660 at home I can pop in if you need some more help troubleshooting... If so let me know, give me the EFI folder you are using with your tweaks and i'll leave it up and running for you. Be advised once these cards come in, i'm going offline to install them and that means I will be away unable to lend a helping hand if you need it. Gonna have to disassemble the whole damn PC just to remove that IO shroud. But i'm geeked and cant wait til they come. But keep me posted, I can pop the GTX660 in tonight seeing that it has native support unlike our 10XX series
 
Much more impressively and interesting it is why the heck it works on my Vega build without a problem with the ASUS and as-well with my Designare Motherboard. Very Very interesting.

@DSM2 and @interferenc ,

The Designare motherboard of @DSM2 has unlocked MSR register. This this is a completely different story and topic...

For me the interesting question is why Sleep/Wake with the Vega worked for @DSM2 with the patched ASUS Prime X299 Deluxe and without the "xcpm_core_scope_msrs" kernel patch.

Error E3 might be indirectly GPU related. Maybe Nvidia GPUs cause the OSX Kernel to write to a MSR Register bit on Wake, which is not yet unlocked. Fact is that the latter causes an S3 related E3 mainboard error and System KP. The system just freezes due to error protection C.11) - boot flags "debug=0x100" and "keepsyms=1", otherwise the system would just reboot. There is no way to access the system via remote access. The system is simply dead after wake.

To prove my theory, somebody else with a Vega and a patched ASUS Prime X299 Deluxe, should try to Sleep/Wake his system with the "xcpm_core_scope_msrs" kernel patch disabled. If this works flawless like in case of @DSM2, the issue might be indirectly GPU related as described above... There is no other way to confirm my suspicion.

Thus guys, we need a crash test dummy with a a Vega and a patched ASUS Prime X299 Deluxe with disabled "xcpm_core_scope_msrs" kernel patch! Anybody with such configuration willing to do the Sleep/Wake test I propose above? Your help and feedback is urgently needed!

Solution: to add another BIOS firmware patch, which unlocks the affected MSR Register Bit addressed by Nvidia GPUs on Wake and related with S3.
 
Last edited:
Does anyone have thoughts on the Designare EX X299 board from Gigabyte vs the Gaming 9?

I have the Gaming 9 but I need to return it (has some factory defects) and it seems to be out of stock anywhere and Designare is available. It seems like it's a "replacement".

Doing a quick comparison it seems Thunderbolt is included onboard and Gaming 9 has better onboard DAC.
 
Last edited:
Looking back at the history of my posts on this thread, I started complaining about random freezes (not reboots) right after applying the BIOS patch when I disabled xcpm_core_scope_msrs patch...

Me posting about disabling the patch: #3391
Me first time complaining about freezing: #3434 (several hours later, the same day)

Gonna enable the xcpm_core_scope_msrs patch and leave the system running for a few days (unless it freezes again) to see if that gives us a clue.
 
  • Like
Reactions: kgp
Okay so I did another test just to confirm.

With xcpm_core_scope_msrs patch enabled, I booted and had a MSR 0xE2 of 0x403. Not locked. I sleep/wake, works perfercty. After wake, I had an MSR 0xE2 of 0x8403. Locked. So the ONLY remaining problem with our build is this. I am going to try to find where this get's reset again.

Also, regarding @dsm. If the designare has an unlocked register, no wonder sleep/wake works with no patches. He could use any gpu. But I don't believe his Asus board had no E3 problem on wake without patches. Just as I don't believe he unlocked his MSR 0xE2 with just the kabylake patch. @kgp just confirmed that's not enough. I don't want to contradict @dsm, I just think he might have left the patches in place, or something else. Without this confusion, the solution seem rather clear.

Oh and btw, this might mean getting a Gigabyte board makes more sense, if there are no other drawbacks.

Well Gigabyte boards are known to be very handy and compatible with respect to sleep/wake due to the unlocked MSR register. But why to choose the trivial way if things also can be challenging and difficult ;):lol: .. My choice would have been to e.g. directly build a system with a natively supported Vega. I chose the Nvidia to help all Nvidia freaks in their to be expected issues. The native implementation of the Vega just would have been trivial and the much better option ;):lol:.. The same states for the ASUS boards.. I think they are equal to all Gigabyte boards or in some aspects even better but have the strong drawback of the locked MSR register. Honestly, the Designare is the first Gigabyte Board I would directly and immediately implement myself without any further doubts or considerations. It has been designed with the experience gained with all formerly released X299 mainboard concepts. Former Gigabyte X299 boards I would not recommend at all. I lived my own nightmare with the AORUS Gaming 9 at the very beginning of my X299 endeavour.

Now... should I also change to the Designare and leave all ASUS mainboards freaks up in the air? :p

Finally, I think the KP might be indeed related with Nvidia GPU Wake, as described in my previous post. S3 is just an extended sleep state, much more complex to S1. Both Error E3 and KP are related to S3. And I am convinced that Nvidia GPUs on Wake cause the OSX Kernel to write to a MSR register bit which is still locked or again locked.

Are all these issues really a problem?

Definitely not ;)

Because you @interferenc will provide us with the yet missing BIOS firmware patch :headbang:;):lol:

Cheers, man :thumbup:

KGP
 
Last edited:
Does anyone have thoughts on the Designare EX X299 board from Gigabyte vs the Gaming 9?

I have the Gaming 9 but I need to return it (has some factory defects) and it seems to be out of stock anywhere and Designare is available. It seems like it's a "replacement".

Doing a quick comparison it seems Thunderbolt is included onboard and Gaming 9 has better onboard DAC.

Return immediately the Gaming 9 and opt for the Designare! No doubt! Not one second! You will be the lucky winner in case no other Gaming 9 is available for the replacement ;)

And you have @DSM2, who is eagerly waiting to support you in your Designare endeavour :lol::lol::lol::lol::lol:
 
Last edited:
Return immediately the Gaming 9 and opt for the Designare! No doubt! Not one second! ;)
Awesome.

Just realized the Designare EX obviously looks better and has more features like thunderbolt and a a heatpipe fan. Also it’s cheaper.

Coooooool!
 
@kgp Question: I have a m.2 Samsung 1tb Drive. I just did a clean install on a new system with 10.13.3 imac pro following all your settings and your EFI files.

My question is regarding TRIM, I don't know if my trim is enabled for my M.2 drive, with HFS+ format (not APFS), please see my screenshots:
Screen Shot 2018-01-31 at 2.05.51 AM.png
Screen Shot 2018-01-31 at 2.06.08 AM.png
 
Last edited:
Status
Not open for further replies.
Back
Top