- Joined
- May 6, 2021
- Messages
- 26
- Motherboard
- Dell 09KPNV
- CPU
- Intel Xeon W3530 Quad Core (Bloomfield/Nehalem)
- Graphics
- Gigayte GeForce GT 710 (2GB) [GK208] {GV-N710D5-2GL}
- OS X/macOS
- 10.13.x
- Bootloader
- OpenCore (UEFI)
- Mac
- MacBook Air
- Mobile Phone
- iOS
Table of Contents
- Terms for beginners
- Requirements
- Quick Overview
- Download macOS Recovery & Create USB drive
- Setup USB for Legacy Boot & Mount OC ESP
- Add base OC files (Debug)
- Add kexts (Release)
- Add SSDTs (from the attached archive)
- Cleanup Tools
- Add Resources
- Setup config.plist
- BIOS Settings
- Install macOS
- Post-Install work
Term | Description |
---|---|
macOS Recovery | The software for reinstalling macOS, recovery, etc |
USB (drive) | USB stick |
USB Controller | The chip on the motherboard responsible for the USB ports |
USB 1.1 (UHCI) | Universal Host Controller Interface responsible for USB v1.1 ports |
USB 2.0 (EHCI) | Enhanced Host Controller Interface responsible for USB v2.0 ports |
USB 3.0 and up (XHCI) | Extensible Host Controller Interface responsible for USB v3.0 port and up |
Legacy BIOS/ UEFI | Legacy Basic Input Output System is used on the older computers |
Legacy Boot / UEFI Boot | UEFI is a newer version of "BIOS" and is used on the newer computers |
OC | OpenCore Bootloader |
HDD | Hard Disk Drive |
SSD | Solid State Drive |
GPT (GUID Partition Table) | The partition table which a HDD/SSD/USB drive is using (the partition table which the Macintosh HD drive and the USB drive will be formatted with) |
Macintosh HD | The name of the HDD which we'll be using in this guide |
AFPS | Apple Filesystem (the filesystem which the Macintosh HD drive will be formatted with) |
Metal Compatible GPU | GPU which is supported by Apple's Metal API Read more on Wikipedia |
Ethernet NIC | An Integrated NIC (Network Interface Card) is an Ethernet controller included as part of the motherboard of a computer |
Integrated Audio | Integrated sound card/audio chip on the motherboard |
Boot Chime | The sound which plays right after the computer is powered on |
ESP | The EFI partition on HDD/SSD/USB drive |
(Emulated) NVRAM | Non-volatile random-access memory is used to store data which is available between shutdowns/reboots. On older PCs such as T3500 there's no native NVRAM, this is why it must be emulated via a file |
GUI | Graphical User Interface |
(Debug) | Debug version of a software (this is primarily for OC, until the installation is done) |
(Release) | Release version of a software (this is for post-install usage, because it reduces the boot time and a lot of other stuff) |
OEM | Original Equipment Manufacturer - in this guide it refers to the original version of something |
DSDT | Differentiated System Description Table, part of ACPI specification, supplies information for the devices, power, etc |
SSDT | Secondary System Description Table, part of ACPI specification, used to provide additional description to the devices, power events, etc which are defined in DSDT and other SSDTs |
Note: If there are missing terms I can add them
2. Requirements
CPU: Intel Xeon W3530 Quad Core (2.8GHz) |
(Metal) Compatible GPU: Gigabyte GeForce GT-710 (2GB) [GK208] |
Ethernet NIC: BCM5761 NetLink (TM) Gigabit Ethernet |
(Integrated) Audio: Analog Devices AD1984A (needed for Boot Chime to work) |
OpenCore (OpenCore Download , OcBinaryData) |
USB Flash Drive (min. 4GB) |
macOS already installed on another drive or machine and Windows if you're going to generate USBMap with USBToolBox |
BIOS A17 for Dell T3500 |
Hackintool (Download from GitHub) |
ProperTree (Download from GitHub) |
GenSMBIOS (Download from GitHub) |
Important: Before you begin, please check if your DSDT and SSDTs match mine which are located inside the archive in .dsl (source/decompiled) format. You can use Diff Checker Online to compare your DSDT against mine. If there is a huge difference (excluding the first rows which are comments above the DefinitionBlock statement, please create a post reply below and attach your DSDT and SSDTs and I'll respond back with customised setup for you.
3. Quick Overview
Fully working | Partially working | Not working |
---|---|---|
USB 2.0 (EHCI) | Sleep | USB 1.1 (UHCI) |
Power Management | Shutdown | Reboot |
Emulated NVRAM | Audio | Dortania OpenCore & Big Sur Known Issues |
Software Updates | ||
Monitoring Sensors (with FakeSMC and iStat Menus) | ||
Everything else (iServices, Bootcamp, Time Machine etc) |
4. Download macOS Recovery & Create USB drive
Follow the OC guide here. Use "OC" as partition name when you format the USB drive.Note: RecoveryImage.dmg is downloaded as BaseSystem.dmg
5. Setup USB for Legacy Boot & Mount OC ESP
Follow the OC guide here. The bootX64 file will be automatically named boot when you use the BootInstall_X64.toolFollow the OC guide for mounting the EFI partition here. I advise you to install MountEFI menu helper, so you can use right click on HDD/USB > Quick Actions > Mount EFI.
6. Add base OC files (Debug)
Follow the OC guide here. For T3500 add HfsPlusLegacy.efi (from OcBinaryData/Drivers) to the Drivers folder.Here's a list which drivers should be inside the Drivers folder:
Driver | Description |
---|---|
AudioDxe.efi | Onboard audio during boot for the Boot Chime |
HfsPlusLegacy.efi | Legacy variant of HfsPlus, used for systems that lack RDRAND instruction support. Needed for seeing HFS volumes(ie. macOS Installers and Recovery partitions/images) |
OpenCanopy.efi | OpenCore GUI |
OpenRuntime.efi | Required for proper operation |
OpenUsbKbDxe.efi | Required for non-UEFI systems(pre-2012), in order the USB keyboard to work |
UsbMouseDxe.efi | Required for the mouse to work inside the OpenCore GUI |
7. Add kexts (Release)
Follow the OC guide here. FakeSMC - DownloadHere's a list which kexts should be inside the Kexts folder for T3500:
Kext | Description |
---|---|
AppleALC | Audio |
BCM5722D | Ethernet |
FakeSMC | SMC emulation, sensors |
FakeSMC_ACPISensors | ACPI sensors |
FakeSMC_CPUSensors | CPU sensors |
FakeSMC_GPUSensors | GPU sensors |
FakeSMC_LPCSensors | LPC sensors (the current ISA bridge is not supported, but system fan is not showing if this is not added) |
FakeSMC_SMMSensors | Dell System Management Mode |
Lilu | Required for AppleALC to work |
WhatevenGreen | Does most of the GPU magic, however DRM is broken in Big Sur (Apple TV doesn't play movies/shows, but does play the trailers, Netflix doesn't play on Safari, but works on other browsers) |
USBMap | Optional, because ICH10 has multiple USB controllers with 4-6 ports per controller and the 15 port limit is not reached per controller, but it's needed if you somehow manage to get the USB 1.1 ports working with the singleUserMode patch and without USB 2.0 hub as a workaround |
8. Add SSDTs (from the attached archive)
SSDT | Description |
---|---|
SSDT-CPU-PM.aml | Power Management with C & P states, generated via Clover for Xeon W3530 |
SSDT-DTGP.aml | Adds DTGP method |
SSDT-EC.aml | Adds Fake Embedded Controller for macOS to play with |
SSDT-HPET.aml | Adds HPE0 device with IRQ 0 and 8 (original HPET device is disabled by SSDT-IRQ) |
SSDT-IRQ.aml | Disables the original RTC, HPET and TMR devices to resolve IRQ conflicts |
SSDT-LPCB.aml | Adds _DSM (device specific method) to the LPC (ISA) bridge (needed for AppleLPC to work) |
SSDT-MCDP.aml | Adds MCDP method |
SSDT-MCHC.aml | Adds MCHC device, needed for SMBus |
SSDT-RTC.aml | Adds RTC0 device without IRQ 8 and 128 bytes memory to resolve CMOS reset issues with BIOS (original RTC device is disabled by SSDT-IRQ) |
SSDT-SBUS.aml | Adds SMBus device |
SSDT-TMR.aml | Adds TIMR device without IRQ 0, to free it up for HPE0 (original TMR device is disabled by SSDT-IRQ) |
Note: .aml files are compiled, .dsl files are source (decompiled)
Update 02.09.2021: If you add values to Packages and Buffers, remove their sizes and leave the calculation to MaciASL. Here's an example code:
C-like:
Package (0x01)
{
Buffer (0x02)
{
"built-in",
0x00
}
}
Becomes like this:
C-like:
Package ()
{
Buffer ()
{
"built-in",
0x00
}
}
9. Cleanup Tools
Remove all files from the Tools folder, because we won't use them.10. Add Resources
Copy all the Resources from OcBinaryData/Resources to ESP/EFI/OC/Resources. If you don't need the VoiceOver inside the OC GUI, copy only the Boot Chime sound which is called "OCEFIAudio_VoiceOver_Boot.mp3" inside OcBinaryData/Resources/Audio.11. Setup config.plist
The config.plist is configured as per the guide here for Nehalem. There's a few adjustments which need to be done.Start by opening the config.plist with ProperTree from the archive.
ACPI -> Delete -> 0 -> (Comment) Drop OEM SSDT PM - This drops the OEM SSDT, check if your SSDT's DefinitionBlock has PPM RCM as 5th argument. If it's different, then you need to copy the value and use base64 encoding to convert it to base64 format and then replace UFBNIFJDTSA= by pasting the base64 encoded value in ACPI > Delete > 0 > OemTableId (using text editor) or convert the value to HEX and paste it inside ProperTree.
DeviceProperties -> Add -> PciRoot(0x4)/Pci(0x1C,0x5)/Pci(0x0,0x0) - This is the network card's PCI address. You can use Hackintool to check if yours is the same. If it's not, then you need to replace the value with the one which Hackintool shows you for the network card.
It's important to add it as built-in if you're going to use iServices. If you don't then you can remove the entry from the Add dictionary.
NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> boot-args > alcid=13 - This is the layout-id for the AD1984A codec. If it doesn't work or yours is different, check AppleALC for your codec and additional layout-ids.
Run GenSMBIOS and generate SMBIOS for MacPro6,1 and then modify the following values:
PlatformInfo -> Generic:
Copy Board Serial to MLB
Copy Serial to SystemSerialNumber
Copy SmUUID to SystemUUID
Copy AppleROM to ROM or use your network card's mac address directly as Data by omitting the dashes and the colons.
Find your Audio device PCI path, the audio codec and the audio output for the internal speaker and replace them if they don't match the predefined values.
UEFI -> Audio:
AudioCodec: 0
AudioDevice: PciRoot(0x0)/Pci(0x1B,0x0)
AudioOut: 2
12. BIOS Settings
You must switch to SATA AHCI mode and disable the serial and the com ports. You can enable everything else such as VT-x, VT-d, TPM etc.13. Install macOS
Note: You have total of 3 reboots, 1 from macOS Recovery and 2 from the macOS installer itself after you finish the procedure below.
Boot the OC USB and select "OC" which will boot the macOS Recovery located at OC/com.apple.recovery.boot/BaseSystem.dmg.
Open Disk Utility and from View > Show All Devices. Select the disk you're going to install macOS on and format it with APFS filesystem, name it "Macintosh HD" and select GUID Partition Table as Partition Table Scheme. After the disk is formatted quit Disk Utility and select "Reinstall macOS Big Sur" from the menu, accept the terms, select "Macintosh HD". Then it will start downloading and installing.
After it downloads it will try to reboot. However the PC won't reboot (at least in my case), then look for the HDD indicator which is located on the front panel left side from the 2 USB ports. Watch it for a couple of seconds (I spent ~1 minute doing it). If it doesn't blink then you can use the power button to shutdown the PC. Boot again to OpenCore, but this time don't select anything and use the power button to shutdown the PC. Plug the USB into your second system or boot the second system on your PC. Mount the EFI partition and check the log files for the following:Quick Note: It may show up that more than 2 hours are left, but in reality it's about 12-20 minutes.
Look for "macOS Installler ... com.apple.installer" or use regex search for "macOS Installer.*com.apple.installer" inside the last OC log file. You should be able to find an UUID which looks like that: 0E57325E-6B34-4F92-B639-AB82375EC65E. Make sure it's pointing to the hard drive by reading a couple or lines. After you find yours copy it. Replace MY_UUID with your own above and copy the entire text and
convert it to base64 encoded value using base64 encoding.
This is important, because T3500 doesn't have native NVRAM and Big Sur installer is dependant on this.msu-product-url://MY_UUID/macOS%20Install%20Data
Open config.plist again and go to NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82. Add a new key with name msu-product-url and set it's type to Data. Then paste the base64 encoded string. Keep in mind that this also enables macOS updates to work in future. Save your config.plist and shutdown.
Boot OC USB. This time select macOS Installer. After the PC tries to reboot again you'll have to repeat the above procedure for manual shutdown. This time wait ~ a minute and more for the indicator.
Boot the PC again and select macOS Installer again. This time you'll see a lot of verbose debugging output. Keep an eye on it and you'll be able to see how much % is complete. After it finished it will try to reboot again. Repeat the above procedure for manual shutdown. This time wait ~ 3 minutes for the HDD indicator to be inactive.
Boot OC and this time boot into Macintosh HD. If the mouse/keyboard doesn't work, use USB 2.0 peripherals or USB 2.0 hub with USB 1.1 compatibility. Setup your "Mac" and download ProperTree and MountEFI, so you can proceed with the USB removal and the direct boot from the hard disk itself without a GUI.
14. Post-Install work
Enable Emulated NVRAM, Boot without USB, Disable Debugging, Switch to OpenCore ReleaseSwitching to OC Release is easy - just use the OC Release archive which you've downloaded and replace the following files inside the EFI with the ones from the OC Release.
EFI/BOOT/BOOTx64.efi
EFI/OC/Drivers/AudioDxe.efi
EFI/OC/Drivers/OpenCanopy.efi
EFI/OC/Drivers/OpenRuntime.efi
EFI/OC/Drivers/OpenUsbKbDxe.efi
EFI/OC/Drivers/UsbMouseDxe.efi
EFI/OC/OpenCore.efi
Disable debugging:
Remove "-v" from NVRAM -> Add -> 7C436110-AB2A-4BBB-A880-FE41995C9F82 -> boot-args
Misc -> Debug -> AppleDebug = False
Misc -> Debug -> ApplePanic = False
Misc -> Debug -> Target = 0
Enable Emulated NVRAM:
NVRAM -> LegacyEnable = True
NVRAM -> LegacyOverwrite = True
NVRAM -> WriteFlash = True
Read the guide above for which files to copy to enable nvram dump on shutdown and proceed with it. I suggest you to put the files inside ~/LogoutHook/.
Final touches:
Misc -> Security -> ScanPolicy = 0
Misc -> Boot -> PollAppleHotKeys = True
Misc -> Boot -> ShowPicker = False (this turns off the OC picker menu)
Copy the EFI folder off the USB to the Desktop. Unmount the USB EFI and mount Macintosh HD's EFI. Move the EFI folder from the Desktop to the Macintosh HD's EFI. The full path should be /EFI/EFI/OC/. Go to the OC Release and run the BootInstall_X64.tool for Legacy Boot. Select the Macintosh HD and wait for it to write the boot sector. Then shutdown and boot again.
Congrats! Now you are running Big Sur 11.6.4 with OC 0.7.8 on Dell T3500.
I managed to install Big Sur on Dell Precision T3500 using MP6,1 SMBIOS and OpenCore 0.6.8. Almost everything is working, but some things doesn't:
Here's a list with the issues I have:
- Emulated NVRAM doesn't want to work in any circumstances
- Can't restart, but shutdown and sleep & wake works - I have proper power management using C and P states, speed step works (I compared the values such as temp, cpu speeds, multiplier etc. in windows and they are pretty much the same)
- USB 1.1 devices are recognised only at boot. If I unplug and plug back a USB 1.1 device such as my 2.4G mouse and keyboard or bluetooth dongle, they don't function anymore, macOS doesn't even detect them.
- Wake from sleep sometimes takes about a minute
- Mouse and keyboard (I think all USB 1.1 devices) stop working right after I go to Settings > Software Updates and it starts checking for an update
- Bluetooth USB Dongle is scanning, devices are found, but I can't connect my AirPods or iPhone. It always connects but after 2-3 seconds it disconnects. For the iPhone it displays pairing code and 2-3 seconds after it's paired it disconnects.
- Karabiner Elements stopped functioning I guess it's related to the USB 1.1 issue above.
- OpenCore Picker menu with GUI doesn't shutdown when clicked shutdown button, it restarts.
My build is closer to MP5,1 SMBIOS but since Catalina it's no longer supported, that's why the next closer one is MP6,1.
I attached my OC folder and also the DSL source files for my SSDTs.
Here's a list with the issues I have:
- Emulated NVRAM doesn't want to work in any circumstances
- Can't restart, but shutdown and sleep & wake works - I have proper power management using C and P states, speed step works (I compared the values such as temp, cpu speeds, multiplier etc. in windows and they are pretty much the same)
- USB 1.1 devices are recognised only at boot. If I unplug and plug back a USB 1.1 device such as my 2.4G mouse and keyboard or bluetooth dongle, they don't function anymore, macOS doesn't even detect them.
- Wake from sleep sometimes takes about a minute
- Mouse and keyboard (I think all USB 1.1 devices) stop working right after I go to Settings > Software Updates and it starts checking for an update
- Bluetooth USB Dongle is scanning, devices are found, but I can't connect my AirPods or iPhone. It always connects but after 2-3 seconds it disconnects. For the iPhone it displays pairing code and 2-3 seconds after it's paired it disconnects.
- Karabiner Elements stopped functioning I guess it's related to the USB 1.1 issue above.
- OpenCore Picker menu with GUI doesn't shutdown when clicked shutdown button, it restarts.
My build is closer to MP5,1 SMBIOS but since Catalina it's no longer supported, that's why the next closer one is MP6,1.
I attached my OC folder and also the DSL source files for my SSDTs.
20.Feb.2022
- Updated OpenCore 0.7.3 to 0.7.8
- Updated macOS Big Sur from 11.6 to 11.6.4
- Updated the guide after my personal update
- Updated OpenCore 0.7.3 to 0.7.8
- Updated macOS Big Sur from 11.6 to 11.6.4
- Updated the guide after my personal update
Attachments
Last edited: