A lot of the information used in this guide is found on this site. This is just specific to this very popular desktop PC right now. For reference you can refer to the Retail DVD guide. Which I've used with great success in getting a GA-P35-DS3R working.
As of today I've got most of the good bits working, there is still a lot of things that will have to be corrected in the future. I'm relying on the help of others to smooth things out.
First things first is getting the BIOS ready.
Advanced CPU settings:
- HyperThreading disabled
- Virtualization enabled
- CPUs 1 (this might work with 2)
Format the hard drive
Grab a copy of iAtkos 5i. I've tried iDeneb but the voodoo kernel crashes on my system.
When the installer loads open up Disk Utility.
Format the drive for GPT. Create 2 or more partitions. I have a small iAtkos partition of 20GB used as my failsafe. I have a MSDOS partition of 80GB for Windows Vista (yes, you can install Windows under GPT. I'll show you how). And I have a Retail partition of 80GB I call Vanilla.
After the disk is formatted you can either proceed to install iAtkos or reboot and run the Windows installer.
You've decided to go with Windows. 2 things you will be running x64 since it can boot from the GPT disk. It cannot format or modify other partitions on the GPT disk but it can interact with FAT NTFS paritions.
Insert the Windows Vista or 7 CD when the screen gets to the disk selection screen you'll see the 200MB EFI partition and a series of 128MB spacer partitions. Choose the partition you formatted as FAT32. It will reformat to NTFS and install. After it finishes reboot choose F12 and select your hard drive. at the EFI boot screen select Windows based file system and you'll be back in windows. You'll have to do this everytime you boot and get to the EFI window. I put a 5 second pause in my Boot.plist so I could choose my boot volume.
At the install screen customize your interface to have the following things installed.
- PC EFIv9
- AppleSMBIOS - netkas
- Kernel 9.5.0 fassl
- Intel AHCI SATA
When finished reboot. It might take a while for the screen to show up. I booted in verbose mode and noticed it was taking a long time on the mDNSResponder. I thought it crashed a few times but I eventually got to Leopard screen when I left it alone long enough.
Now that your done pop in your Retail Leopard CD. From the command prompt # open Mac\ OS\ X Install\ DVD/System/Library/Installation/Packages/OSInstall.mpkg. Change the Install location to Vanilla or whichever disk you were planning to go with. If you don't have the latest Leopard CD download the Combo update for 10.5.6 from the Apple Support page.
Removing kexts, adding, replacing
Based on this guide here by Digital_Dreamer we will be copying the following kext to a safe place.
(ex. cp -r /Volumes/Vanilla/System/Library/Extensions/AppleACPIPlatform.kext /Volumes/Vanilla/vanillabackup/)
- com.apple.Boot.plist (from /Volumes/Vanilla/Library/Preferences/SystemConfiguration)
Place all the extensions in the S/L/E folder
Grab a copy of PC_EFIv9 from here and install it on Vanilla
I noticed the DD kext package doesn't include the AppleSMBIOS.kext. I have included one in the zip file below
Backup the vanilla mach_kernel. And replace it with the voodoo 9.6.0 kernel. install the System.kext
While you are here do the steps to get a working DSDT like below. the patcher is in the zip file below. A copy of my DSDT.aml is included. Place it in the root of Vanilla and the long boot headache goes away.
This is the final step. If everything went right we should be booting into an almost functional version of Leopard. For some reason my startup takes longer than it should and I haven't quite figured out why. But eventually it gets to the desktop. If you get a blue screen please wait a few minutes. I have the Dell installed ATI Radeon HD 3650 with 256MB of RAM. The screen will bluescreen for a few minutes and continue on to the leopard nebula like nothing happened. I after 10-15 minutes you still are at the bluescreen then download this.
Some last notes.
I fixed the long boot problem by editing the dsdt.dst and then running DSDT Patcher again.
1. Run DSDT Patcher and select option 0. Open the debug folder and edit dsdt.dst. In the first 20 lines of code remove any CPU aliases. copy dsdt.dst to the folder above and run command DSDT\ Patcher dsdt.dst. It will create a new dsdt.aml. Rename this to DSDT.aml and copy to the root of Vanilla. Boot time drops from minutes to 30 seconds or less. You should also enable all cores and Hyperthreading in the BIOS.
When I opened activity monitor I thought I was down to one core. It's because activity monitor ran out of space and showed a summary. Open CPU history windows and you'll have all 8 cores listed.
Sound doesn't work, but the System profiler shows 2 devices. I believe one is the HDMI sound chip and the other is the motherboard. Restart and shutdown work. I really don't put anything to sleep since I also use the PC as a server.
I have 100Mb Ethernet now (no switch for GB ethernet, to test) Do a search for the Intel82566 kext and drop it into your Extensions folder. After this I added it to my EFI string and (optional) deleted NetworkInterfaces.plist and preference.plist from /Library/Preferences/SystemConfiguration. This resets all your network interfaces so en0 is ethernet en1 is airport fw0 is firewire and etc. Deleting your network interface is optional but is used by timemachine to determine the machine GUID.
I have created a zip file of my current setup. It has EFI strings for the ATI 3650, built-in lan, and pointers to sound (when that gets sorted). It also sets the macmodel, to MacPro3,1. Everything but sound works. You should edit it and take out parts (kernel for example) you don't need.
I still haven't gotten sound out working. None of the AppleHDA.kexts I've tried appear to work. The device shows up, some of the ports are listed but no sound from any of them. I am working on it at the moment but this is far beyond my expertise. I'm including the dumps, strings and pinmaps I've made so far. This is supposed to go into the HDAController.kext and HDAPlatformDrive.kext inside of AppleHDA.kxt.