Help - Search - Members - Calendar
Full Version: Ioata Kernel Panic At Install...
Project OS X Forums > Snow Leopard Guides & Tutorials > New Users Discussion
vanclute
I believe this has been addressed and fixed here:

http://www.projectosx.com/forum/index.php?...c=682&st=20

But I can't for the life of me figure out what I'm supposed to do with the provided code. I don't know anything about decompiling/recompiling any of this stuff, and my searches haven't turned up anything that I could use. I'm a Mac guy since 1984 but when things went Linux, they lost me... so this is way over my head.

Can anyone give me a simplified explanation of what to do to solve my IOATAFamily kernel panics when I try installing SL?

Thanks!

Jonathan
realityiswhere
That link you provided is what's known as a "DSDT patch". DSDT stands for Differentiated System Description Table, and in a standard PC BIOS it's what the ACPI spec on the motherboard looks up where to route power.

Everyone knows that PC's use a BIOS, not EFI like real Macs. To make up for this, it's now possible to fix the inherent flaws in a PC BIOS (by patching the DSDT) to make up for certain lacks of drivers/assorted other fixes such as the ATA patch you're trying to use.

It requires extracting your DSDT table either through fassl's dsdt patcher using iasl or using a GUI patching tool like DSDTSE (google it, it's from evosx86, latest version is 1.3.5).

The above two options must be used on a working, bootable, Leopard or Snow Leopard on the system you're trying to patch. There's no sense extracting a DSDT for a system you're not trying to fix, because DSDT's are custom to each motherboard and processor combination you're using.

There are also ways to do it on Linux (with iasl downloaded from a repo) or on Windows (someone on InsanelyMac made a .NET GUI Windows tool).

Once you find the appropriate patch (like the ATA patch), you pretty much just find the same section, and more or less copy and paste.

When you get your DSDT.aml compiled (the GUI tools all offer to compile it for you) then you just drop the DSDT.aml in your /Extra/ folder (most "distro's"/prepatched dvds don't use /Extra, but retail does, and we encourage retail), and it's picked up by the bootloader, so it's used by OS X instead of the real settings of your BIOS, and no messy flashing to deal with.

Let me know if anything requires further explanation.
vanclute
WOW. blink.gif

OK... takes deep breath and prepares to sound like a blubbering idiot...

To make sure I'm heading in the right direction... I've had the closest to success using this method:

http://lifehacker.com/5360150/

I have restored the retail SL disc that I have, onto a partition on a USB HD and have applied the Magic Patch found here:

http://stellarola.tumblr.com/post/23846198...-update-ud3p-v3

Now I can boot from this USB drive and OSX does begin to load, but I get a KP related to IOATAFamily every time after the BIOS loads.

Further experimenting found that if I disabled the SATA option completely in the BIOS, I can actually boot all the way into the SL installer, but at that point for some reason it's unable to see the IDE drive I've connected and plan to install SL on. I'm not sure if the SATA drivers also drive the IDE connections... if so then that would certainly explain the problem there.

So I'm assuming I need the IOATA patch I mentioned previously. But alas, your nice lengthy detailed explanation is still over my head. I really need to be pointed to a step by step for what to do. I got the DSDT patcher but on reading the readme, it sounds like it's only for patching some other stuff that I'm not trying to fix:

QUOTE
This should fix your DSDT so you should be able to run AppleIntelCPUPowerManagement.kext and the upcoming AppleRTC.kext which will panic otherwise. This will not patch your BIOS or whatever, so if you cant boot anymore after this, just delete the /DSDT.aml file and you should be fine. But still, try this at your own risk.

You need to install the Chameleon Bootloader with DSDT override from: http://forum.insanelymac.com/index.php?showtopic=132757# for this, use the newest version.

To patch your DSDT just double-click the DSDT Patcher, the fixed DSDT should now be dsdt.aml in the Patcher directory.

Install the new bootloader and put the resulting ./DSDT.aml in your Root /

Thanks to all Chameleon/OSX Developers who make such things possible, especially zef, kabyl and modbin for helping me at any time and share their work/knowledge, keep it up thanks.

Cheers fassl


Does this utility actually allow one to patch ANY DSDT file appropriately? Can you tell I'm still totally lost? laugh.gif

I'm setting everything up on my MacBook Pro and then attempting install on my HP tower. Even if I get a fixed DSDT file, I'm not clear on where to put it on the external USB drive with the SL image on it, so that it uses the file when I boot the PC. Just for the heck of it I just ran the DSDT patcher and took the resulting DSDT.aml file and replaced the one on the USB drive with it. Same KP result as before.

blink.gif

I'm sure this is gonna be great once it works, but until then I'm beginning to wonder WTF I've gotten myself into!

Thanks,

Jonathan
realityiswhere
QUOTE
I got the DSDT patcher but on reading the readme, it sounds like it's only for patching some other stuff that I'm not trying to fix:


Fassl's automated patcher is mainly used to do regular 'optimization only' patches, but you can still manually edit the dsdt.dsl (the text file) before re-compiling.

QUOTE
Does this utility actually allow one to patch ANY DSDT file appropriately? Can you tell I'm still totally lost?


Yes, to both. Two files are actually generated. a DSDT.dsl (the text file you edit, before you compile it) and a DSDT.aml (the binary file, compiled, the one the OS actually picks up and uses).

QUOTE
Even if I get a fixed DSDT file, I'm not clear on where to put it on the external USB drive with the SL image on it, so that it uses the file when I boot the PC.


I explained that before, you place the DSDT.aml file in the /Extra/ folder (so /Applications, /Extra, /Library, /System, /Users), with anything else in your retail install (/Extra/smbios.plist, /Extra/DSDT.aml, /Extra/Extensions/, /Extra/Extensions.mkext, the traditional contents of a /Extra folder).

So your current issue is that you just ran fassl's DSDT patcher and it made an automated 'optimized' DSDT.aml with no specific patches. Just take the DSDT.dsl file under the patcher directory, edit in the fix you need (with a plaintext text editor), and recompile it. I suggest using the DSDTSE program I mentioned earlier, people with your.. caliber.. of experience tend to find GUI tools easier to understand.
vanclute
OMG I think I actually get it now. It hadn't occurred to me that I could simply edit the intervening text file with the patch I need. Of course!

The sad thing is I'm actually a developer (PHP/web though) and extremely technical person... I just don't know OSX/Linux (started using the Mac in 1984 and even worked at Apple... but with OSX, they completely lost me).

This is starting to make sense... will report back shortly with more results.

Thank you!!!

Jonathan
vanclute
Well trying to patch the file manually didn't work... however I realized a completely retarded user error I had made last night (this morning) at 2am as I was wrestling with this.

IMPORTANT SAFETY TIP: Don't try something like this if it's entirely new to you unless you are at 100% mental sharpness! smile.gif

Anyway, I'm now using the Empire EFI legacy nvidia boot disc found here:

http://prasys.co.cc/2009/10/empire-efi/

and installation appears to be going great from my retail SL DVD.

Thanks for the help, I have a slightly better understanding of some of the inner workings of OSX now!

Jonathan
vanclute
Drat... so close and yet so far.

Install went fine, no problems whatsoever... but on booting from the HD I just get a black screen. I've been reading about a special bootloader being required but I'm not really clear on how to configure it properly. Is that what I'm missing?

Thanks again!

Jonathan
vanclute
Looks like the partition isn't active... I'm trying to use the instructions here:

http://www.insanelymac.com/forum/index.php?showtopic=22844

But on the first attempt, I just got a boot:0 error upon rebooting. I'm reinstalling everything once more now and will see what happens this time.

Incidentally, I've read some threads that insist we need to install to a MBR partition, but my retail SL DVD won't allow me to install on a non-GUID partition. Anyone know what the significance of requiring MBR might be or how to install onto one?

Joanthan
vanclute
No change... my partition is marked as active so in that respect everything should be fine. It seems I'm missing some sort of critical boot file... the custom bootloader I've read about perhaps?

I'm pretty well dead in the water at this point, and have no idea what to try next. Anyone have any pointers? I'm dying to get this working! smile.gif

Jonathan
realityiswhere
any threads you read which insist on MBR is outdated to the point of ignoring the entire thread.

with boot-132/cdboot and 10.5/10.6, GPT is preferred if your motherboard can handle it, because real Macs use GPT, and GPT disks can be resized on the fly with disk utility while the disk/partition is mounted, MBR doesn't offer that, and with only Mac OS X on a disk/partition then using MBR just isn't worth it.

QUOTE (vanclute @ Nov 30 2009, 06:31 PM) *
No change... my partition is marked as active so in that respect everything should be fine. It seems I'm missing some sort of critical boot file... the custom bootloader I've read about perhaps?


Chameleon, install it after you get booted into the OS.

use the disc to boot into the OS,
CODE
rd=diskXsY
where X is the disk number (first disk would be disk0) and Y is the partition number, the first partition would be s1.

only partition on an MBR install is always disk0s1, on GPT it's disk0s2 because of the hidden EFI partition.
vanclute
Much obliged for the additional info. I managed to get the bootloader installed using my Macbook Pro, following these directions but applying them to my newly installed HD rather than a USB drive:

http://lifehacker.com/5351485/how-to-build...ootloader_guide

Now I get a boot loader screen where I can choose to boot, boot verbose, boot single user, etc. However no matter how I boot, I still get the same old original IOATAFamily kernel panic.

Incidentally, I have Chameleon but how am I supposed to install it after I boot into the OS, if (from what I read) chameleon is required in order to GET to the OS?

Still inching along...

Jonathan
vanclute
Just tried approach #3...

http://osx86.sojugarden.com/installer/

As usual I get the IOATAFamily kernel panic when booting from the modified DVD install USB drive.

This thing is definitely the bane of my existence... if anyone knows the specifics on exactly how to beat this one, I sure would appreciate hearing them!

Thanks,

Jonathan
vanclute
I just found this install guide for my exact machine:

http://www.insanelymac.com/forum/index.php?showtopic=74964

But it's 2 years old! How much of it do I need to skip/ignore/change now? So much has changed with this scene even in just the last month...

Jonathan
prasys
Okay , few things need to be done. I know its not the best approch as personally when it comes here. I prefer to show you the a la carte way.

There are few options you could do :-

1. Disable ATA support either via DSDT (just comment out entire IDE section out , to find out whats the address of your IDE , do a lspci , youll see something like

00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) SATA IDE Controller (rev 02)

Find that in your DSDT and comment it out. If your disk is IDE interface , it will not work. I am assuming this is sata. If you don't want to comment out in DSDT or disable it in BIOS. Then delete IOATAFamily.kext (i am assuming you are using AHCI/SATA interface , otherwise you'll be getting waiting for root device). Be sure to rebuild your permissions

2. The other option for you is to grab a patched IOATAFamily.kext for Snow Leopard. Its not the best way as DSDT approach should be used in favour of this . Place it in /System/Library/Extensions. This may work , do not forget your nForceata kext if you are using nForce. There are few ways you could do this

1. Copy it to a usb stick via your mac and use Terminal in installer and transfer it over and rebuild kextcache
2. Get a SATA-2-USB bridge or enclosure , connect it to your mac and then fix it there.

Alternatively you can use MacDrive on windows and transfer it over and fix permissions in DVD via Terminal . My best bet is to do a la carte aka by using Terminal , and do not resort to any GUI tools as I would highly suggest you to take the learning curve.
vanclute
OK, I have come to the unfortunate conclusion that the osx86 scene isn't quite as far along as I had thought at first glance. There was once a time when I'd have been neck deep into all this stuff but that was a long, long time ago. Right now, I just wanted a way to not have to use Windows as my primary workstation anymore. Unfortunately there's just way way too much figuring out to be done in order to get things working. Nothing is standardized yet, nobody has made (not that I can find anyway) a "universal" patcher or anything even close... which of course would be incredibly difficult anyway given the possible number of hardware combinations.

So anyway, I'll definitely be keeping an eye on this and look forward to putting OSX on my Core2Duo HP desktop sometime in the future. For now, I'm afraid it's back to Windows 7 for me. *sigh*

Thanks for the help all, and keep doing what you're doing!

Jonathan
realityiswhere
QUOTE (vanclute @ Dec 1 2009, 03:09 AM) *
OK, I have come to the unfortunate conclusion that the osx86 scene isn't quite as far along as I had thought at first glance.
...
Nothing is standardized yet, nobody has made (not that I can find anyway) a "universal" patcher or anything even close... which of course would be incredibly difficult anyway given the possible number of hardware combinations.


Matter of opinion. Consider that some of us don't want it to appear easy not only due to the legal ambiguousness of the project (DMCA applies, as cryptography is being broken), but influxes of new people to the scene (especially due to idiotic articles like lifehacker which exclaim "It's so easy to become a hacker!") just complicate matters and bring unwelcome opinions. It's not like the Linux community where most things are free, open source, shared and legal everywhere.

Personally, I don't want a universal patcher, most of us in this game are in it for the fun of knowing how the OS works, not as a 100% viable alternative to Windows/Linux. Sure when the skill level gets high enough then that indeed becomes true (I only use my hack/Macbook), but people coming into this community assuming it's easy or that they're going to get a cheap Mac out of it are deluding themselves.

OSx86 is divided by communities which think they always do things better than everywhere else, cliques, source code not being shared by Apple nor other OSx86 devs..

This particular site isn't meant for people who want to do things the easy way, it's for people who want to do things the right way.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Invision Power Board © 2001-2012 Invision Power Services, Inc.