Jump to content

About "Still waiting for root device"


1 post in this topic

Recommended Posts

Parallel ATA (PATA), is a standard interface for the connection of storage devices such as hard disks, solid-state drives, floppy drives, and optical disc drives in computers.
Serial ATA (SATA), was designed to replace the older parallel ATA standard, offering several advantages over the older interface: reduced cable size and cost, native hot swapping, faster data transfer through higher signalling rates, and more efficient transfer through an I/O queuing protocol.
The drivers that ship with OS X already support the Intel ICHx drive controllers, but sometimes we need to apply to them a little adjustment or some other tricks. For example Apple doesn't use ICH7R, ICH8R, ICH9R or ICH10R, these have a different device ID than their non-R versions, and the drivers don't know about these, but they are similar enough that the driver will work fine anyway. Most will work right away once set to AHCI mode in your PCs BIOS, though some, such as the ICH10R, will be seen by OS X as "Generic SATA controller". Others will throw the "Still waiting for root device" error and halt during boot, which is when you know that

1) your BIOS settings need tweaking
2) you need to use one of the injectors mentioned below, or AppleIntelPIIXATA.kext..or, if the controller is not an Intel ICHx - ATIATA.kext, JMicronATA.kext, ApplenforceATA.kext, SuperVIAATA.kext, etc.
3) you need to experiment with drive jumpering/cabling and how you're combining PATA and SATA drives (it's better to not combine the two at all)
4) 1), 2) and 3) all at once.

The Injector kexts described below "injects" device ID code for a bunch of ICHx controllers into the IORegistry where it can be hooked into by OS X' own ATA drivers so that they will detect and drive your hardware. You can use these if your ICHx controller can't be set to AHCI mode, or if you just want it to show by its proper name in System Profiler/System Information.
AppleIntelPIIXATA.kext is a proper driver, it can work with older ICHx such as the ICH5. More details below.

For Parallel-ATA, or non-AHCI mode Serial-ATA drives on Intel ICHx drive controllers:
AppleIntelPIIXATA.kext OR ATAPortInjector.kext
For Serial ATA drives in AHCI or RAID mode on Intel ICHx drive controllers that aren't supported directly on OS X:
AHCIPortInjector.kext OR LegacyAppleAHCIPort.kext (again, both at once = don't do it)
AHCIPortInjector.png For best possible compatibility, do not mix PATA and SATA drives on the same drive controller. It can be made to work but you have to be lucky and very very patient.

If you must mix SATA and PATA drives on ICHx, then welcome to your worst computing nightmare. There is absolutely no guarantee that the following will work. Whatever happens it's probably your fault for not having enough patience.

Your DVD drive must be jumpered as master, connected to the end of the cable, and it will not work if there's a slave device connected to the same cable: Disconnect any slave device on the cable.
If your installation target is a PATA hard drive, jumper it as master and place it at the end of the cable, on the other channel.
Do not attempt to use two devices on the same cable in master/slave configuration - it will most likely not work.

Older ICHx drive controllers don't have "AHCI" listed in the BIOS, instead they have annoying and non-descript settings like "enhanced", "combined" and "native" mode. Each of these modes allow a different combination of PATA and SATA drives, only PATA drives, or only SATA drives to work.
The necessary details on this can be found in your motherboard manual somewhere. Now is a good time to read it.

Two of these modes will work correctly with OS X, one of them will work with AppleIntelPIIATA.kext, and another with ATAPortInjector.kext. Honestly.

Lastly, If you're mixing PATA and SATA drives on an ICHx that has "AHCI" mode, do not enable it, otherwise the PATA drives probably won't work.

*For the love of all that is holy in this world, just buy a SATA DVD drive and be happy!!

And if you must use PATA drives, connect them to your motherboards off-chipset, secondary drive controller (JMicron, Marvell, etc) and leave your hard drives connected to the ICHx in AHCI or RAID mode. If you only have RAID mode but no AHCI mode, set it to RAID. RAID implies AHCI. You don't have to create a RAID array, and even if you did it wouldn't work anyway, OS X does not support ICHx hardware RAID.

If your drives appear on the desktop and have screaming orange icons it's because they are seen as "external". With some legacy kexts, hotpluggable AHCI hard drives get these orange icons. There are fixes for this available but I've forgotten almost everything about them. Neither can I recall if there is a way to have hot-pluggable hard drives, yet have them detected as internal drives. I do remember this; the quick fix for this in the past was OrangeIconFix.kext, but the downside is that it only changes the icons and doesn't actually fix anything. I believe that AHCIPortInjector.kext sets all drives as "internal", which does get rid of the orange icons, but this means you lose hot-plugability.



Mostly written by Gringo Vermelho

  • Like 12
Link to comment
Share on other sites


  • Create New...