Jump to content

[GUIDE] Maximus/Rampage Formula - Retail Vanilla Install


Dismounted
 Share

75 posts in this topic

Recommended Posts

ASUS Maximus/Rampage Formula - Snow Leopard Guide

 

Version 1.0

 

Asus-Maximus-Formula-A455-3.jpg

 

This guide was primarily created for my hardware (see below).

  • ASUS Maximus/Rampage Formula (X38/X48 ICH9R)
  • ATI Radeon HD 4850 (512MB)
  • Analog Devices SoundMAX AD1988B
  • Marvell Yukon2 88E8056 Gigabit Ethernet
  • JMicron ATA (IDE + SATA)

You Will Need

  • My Snow Leopard Package (Download Here)
  • Mac OS X Leopard (Any Retail Image)
  • Mac OS X Snow Leopard (Any Retail Image)

Pre-Installation

Make sure that you have configured the SATA ports as AHCI in the BIOS.

 

Installation Instructions

  1. Burn "boot-132.iso" (from "Leopard" directory) to a CD.
  2. Boot the CD and install Leopard using it.
  3. Boot up Leopard.
  4. If you wish to try using my pre-patched DSDTs, skip to step 21.
  5. Inside Leopard, open DSDTSE (inside Tools).
  6. Click "Extract DSDT" and save it as "dsdt.dsl".
  7. Open the extracted DSDT and apply the DTGP, HPET and RTC fixes. You can find these in DSDTSE under "DSDT Hacks". Check if they have been already applied!
  8. In the "Device (SATA)" section, add this above "Method (_REG, 2, NotSerialized)".
     			   Method (_DSM, 4, NotSerialized)
    			{
    				Store (Package (0x02)
    					{
    						"device-id",
    						Buffer (0x04)
    						{
    							0x81, 0x26, 0x00, 0x00
    						}
    					}, Local0)
    				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
    				Return (Local0)
    			}


  9. In the "Device (EUSB)" section, add this below the "Method (_PRW, 0, NotSerialized)" section (below the closing brace!).
    				Method (_DSM, 4, NotSerialized)
    			{
    				Store (Package (0x02)
    					{
    						"device-id",
    						Buffer (0x04)
    						{
    							0x3A, 0x3A, 0x00, 0x00
    						}
    					}, Local0)
    				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
    				Return (Local0)
    			}


  10. In the "Device (USBE)" section, apply the same fix as in step 9, except substitute "0x3A" with "0x3C".
  11. In the "Device (USB0)" section, apply the same fix as in step 9, except substitute "0x3A" with "0x34".
  12. In the "Device (USB1)" section, apply the same fix as in step 9, except substitute "0x3A" with "0x35".
  13. In the "Device (USB2)" section, apply the same fix as in step 9, except substitute "0x3A" with "0x36".
     
    Note the omission of the USB3 section here!
     
     
  14. In the "Device (USB4)" section, apply the same fix as in step 9, except substitute "0x3A" with "0x37".
  15. In the "Device (USB5)" section, apply the same fix as in step 9, except substitute "0x3A" with "0x38".
  16. In the "Device (USB6)" section, apply the same fix as in step 9, except substitute "0x3A" with "0x39".
  17. After the closing brace of the "Device (USBE)" section, add the following.
    			Device (HDEF)
    		{
    			Name (_ADR, 0x001B0000)
    			Method (_DSM, 4, NotSerialized)
    			{
    				Store (Package (0x08)
    					{
    						"codec-id",
    						Buffer (0x04)
    						{
    							0x9B, 0x82, 0x43, 0x10
    						},
    
    						"layout-id",
    						Buffer (0x04)
    						{
    							0x0C, 0x00, 0x00, 0x00
    						},
    
    						"device-type",
    						Buffer (0x17)
    						{
    							"Analog Devices AD1988B"
    						},
    
    						"PinConfigurations",
    						Buffer (0x24)
    						{
    							/* 0000 */	0x30, 0x40, 0x21, 0x01, 0x10, 0x40, 0x11, 0x01,
    							/* 0008 */	0x40, 0x90, 0xA1, 0x01, 0x50, 0x30, 0x81, 0x01,
    							/* 0010 */	0x60, 0x10, 0x01, 0x01, 0x20, 0x90, 0xA0, 0x90,
    							/* 0018 */	0x80, 0xF1, 0x45, 0x01, 0x90, 0xF1, 0xC5, 0x01,
    							/* 0020 */	0x70, 0x60, 0x01, 0x01
    						}
    					}, Local0)
    				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
    				Return (Local0)
    			}
    		}


  18. In the "Device (PWRB)" section, change "_HID" to "_CID".
  19. Drag the modified DSDT file onto the "iaslMe" executable in the Tools directory.
  20. Rename the resulting "dsdt.aml" file (in a "Sessions" subdirectory) to "DSDT.aml". If there are errors, this file will not exist, post the log in the thread.
  21. Open Disk Utility and format a disk with one partition as "Mac OS Extended (Journaled)". Name it something meaningful (I chose "MacOS").
  22. Mount your Snow Leopard DMG image.
  23. Open Terminal and launch the installer.
    open /Volumes/Mac\ OS\ X\ Install\ DVD/System/Installation/Packages/OSInstall.mpkg


  24. Proceed with the installation selecting your created partition and deselecting "Printer Drivers" in the Customise menu (it causes errors).
  25. Extract the Chameleon archive (no automatic install here!).
  26. Go back into Terminal and change to the directory you extracted.
  27. In Terminal, enter the following command. Note the disk identifier for "EFI" on the disk you formatted earlier. The following steps assume an identifier of /dev/disk0s1.
    diskutil list


  28. Install Chameleon into the MBR and boot sector.
    sudo -s
    cd i386/
    fdisk -f boot0 -u -y /dev/rdisk0
    dd if=boot1h of=/dev/rdisk0s1


  29. Mount the EFI partition with these commands.
    mkdir /Volumes/EFI
    mount_hfs /dev/disk0s1 /Volumes/EFI


  30. Relaunch Finder using Force Quit (Ctrl + Cmd + Esc).
  31. Copy Chameleon files into EFI partition.
    cp boot /Volumes/EFI
    cd ../
    cp -R Optional Extras/Themes/ /Volumes/EFI/Themes/


  32. In Finder, copy the entire "Extra" directory inside "Snow Leopard" into the EFI Partition.
  33. Overwrite DSDT.aml in the "Extra" directory with the one you created in step 20. Skip this step if you opted not to create your own (lazy!).
  34. Open PlatforumUUID.kext and edit its Info.plist. Insert your own UUID in place of "AA1D5C26-2E72-3173-93D8-7DD0D0F180D3" (find it in Disk Utility, under "Info").
  35. For nVidia cards, add your EFI string into com.apple.Boot.plist. Also remove "EVOenabler.kext" from "Extra/Extensions".
  36. Pray and reboot. Make sure you boot with "-x" if you have an ATI card (otherwise you'll get display issues).
     
    You are done if you have an nVidia card. Congratulations!
    If you have an ATI Radeon HD 4850 graphics card, follow on. If you have other ATI cards, find a guide for yours (sorry).
     
     
  37. Copy ATI4800Controller.kext to the desktop from "System/Library/Extensions".
  38. Edit its Info.plist, adding "0x94421002" next to "0x944a1002".
  39. Drag the KEXT onto "Kext Utility" (found in Tools).
  40. Pray and reboot. There should be no need to use any kernel flags.
     
    Congratulations! You should now have a fully working Snow Leopard installation.

ATI Radeon HD 4850 Users

Remember that you will need to reapply the device ID patch to ATI4800Controller.kext after updates (such as in the 10.6.1 update). Boot with "-x" to get into Snow Leopard.

 

Change Log

Version 1.0 - 16/09/2009

  • Initial Release

I know this guide doesn't use the "best" method, but its the only one that worked for me.

Link to comment
Share on other sites

Whoops, forgot to add a step to format the EFI partition. Run this (should already be in superuser):

diskutil eraseVolume "HFS+" "EFI" /dev/disk0s1

The above assumes that the EFI partition is located at disk0s1, double-check this. Also, you will receive an error afterwards that says the following. Ignore it and follow on at step 29.

Could not mount disk0s1 with name after erase
Link to comment
Share on other sites

Ok so I beat about the bush a bit and partitioned mbr then back to GUID. Then I went through all of the above once more and it mounted the EFI. What editor do you use to edit kexts? Textedit isnt working and neither is nano.

 

Edit: PlistEdit Pro does the trick. Just grab the trial.

 

Edit2: I just watched the intro video with sound and transferring my data from the Leo partition. Thanks for your guide and kexts Dismounted!!!

Link to comment
Share on other sites

Would you happen to have the strings for these two Nvidia Cards. 7300GT and 9800GT.

 

I have to Asus MF's one with the 7300GT and the other with the 9800GT.

 

 

Other than that everything is the exact same as your board. Not sure what I need to do to the DSDT? Boot,plist?

 

Do you get pure 64 bit with these kexts? Your using the vanilla kernel? You think the latest version of qoopz will work or should I wait for the latest version since they now have the kernel source for 10.6.0?

Link to comment
Share on other sites

By the way Dismounted, have you gotten sleep to work with this setup?

Sleep works perfectly on my setup. The DSDT patches must be used, otherwise your USB keyboards/mice will be shut off, and can't be used to wake from sleep.

Would you happen to have the strings for these two Nvidia Cards. 7300GT and 9800GT.

Sorry, I don't, as I've never owned a (recent) nVidia card. Try the Graphics Card section.

Other than that everything is the exact same as your board. Not sure what I need to do to the DSDT? Boot,plist?

You need to apply the patches to the DSDT, as explained in my guide. The patches enable "proper" AHCI, USB, sound and power button support. It is placed in the "Extra" directory.

Do you get pure 64 bit with these kexts? Your using the vanilla kernel? You think the latest version of qoopz will work or should I wait for the latest version since they now have the kernel source for 10.6.0?

Yes, I can boot in 64-bit perfectly, and I am using the vanilla kernel. There is no need to use alternative kernels if you have this board (and subsequently, a compatible CPU).

Link to comment
Share on other sites

Sleep works perfectly on my setup. The DSDT patches must be used, otherwise your USB keyboards/mice will be shut off, and can't be used to wake from sleep.

 

Sorry, I don't, as I've never owned a (recent) nVidia card. Try the Graphics Card section.

 

You need to apply the patches to the DSDT, as explained in my guide. The patches enable "proper" AHCI, USB, sound and power button support. It is placed in the "Extra" directory.

 

Yes, I can boot in 64-bit perfectly, and I am using the vanilla kernel. There is no need to use alternative kernels if you have this board (and subsequently, a compatible CPU).

 

Dismounted thanks for the reply. Can I create my EFI strings using EFI studio within my current leopard install or do this after I boot into Snow?

 

Even if I create my own DSDT I still have to add some of the code you have in your guide correct?

 

Was this DSDT created in Snow or just in Leopard? Does it matter which one you do this in for the Pre installation?

 

I am a bit confused about the MBR? I have been using GUID now since Leopard 10.5.1. SO how does this work if your hard drive is set for GUID and not MBR?

 

Pray and reboot with the -x? When you say pray, do you literally mean PRAY as in the pray command for OSX or is that just a reboot and hope :blush:

 

One more extremely important thing, I cannot use a hackint0sh Leopard install as my other image? I have to install a 10.5.x vanilla image in order to have a successful install of Snow?

 

 

Can I just install Chameleon RC3 just released maybe a week ago? Will that create and EFI partition and necessary folders etc in the /? Just replace all files in the extra with yours? The MBR thing confused me. The mounting did not just the MBR and the fdisk part which won't work on GUID?

 

Sorry about all these questions but I want to install this weekend and hoping for success!!

 

 

EDITED A FEW HOURS LATER:

 

I just read Kabyl comment at the Chameleon Site:

 

#

 

Kabyl · 7. September 2009, 19:16 · #

 

About the “Sound assertion” message:

That’s because we didn’t implement 64bit EFI System Table, and EFI Runtime Services, I have done some work on it but didn’t get around to adding it yet.

 

 

 

 

So does your DSDT mod fix this issue with RC3?

Link to comment
Share on other sites

So the DSDT.aml file you included in the Snow Leopard/Extra/ directory is pre-patched with power, USB, Sleep etc...?

Yes, it already contains the patches, but you should create your own, otherwise, you may get panics (see post below yours).

Can I create my EFI strings using EFI studio within my current leopard install or do this after I boot into Snow?

It does not matter, either way will work. Probably best to do it in Leopard, you want to see that Welcome video in all its glory, don't you? :rolleyes:

Even if I create my own DSDT I still have to add some of the code you have in your guide correct?

Yes, you need to include the patches posted to get some vital things working.

Was this DSDT created in Snow or just in Leopard? Does it matter which one you do this in for the Pre installation?

It does not matter where you create it. I suggest doing it before you boot into SL though.

I am a bit confused about the MBR? I have been using GUID now since Leopard 10.5.1. SO how does this work if your hard drive is set for GUID and not MBR?

Ignore my description text - just run the commands on a GPT (GUID Partition Table) disk. For a more technical explanation: all GPT-formatted disks still contain a legacy MBR. This is created so that GPT-unaware applications don't overwrite it. Also, PCs without EFI still read the executable in the MBR to load the disk (if it is marked as active).

Pray and reboot with the -x? When you say pray, do you literally mean PRAY as in the pray command for OSX or is that just a reboot and hope :P

Reboot and hope. :lol:Incidentally, there is actually a "bless" command in *nix systems.

One more extremely important thing, I cannot use a hackint0sh Leopard install as my other image? I have to install a 10.5.x vanilla image in order to have a successful install of Snow?

You just need a working Leopard install (vanilla or otherwise).

Can I just install Chameleon RC3 just released maybe a week ago?

The files included are the 2.0 RC3 files.

So does your DSDT mod fix this issue with RC3?

I still get the "Sound assertion" errors, however, they don't really seem to be impacting anything, so I've left them for now.

Link to comment
Share on other sites

Thanks, everything works now. I put in Netkas new fakeSMC.kext. Was not sure if yours was version 2 or 1?

 

Your guide is much better that noone9's guide.

 

The DSDTSE application allows you to add those fixes. I did not have to change anything as your extra coding showed. I think you had a couple clerical errors about replacing certain addresses. I just stuck with the DSDT I created and added the RTC, DTGP and RCT fixes. They loaded right into the DSDT I created. I saved each editor window opened and then loaded that code into my main DSDT created. it put each section where it belonged. No manual copying and pasting.

 

How does one fix Extensions in 64 bit mode? I have to boot into 32 bit mode to fix extensions?

 

So all I need is what is in your extra/extensions correct? There were some other extensions in the chameleon folder.

 

I just used the RC2 installer then just replaced the chameleon boot rc2 version with the chameleon boot r3 version in the root of the drive (/).

 

 

 

One last thing. There is another guide out there but not anywhere as good as this one. The only concern is that that guide has you replace the "IONetworkingFamily.kext" in the /system/library and he has two addtional kexts in his Extra/Extensions/, they are "IOAHCIBlockStorageInjector.kext" and "AppleIntelPIIXATA.kext"? Your guide does not suggest that. I have to assume the fully edited DSDT.aml takes care of those kexts?

 

Is there any other kexts I might need to disable such as AppleIntelPowerManagement.kext in the /system/library? I don't see any disabler.kext in your extra folder thats why I ask.

 

Only one bad thing so far is a major kernel Panic when I open the Game Chess in Applications.

Link to comment
Share on other sites

Thanks, everything works now. I put in Netkas new fakeSMC.kext. Was not sure if yours was version 2 or 1?

The one included should be version 2. (I know I've updated - don't know if it made it into the package...)

Your guide is much better that noone9's guide.

Much appreciated. :)

The DSDTSE application allows you to add those fixes. I did not have to change anything as your extra coding showed. I think you had a couple clerical errors about replacing certain addresses. I just stuck with the DSDT I created and added the RTC, DTGP and RCT fixes. They loaded right into the DSDT I created. I saved each editor window opened and then loaded that code into my main DSDT created. it put each section where it belonged. No manual copying and pasting.

DSDTSE does not contain all the fixes, but it does do many of them (as mentioned by yourself: RTC, DTGP and HPET). You still need to do the sound/SATA/USB/other fixes (or at least check that they are correct).

How does one fix Extensions in 64 bit mode? I have to boot into 32 bit mode to fix extensions?

Fix extensions? Everything should work correctly in the 64-bit kernel.

So all I need is what is in your extra/extensions correct? There were some other extensions in the chameleon folder.

The KEXTs directory contains other things in case the DSDT fixes don't work correctly, and an "emergency" boot is needed. They can be ignored.

One last thing. There is another guide out there but not anywhere as good as this one. The only concern is that that guide has you replace the "IONetworkingFamily.kext" in the /system/library and he has two addtional kexts in his Extra/Extensions/, they are "IOAHCIBlockStorageInjector.kext" and "AppleIntelPIIXATA.kext"? Your guide does not suggest that. I have to assume the fully edited DSDT.aml takes care of those kexts?

As long as all the edits specified are made to the DSDT, those KEXTs can all be dropped - that was the point of editing the DSDT (mainly).

Is there any other kexts I might need to disable such as AppleIntelPowerManagement.kext in the /system/library? I don't see any disabler.kext in your extra folder thats why I ask.

Those KEXTs are not necessary. They are only necessary if you are experiencing CPU heat issues. I personally don't need them because of my non-stock cooling.

Only one bad thing so far is a major kernel Panic when I open the Game Chess in Applications.

That indicates something wrong with your GFX.

Link to comment
Share on other sites

I install SL using in part your guide.

 

My motherboard and VGA is same as you.

 

1- Boot with HMBT boot and install directly SL.

2- Your guide to mount and copy files on EFI partition.

3- Use your pre-patched DSDTs. (I`m not so lazy, ok? :) )

4- Add my own UUID in Info.plist on the PlatforumUUID.kext.

5- Edited Info.plist of the ATI4800Controller.kext.

 

Almos all work perfect! Thanks!

 

Just have a problem... Go too sleep, but when wakeup just appears text cursor in up-right of screen.

 

If you could help me, I will be grateful.

 

More one time, thanks for your Guide. It's very helpful! :)

Link to comment
Share on other sites

Dismounted thanks again. Just to comment on some stuff I mentioned.

 

When I created the DSDT and added the RTC etc fixes using the DSDTSE application all the rest of the code you had was already in place. All of it. The only confusion is I think you made a couple minor mistakes when you said replace this for that. Have a quick look at it. For example:

 

In the "Device (USBE)" section, apply the same fix as in step 9, except substitute "0x3A" with "0x3C".

In the "Device (USB0)" section, apply the same fix as in step 9, except substitute "0x3A" with "0x34".

In the "Device (USB1)" section, apply the same fix as in step 9, except substitute "0x35" with "0x34".

In the "Device (USB2)" section, apply the same fix as in step 9, except substitute "0x36" with "0x34".

 

 

In the "Device (USB4)" section, apply the same fix as in step 9, except substitute "0x37" with "0x34".

In the "Device (USB5)" section, apply the same fix as in step 9, except substitute "0x3A" with "0x38".

In the "Device (USB6)" section, apply the same fix as in step 9, except substitute "0x3A" with "0x39".

 

Mine looked exactly like yours except for USB1,2,4,5,6, they were already as 0x35, 0x36,0x37,0x38 and 0x39. Its a little confusing the way you wrote it? I would think you would not want to replace in USB4 for example 0x37 with 0x34 right? You meant 0x34 with 0x37 I hope? If not then I guess I have to go edit all of them but some will look odd with the same address as another?

 

My USB are all working as well as sleep, restart and shutdown.

 

I also checked with BBedit application and your DSDT and mine are identical so DSDTSE must have made those changes above?

 

What I meant by fixing extensions I mean when you make a change in the extensions you need to run chmod and chown and I read that has to be done in 32 bit? Maybe when it boots up with the changes the first time send the command -x32 or something? I read if you don't do that you get a Kernel panic which I got a couple of times maybe because I did not pass -x32?

 

Quote from another Guide:

 

"Always repair permission in 32-Bit (Type -x32 at boot) because if you repair them in 64-Bit you (may) have a Kernel Panic"

 

Does that mean while in OSX or while booting? You know how it repairs when you "touch extensions" then reboot. It is then you boot with -x32 flag for extension repair?

 

So I am wondering why my DSDT looks exactly like yours after I made those fixes in DSDTSE? Lucky I guess?

 

 

As far as the GXF I tested it just about with everything and nothing else causing the kernel Panic just Chess.

 

Here is the Kernel Panic BackTrace Message:

 

com.apple.GeoForce(6.0.2)

Dependancies

com.apple.NVDAResman(6.0.2)

com.apple.iokit.IONDRVsupport(2.0)

com.apple.iokit.IOPCIFamily(2.0)

com.apple.iokit.IOGraphicsFamily(2.0)

 

I re-ran EFI Studio again and I noticed the EFI string was slightly different from the one ran in leopard so I just replaced it with the string generated in Snow. Did not make a difference it still Panics.

 

 

One other issue is when you go about this Mac is shows the processor speed but unkown next that. it is a Quad Core Extreme and labelled that way in the BIOS. Any way of fixing that in the DSDT or somewhere else?

 

My Memory is different from yours to. its Corsair DDR2 800MHZ. The Processor is 3 GHZ. Front side bus should be correct since its the same board. Do I need to modify those in the smbios.plist?

Link to comment
Share on other sites

Just have a problem... Go too sleep, but when wakeup just appears text cursor in up-right of screen.

Probably a DSDT problem - take the ime to patch your own DSDTs.

The only confusion is I think you made a couple minor mistakes when you said replace this for that.

Check my post again - I've corrected the addresses.

What I meant by fixing extensions I mean when you make a change in the extensions you need to run chmod and chown and I read that has to be done in 32 bit? Maybe when it boots up with the changes the first time send the command -x32 or something? I read if you don't do that you get a Kernel panic which I got a couple of times maybe because I did not pass -x32?

I've heard that the KEXT caches are better rebuilt under the 32-bit kernel. However, if you install your KEXTs with Kext Utility, those caches are already rebuilt. Even then, I haven't had issues with booting directly into 64-bit.

One other issue is when you go about this Mac is shows the processor speed but unkown next that. it is a Quad Core Extreme and labelled that way in the BIOS. Any way of fixing that in the DSDT or somewhere else?

It is purely a cosmetic issue. Search for the "About This Mac strings" fix.

My Memory is different from yours to. its Corsair DDR2 800MHZ. The Processor is 3 GHZ. Front side bus should be correct since its the same board. Do I need to modify those in the smbios.plist?

You should correct them - as all the CPU info will be incorrect, as my CPU has been overclocked.

Link to comment
Share on other sites

Thanks Again for all the help. That DSDTSE is not the very best when it comes to inserting code and aligning it. I am inserting the graphics part. Would you happen to know what might be wrong? It won't compile without errors? Maybe I shoudl not have started it right under DEVICE (PCI0) and before Name (_HID, EisaId ("PNP0A08")) which was right under DEVICE (PCI0). Maybe it because it not lined up right? That is how DSDTSE NVIDIA Desktop Hack made it in a separate editor.

 

Search the DEVICE (PCI0). The code starts right under that and ends before (_HID, EisaId ("PNP0A08"))

 

If you are unsure maybe you can direct me to the right thread for this question?

 

It looks liek the RTC fix never made it in the file or am I wrong? The HPET and DTGP seem to have made it? The PWRB fix I am guessing did not get placed because if I hit the power button I don't get the window to to choose what I want. Yet both your DSDT and mine are exactly the same when compared? A loss to me?

 

I won't bother you anymore. Thanks again!!

dsdt_Complete_With_Graphics.txt

Link to comment
Share on other sites

Thanks Dismounted! Another satisfied customer...

 

So far everything seems to work. I'm using a Maximus Formula, 4G, E8400, GTX260. I'm really surprised how well the sound works.

 

I did the initial install from a MacBook Pro to a USB attached HD. Removed the HD before reboot. Then followed your guide to install Chameleon/Boot to the EFI partition. I also used your dsdt because I am a lazy slob. But, I am going to extract my own and do a code compare just to make sure nothing was missed.

 

Please update your guide with the missing line about formatting the EFI partition. (my only gripe) I did see you updated the wonky USB hex digits. thnx.

 

I have not updated to 10.6.1. Does this go ok?

 

Thanks again

 

AR

Link to comment
Share on other sites

 Share

×
×
  • Create New...