Contribute
Register

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

Status
Not open for further replies.

kgp

Retired
Joined
May 30, 2014
Messages
6,783
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Mobile Phone
  1. iOS
So, @kgp I can report that as of 10.13.3, the Asus XG-C100C 10 GBE card works natively in MacOS in my X99-A II. The only problem I had was I needed a Category 6A certified cable. Once I plugged in the right cable, it came right up and connected as 10GB. I use the intelmausi ethernet kext for my 1 GB built-in card, and I didn't have to add any other kexts. Just plug and play.

As this is a X299 thread, it is not an exact fit for X299 owners, but as others have used this card and the Gigabyte 10 GBE card successfully on other platforms (the 8700k, for instance), I am sure that someone will try this 10GB card on the X299 platform soon, and my guess is that as long as you have the right cable (and 10.13.3, that is critical!), it will work!

If you're interested in the 10GBE thread, you can access it here: https://www.tonymacx86.com/threads/...-for-10gb-ethernet.239690/page-6#post-1682101

Brilliant @mm2margaret :headbang: Your finding will certainly also have impact in the X299 community :thumbup:

Great job :thumbup:
 

trs96

Moderator
Joined
Jul 31, 2012
Messages
19,420
Motherboard
GA-Z97X-UD3H-BK
CPU
i5-4690K
Graphics
HD4600 / RX 570
Mac
  1. MacBook Pro
  2. Mac mini
Mobile Phone
  1. Android
Brilliant @mm2margaret :headbang: Your finding will certainly also have impact in the X299 community :thumbup:
Once you get the 10 GBE working you could change the title of this thread to "How to build your own iMaxOut Pro"
 
Joined
Nov 10, 2017
Messages
5
Motherboard
Asus Prime x299-A
CPU
i9 7900X
Graphics
Nvidia Aorus GeForce GTX 1080Ti
Mac
  1. Mac Pro
Mobile Phone
  1. iOS
All,
Anyone care to assist with a few newbie questions? I appreciate your patience
When updating Clover, I'm unsure about what I really need to set as a custom install or is the standard better?
My M2 (main drive) has a weird naming convention, I get the idea of APFS containers, but the disk numbers in Clover don't align with what I see in Disk utility. There is a FAT32 in the main container that has the EFI for booting.

FWIW I haven't been having sleep/wake issues when I force sleep thru Finder with latest OS/GPU update.

You folks are really fantastic, this has been quite an interesting challenge. I enjoy the discussion.
 
Joined
Sep 20, 2010
Messages
19
Motherboard
Asus Prime X299 Deluxe
CPU
i9-7940X 14-Core, 10.3.3
Graphics
Nvidia GTX 1080 ti, .106 drivers
Mac
  1. MacBook Air
  2. MacBook Pro
Mobile Phone
  1. iOS
D.3
3.) Yet we have to make our iMac Pro macOS USB Flash Drive Installer also bootable. This can be partly done by means of the following terminal commands:

cd /Volumes/USB_VOLUME
mkdir .IABootFiles
cd .IABootFiles
cp /Volumes/USB_VOLUME/System/Library/CoreServices/boot.efi .

Hi KGP, I tried these terminal commands but i think the "cp /Volumes/USB_VOLUME/System/Library/CoreServices/boot.efi ." has some issues, this command is missing something.... any ideas?

Thanks for your guide!
 

kgp

Retired
Joined
May 30, 2014
Messages
6,783
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Mobile Phone
  1. iOS
Hi KGP, I tried these terminal commands but i think the "cp /Volumes/USB_VOLUME/System/Library/CoreServices/boot.efi ." has some issues, this command is missing something.... any ideas?

Thanks for your guide!

Yes it misses the real name of YOUR_USB_VOLUME! ;):lol:
 
Joined
Sep 20, 2010
Messages
19
Motherboard
Asus Prime X299 Deluxe
CPU
i9-7940X 14-Core, 10.3.3
Graphics
Nvidia GTX 1080 ti, .106 drivers
Mac
  1. MacBook Air
  2. MacBook Pro
Mobile Phone
  1. iOS
Yes it misses the real name of YOUR_USB_VOLUME! ;):lol:
haha, I see my issue now, its fixed... there was a space before the period, but it deleted it, thinking it was a mistake.
 
Joined
Oct 25, 2013
Messages
124
Motherboard
MSI X299 SLI Plus
CPU
i7-7820X
Graphics
RX580 + GTX1070 + GT710
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
When updating Clover, I'm unsure about what I really need to set as a custom install or is the standard better?
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".

My M2 (main drive) has a weird naming convention, I get the idea of APFS containers, but the disk numbers in Clover don't align with what I see in Disk utility. There is a FAT32 in the main container that has the EFI for booting.
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.
 
Last edited:

kgp

Retired
Joined
May 30, 2014
Messages
6,783
Motherboard
ASUS WS X299 Sage 10G
CPU
i9-7980XE
Graphics
Vega 64
Mac
  1. iMac
  2. MacBook Pro
  3. Mac mini
Mobile Phone
  1. iOS
Okay so I've done some more research.

Based on Pike's work here:
https://pikeralpha.wordpress.com/2016/08/10/checks-for-two-unused-processor-models-found/

I have pinpointed that the _xcpm_core_scope_msrs patch does only one thing: disables writes the MSR 0xE2. For our skylake X processors, the kernel wants to write 0x7e000003. With the patch disabled, I get the E3 error on wake. BUT I checked the KP report, like the others here and this part
Code:
0xfffffd000004c6d0 : 0xffffff801698c6b4 mach_kernel : _xcpm_perf_bias_set + 0x294
0xffffffa7644dbc20 : 0xffffff801698c9be mach_kernel : _xcpm_init + 0xde
Points to the exact wrmsr instuction the patch disables.

In fact, the processor register dump clearly shows
Code:
*** Panic Report ***
panic(cpu 0 caller 0xffffff801696e349): Kernel trap at 0xffffff801698c6b4, type 13=general protection, registers:
CR0: 0x0000000080010033, CR2: 0x000000010a141000, CR3: 0x000000002c354000, CR4: 0x00000000003627e0
RAX: 0x000000007e008003, RBX: 0xffffff8017057320, RCX: 0x00000000000000e2, RDX: 0x0000000000000000
RSP: 0xffffffa7644dbbf0, RBP: 0xffffffa7644dbc20, RSI: 0x0000000000000003, RDI: 0xffffff80170572c0
R8:  0x0000000100000201, R9:  0xffffff801a80101f, R10: 0x0000000000000003, R11: 0xffffff8016f70eeb
R12: 0xffffff8016f78896, R13: 0x0000000000000001, R14: 0x0000000000000000, R15: 0xffffff8016f7887c
RFL: 0x0000000000010046, RIP: 0xffffff801698c6b4, CS:  0x0000000000000008, SS:  0x0000000000000010
Fault CR2: 0x000000010a141000, Error code: 0x0000000000000000, Fault CPU: 0x0, PL: 0, VF: 0

RAX gets written to the lower 32 bits of the MSR named in RCX, and that is exactly what I tought it is: 7e008003 to 0xe2!

So in essence, on wake, the kernel tries to write to the MSR 0xE2 again, and this time it fails. I think it might be locked at that point. Because I just checked, and with an unlocked register, I can write to it whatever I want without a KP. So maybe, just maybe, the BIOS has another point where it locks the register, probably on s3 wake. That's my best guess so far, and I will look into the bios again.

This was exactly my suspicion which you herewith impressively confirmed :thumbup:

Do you think we will be able to add another patch?
 
Joined
Sep 4, 2015
Messages
77
Motherboard
ASUS Prime X299-A
CPU
i9-7920X
Graphics
RX Vega 64
Mac
  1. MacBook Pro
  2. Mac mini
Mobile Phone
  1. iOS
The iMacPro is using RAID 0 with two drives - giving it better performance.

I tried back on Sierra to use Apple RAID on 2 x NVME drives, however the performance was not much better than a single drive.\

Does anyone know how the iMacPro is doing RAID ? Is it BIOS or using the Apple RAID ?

Would like to try and create the RAID and see if performance is now improved

Hi @ccozmo,

Did you ever get a response to this question? Or have you tried one on your own?

I'm interested in setting up a RAID and was wondering what the best configuration was.

@Thireus, I think you said you set up a RAID, would you mind sharing what mechanism you used?

Thanks!
 
Status
Not open for further replies.
Top