Hem > English, Teknik > Stable Hackintosh with H67 chipset

Stable Hackintosh with H67 chipset

I have pulled my hair the last week trying to install MacOS X on my latest supposed-to-be-a-Hackintosh Mini-ITX Sandy Bridge build. I have been running OSX on home built computers for several years so I’m fairly experienced with it. It can be a pain to install and configure but when it finally works it works as good as a real Macintosh.

The chipsets supporting Sandy Bridge are currently H67 and P67. The P67 chipset allow massive overclocking and fine grained tweaking while the H67 only supports limited tweaking. One of the things that H67 (usually) doesn’t support is changing the default FSB multiplier. Sandy Bridge has a quite unique design with a Front Side Bus speed of only 100 MHz but lots multipliers. For a 3.4 GHz Sandy Bridge CPU the multiplier is a whopping 34!

As my main priority this time was to build a physically small and reasonably silent, but still as powerful as possible, computer, I really (really!) wanted a Mini-ITX motherboard but all Sandy Bridge Mini-ITX motherboards available use the H67 chipset.

In OSX, many things relies on the RTC (Real Time Clock), especially IO drivers. If the kernel doesn’t detect the exact values, things will be very unstable. It will probably work but with lots of small freezes, jerky mouse movement and things will be very crash prone.

The standard MacOS X kernel has many checks to make it not run on some hardware that Apple has decided that would compete with their own hardware too much, like AMD and Atom CPUs. They also limit Sandy Bridge CPUs faster than those in the new MacBook Pros.  Sometimes there are ways to fool OSX that those component of yours are actually something else (but since they are compatible they will work anyway) by supplying a modified DSDT which is a very complex file describing how the Operating System should interact with hardware. Usually the motherboard gives the OS its DSDT via ACPI but with a special bootloader you can supply your own modified one instead.

Maybe it’s possible to make OSX accept fast Sandy Bridge CPU:s via DSDT hacks. The fact that many persons with Asus P67 motherboards are able to run the standard kernel even with a high multipliers suggests that. However, DSDT/ACPI is a very complex standard and learning it is like learning assembly programming for a completely new architecture. The specification is over 700 pages… Not something I want to spend time on at the moment.

An easier way is to use a custom kernel. Nawcom has since long supplied patches for XNU that removes these kinds of checks and much more. His kernels are usually used to run OSX on AMD and Atom CPUs. Incidentally, they also run Sandy Bridge CPUs just fine, without any DSDT hacks.

Almost. To make Nawcom’s kernels support half multipliers he made a hack saying that if the bus ratio (aka multiplier) is 30 or more, divide it by 10, unless (for some reason, probably to avoid a division by zero later on) it’s dividable by 10. To support a multiplier of 3.5 you would thus supply busratio=35 on the kernel commandline but busratio=350 won’t work for a multiplier of 35 because it’s dividable by 10. The problem is that these new Sandy Bridge CPUs actually use multipliers this high! I guess Nawcom didn’t expect that would happen when he wrote this hack.

I have tried to catch Nawcom on IRC and various forums but he’s hard to catch so instead I decided to get my hands dirty and fix the problem myself. It’s a very simple fix. Change the threshold from 30 to 60 so busratio=34 actually means 34, nothing else. It means that the lowest half multiplier supported is 6.5 so if you want to get OSX running on a 10 year old AMD PC, use the Nawcom’s standard kernel instead.

Attached is my modification of Nawcom’s kernel for Sandy Bridge CPUs. It only supports 64-bit mode. To use it you have to supply both busratio=n and fsb=100000000 (100 million) on the kernel commandline, where n is your CPU’s speed divided by 10. For my i7-2600 (3,4 GHz) the commandline is ”arch=x86_64 busratio=34 fsb=100000000″. Don’t use ”-force64″.

To make it permanent, set it as Kernel Flags in /Extra/com.apple.boot.plist

Download the kernel here: mach_kernel.bz2

To make sure that an update doesn’t overwrite it, name it something other than ”mach_kernel”, save it in the root and set that name as Kernel in com.apple.boot.plist.

For those who are interested, my final build is a Zotec H67ITX-C-E motherboard, Core i7-2600 CPU, Lian Li Q08B chassis, Sapphire HD6850 graphics card, 8 GB 1333 MHz DDR3 RAM, 240 GB OCZ Vertex 3 SSD, Asus BW-12B1LT Bluray writer.

Kategorier:English, Teknik Etiketter:, , , , ,
  1. Andréas
    2011-04-24 kl. 22:56 | #1

    Hur skickar man mail till dig?
    Det är nämligen så att jag har en bakgrundsbild till dig.

    Du skrev på idg.se (på Macworlds hemsida tror jag det var) att du hade problem med att hitta fotografier som bakgrundsbilder i 2560x1600px.

    Det är ett foto av månen jag tog en kväll från balkongen.
    Eftersom jag bland annat jobbar som fotograf så hoppas jag att det inte är helt värdelöst och går att använda :P , men som sagt: jag behöver en mailadress att skicka fotot till.

    Jag vet inte hur det fungerar, men jag antar att du borde kunna se min mailadress eftersom jag var tvungen att skriva in den för att kunna kommentera. Kasta iväg ett mail till mig om du vill ha fotot.

  2. 2011-04-25 kl. 17:54 | #2

    Hi, it will be great if you can post a step by step installation guide..

    • 2011-04-27 kl. 13:55 | #3

      If I ever reinstall it I can do that, but basically you boot with iBoot-legacy, install OSX, install Apple’s 10.6.7 bundle update (from developer.apple.com), run MultiBeast to install EasyBeast, JMicron and Realtek drivers, install the latest ATI drivers (if you have a Radeon graphics card), a recent Chameleon, my kernel and edit com.apple.boot.plist as described.
      I used this package to install ATI drivers: http://www.mediafire.com/?r52bv1otbovc9ci
      But the ATI drivers from MultiBeast 3.4.0 probably work also.

  3. artimess
    2011-04-30 kl. 14:05 | #4

    Hi,
    First thanks for your posting as I was about to give up after a week of trial.
    I have a laptop based on AsusG53SW, with i7-2635QM with starting speed of 2GH.
    So when I define my bus ratio as busratio=20 and fsb=100000000, when system comes up the cpu speed is displayed as 4GH!
    Am I mis-reading your comments somewhere?
    Thanks for your comments
    Artimess

    • 2011-04-30 kl. 15:51 | #5

      Hi Artimess. The only difference between my kernel and Nawcom’s kernel is that mine isn’t limited to a busratio of 29. If your CPU has a busratio (multiplier) of 20 then any kernel should work. If it doesn’t, the problem is elsewhere.

      On the specification page on intel.com it says that the i7-2635QM has a bus/core ratio of 8. With a clock speed of 2 GHz that means that it as a 250 MHz FSB and a multiplier of 8. Try with ”busratio=8 fsb=250000000″.

      What are the symptoms you get, BTW? Does OSX boot at all?

  4. Artimess
    2011-04-30 kl. 19:28 | #6

    Once again thanks for your comments; Actually yes with your kernel I can boot fine, but most of the features such as speed step, sleep and all that does not work.
    Memory is seen as DDR2 as opposed to DDR2 and as I told you the cpu speed is not correct. I am going to try with the new numbers that you suggested and let you know.
    While I am at it; for some reason I cannot install Chameleon on my internal drives I get boot0 error. I am beging to decide this is a problem with my internal disks, I am curious what version of Chameleon are you using? Your memory is being detected correctly? Your CPU? could you post or send me your smbios.plist and your com.apple.Boot.plist? do appreciate it.

    Have a nice day,
    Artimess

    • artimess
      2011-05-04 kl. 15:07 | #7

      FYI, I found out that my problem of having wrong CPU speed and memory is related to the Chameleon boot loader that I was using, Now I have the right cpu speed and memory but my processor is not recognized. I used bdmesg to see the log of booting and I notived that in fact the boot loader sees the right CPU model and later just drops it and consider it unknown!
      Could you please tell me which boot loader you used?
      Thanks,
      Artimess

  5. Onetrack
    2011-05-08 kl. 17:53 | #8

    Hi if you’re interested in a mini-itx build – I would suggest going to an H55N platform, specifically a GA-H55N-USB3 motherboard, I have got a complete build list, installation guide and screenshots for this amazing little mini-itx which runs 10.6.7 flawlessly. Check out the video of it rolling here:

  6. mosslack
    2011-06-04 kl. 20:13 | #9

    I don’t know, the one I got was a POS and doesn’t work. Runs SL okay, but no ethernet. Sent back to Gigabyte once and they say nothing wrong with it. Seems to run Win 7 okay though.

  7. Ikke
    2011-07-28 kl. 8:26 | #10

    I am very interested in this build since I am thinking of building a similar system based on the Zotac H67ITX-C-E board. My reason to prefer this board over the Z68 based mini-itx boards is that it has 6 sata connectors instead of the 4 most other boards have.

    If I understand correctly, your main issue has been to get OS/X to accept your fast Sandy Bridge chip. I am leaning to a slower SB chip (2405S), would that make it possible to use standard OSX kernels? I also tend towards using the intel graphics instead of an external GPU.

    So, some questions before I dive in.
    - How is the board working for you. Is all functionality working correctly (network, wifi, sound, …) ?
    - Did you try the intel graphics drivers?
    - Did you try an upgrade to Lion?
    - Any other experiences with this setup you want to share?

    Thanks ;)

  8. nitrous
    2011-10-13 kl. 16:57 | #11

    did you get the Ralink Wireless PCI card working?
    If so, what did you do? I get the ”No Hardware Installed” error for WiFi.
    Thanks
    n|trous

  9. Elias L.
    2011-11-02 kl. 10:43 | #12

    Betyder detta att OSX lion går att köra på pc nu ?

  10. johan
    2012-02-13 kl. 0:32 | #13

    tl;dr

  1. 2011-04-15 kl. 13:30 | #1

Kommentera

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Ansluter till %s

Följ

Få meddelanden om nya inlägg via e-post.