Jump to content
Wallfacer

How to load an IDE hard-drive in os x?

12 posts in this topic

Recommended Posts

hello,

 

my HD can't be recognized in the OS installation, when trying hacintosh my antique PC, but it works ok in MS Win10. After a few weeks' research, it looks that the OS X only support ACHI mode SATA? with detailed check, I figured out that the MB doesn't have an ACHI option for SATA at all, only IDE in there.

 

my PC settings are listed,

1. CPU: intel Xeon 3210 (lga775)

2. MB: P35AX (with ICH9, phoenix bios, v1.2)

3. HD: wd 1TB 7200rps, Sata

 

Then i found there is "ACHI/IDE" kexts(below) which seems to be able to fix this,

AppleIntelPIIXATA

ATAPortInjector

 

however, it still doesn't work, the HD is not there in os installation with the kexts injected. Does anyone could help?

ATAPortInjector.kext.zip

AppleIntelPIIXATA.kext.zip

Share this post


Link to post
Share on other sites
Advertisement

thanks, MARZILLO, will go take a try, feedback after that.


those kexts are useless w/o your device id in it

 

thx, which device id do you mean to add in the kext? and how (please)?

Share this post


Link to post
Share on other sites

Your HDD controller will carry a different PCI id whether it operates in AHCI/SATA mode or IDE/ATA/PATA (legacy) mode. You can identify this in Windows Device Manager by looking at the details of the controller driver. You may also use other IOReg browsing app such as CPUz, Aida64, etc.

 

Now OS X does support HDD ATA/IDE mode but only if the relevant driver/kext AppleIntelPIIXATA supports the underlying controller. As it turns out, OS X does not support all Intel ICHx controllers in IDE mode by default. This is why you must either inject the necessary info or patch the vanilla driver.

 

As stated by ellaosx, your ATA injector or patched AppleIntelPIIXATA kexts are useless unless your controller's id is covered by them, i.e. listed in the Info.plist file of the kexts. I attach Yosemite's latest version as found in AppleIntelPIIXATA.kext v2.5.1 (the kext being a PlugIn of IOATAFamily.kext v2.5.3 found in /S/L/E):

Info.plist.zip

 

If you open the file with a plain text editor, you will notice that it only supports a few ICH controllers in ATA/PATA/IDE mode, like ICH7 or ICH8. For instance:

<key>ICH8 ATA/100</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleIntelPIIXATA</string>
<key>Controller Name</key>
<string>ICH8 ATA/100</string>
<key>IOClass</key>
<string>AppleIntelPIIXATARoot</string>
<key>IOPCIPrimaryMatch</key>
<string>0x28508086</string>
<key>IOProbeScore</key>
<integer>2000</integer>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
<key>Supported Transfer Modes</key>
<string>0x3f061d</string>
</dict>

The id of the controller is the hexadecimal number listed for the field IOPCIPrimaryMatch; it's specified in the form <device id><vendor id> (and 8086 = Intel). In the above example, the supported ICH8 ATA/IDE controller bears id 2850 (in hex).

 

There is no specific entry for an ICH9 ATA controller in the kexts you uploaded so, unless your controller was covered by the other ATA entries of the Info.plist file of the kexts, it cannot be supported.

 

To add suport for your missing ICH9 IDE mode, you can either:

  1. patch the vanilla kext to add your controller's info in the Info.plist
  2. add the injector kext, previously updated with your controller info
  3. install a pre-patched kext that will take precedence over the vanilla's version

 

The data to inject will look like:

<key>ICH9 ATA/100</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.apple.driver.AppleIntelPIIXATA</string>
<key>Controller Name</key>
<string>ICH9 ATA/100</string>
<key>IOClass</key>
<string>AppleIntelPIIXATARoot</string>
<key>IOPCIPrimaryMatch</key>
<string>0xYYYY8086</string>
<key>IOProbeScore</key>
<integer>2000</integer>
<key>IOProviderClass</key>
<string>IOPCIDevice</string>
<key>Supported Transfer Modes</key>
<string>0x3f061d</string>
</dict>

where YYYY will be your identified controller PCI device id.

 

In a similar fashion to the injector kext, this data can also be added to FakeSMC's Info.plist file and the kext related to the injection will need to be referred at the top of the injected data. But that's secondary and more "advanced" stuff...

 

I hope this helps in demystifying the matter. Find your ICH9 IDE controller id to begin with and we'll see to get it supported afterwards.

Share this post


Link to post
Share on other sites

re: Herve

thank you so much for help, this is very detailed and helpful, not only to resolve my problem but explained the methods too.

 

P.S. can I paste & translate your post to a Chinese hacintosh bbs, so that more people may be benefited?

Share this post


Link to post
Share on other sites

I've only summarised information that's been known and published for years. You can sure paste and translate on a Chinese forum but I've not invented anything.

Share this post


Link to post
Share on other sites

I've only summarised information that's been known and published for years. You can sure paste and translate on a Chinese forum but I've not invented anything.

ye, still it is very helpful..there are lots of hacintosh beginners everywhere like me. In china, i see many people eager to hacintosh their PC/laptop, some of them succeeded by chance (simply follow the instruction); and some failed, without knowing & trying approaches other than the instruction -- which definitely can not cover all devices. Your guide is clear and understandable, I think it would be helpful for those hacintosh-er who would like to pay a little more efforts than stop at the basic problems only.

 

BTW, is it the same logic to drive the other devices in os X, e.g. 

1, make sure if the system support this device;

2, if yes, figure out your device ID and patch into the relevant kext;

 

then the problems turn to:

1, how to determine if certain device is supported or not?

2, how to find the relevant kext to a device? (maybe by device function/name is a shortcut, is there any other clue?)

3, if both are negative, does it mean the device is a NO-SOLUTION one?  

 

thanks again

Share this post


Link to post
Share on other sites

Yes, the principle is general.

 

There are various ways to determine if a device may be supported or not, it's not necessarily empirical. Most of the time, it's a matter of hardware family or core chip/chipset. For instance, various graphics cards can be based on a chip of a particular GPU family (eg: nVidia XXX chip); in the same respect, various wireless cards can be based on a given chip (eg: Atheros XXXX or Broadcom YYYY).

 

Some other times, you can also simply declare as a DSDT patch that a given PCIe device is compatible with Apple's device (eg: SD card readers).

Share this post


Link to post
Share on other sites

thanks again, Herve.

 

hope this doesn't bother you a lot -- is it possible to make a comparison amongst the different patching methods?

Like, pre-patched kext (3rd party kext), DSDT injection, Clover config.plist injection, device ROM injection, vanilla kext patch etc..

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By EZY
      Hello,
       
      after installing new hard drive to my functional hackintosh it doesn't shows up in disk utility at all.
      But, when I boot up Windows 8 on same machine and go to disk management it shows up normally and I can format it and do everything with it normally.
      Access with file explorer is also possible.
      I tried formatting it in MBR and GPT format style - no success.
      I tried formatting it in NTFS and exFAT - no success.
      I also tried connecting it to another SATA port - no success.
       
      Is there something else I can try?
    • By luki1979
      Today computer suddenly suffered from spinning ball when web browsing, had few apps in the background but nothing heavy on CPU. I waited 5 minutes and had to reboot by pressing off button for longer. 
      After reboot I was greeted with a question mark folder sign instead of apple logo. Googled the problem and followed apple instructions - boot to recovery mode but computer can't see the SSD. I unplugged and connected the SSD via USB adapter. It booted straight away but obviously slow as f.... I don't have other 2.5" drive to try but I had that DVD drive to SSD adapter so I proceeded and to my surprise Hard Drive works in SuperDrive place just not in it's own. 
      Can anybody tell me if MacBook Pro have one drive controller?
      If so it must be a ribbon cable or port malfunction, but how can it be? 
      Thanks for any inputs.
      L79
    • By jimmyco2008
      This modified AppleAHCIPort.kext makes it possible to Hackintosh laptops and desktops that are locked in RAID SATA mode. I've personally only tested it with the HP m6-1045dx laptop, which uses a classic locked BIOS and HM77 "Panther Point" chipset paired with the Ivy Bridge i5. Based on the nature of the kext, I would say this can work with other computers, just give it a go!
       
      ------------------------
      Why do I need this kext?
       
      If your SATA-connected hard drive isn't being detected by the OS X installer and you have no control over SATA mode in BIOS/EFI (ie, IDE, RAID, AHCI modes). Common with the latest (2012 at least and newer) HP laptops, probably the trend for many OEMs these days.
      ------------------------
       
       
      Install via Kext Wizard, probably a good idea to rebuild cache/repair permissions (also via Kext Wizard) while you're at it!
       
       
      Thanks to eep357 for making this file!
    • By Esimacio
      Hello folks,
      In an old tread all the way back to 2007/2008 many users of this mainboard had problem because of lacking AHCI integration. So the solution to these seemed to be a modded BIOS that was available back then, since this was a very long time ago this file do not excist anymore   
      This is probably a insane question to ask, but do any of you out there have this file ? Probably a higher chance that a meteor strucked the earth   
      OR..... is this problem outdated, maybe there are a much better solution availble?
       
      I did buy an oooold computer to run OSX86 on, without checking the mainboard for comp. issues, what a bummer. Hope anyone can help me.
       
      Esimacio
       
    • By andrew700andrew
      Hi everyone! this is my first post on the insanelymac forum!
       
      I'm trying to get mavericks running in virtualbox on a lubuntu host. My machine is an intel core i3 laptop with 4gb ram (3.6 usable) and so it struggles a bit. The problem is that even with 2984mb of ram given to the VM (bearing in mind lubuntu only needs a few hundred MB ram to run) it has periods of about 5 minutes where OS X will be unusably slow and even the mouse will only move in small jumps every 2 seconds. Then it will return to normal for 5 minutes and then it will go back to dead slow. This even happens when it's just on the desktop, doing little else.
       
      I'm considering adding more ram to make it 8gb to try and fix this problem, however, my other option is to take the HDD (80gb 5400rpm sata) from my old laptop and attach it via a usb 3 port to my i3 laptop. Then install a proper hackintosh on there (keeping my 4gb ram) instead of running a virtual machine with 8gb. (Btw. don't want to install OS X on my i3 laptop's hard drive because it's not actually mine and I don't want to mess it up).
       
      So which option would you recommend? I could do both but I'd rather just do one.
       
      Thank you!
×