After comfortably using my Hacintosh for the last 8 months or so, the release of the OS got a little old. As you may recall, I stupidly allowed the Mac to update itself using the built-in Software Update to Mac OSX 10.5.3. That did not go well. I had to build the whole Mac over again. I have been very careful since to make sure that I install all the updates in Software Update except those that update the OS itself. While this has kept stuff running, it has meant that my computer has gotten behind on the OS updates. It hadn’t been bothering me until I started getting some weird messages from the Mail app and I had problems with iSync. Reportedly, both built in Apps had been improved in since 10.5.2 so I figured it was finally time for an update.
As of this writing, I am running 10.5.6 and everything appears to be working correctly at the moment. It was rocky getting here and there were times it looked like I was going to need to rebuild again. It was complicated and there were a lot of steps, but in the end, I did manage to upgrade successfully. Here’s what I did to my existing Hacintosh install:
I started with the netkas update procedure.
- Download upgrade from Apple. For me, the upgrade had been already downloaded by Software Update so I just had to click carefully on the option to Download Only. That put the upgrade package in my Downloads folder.
- Open a Terminal window and su to root. Run the following script at the command prompt:
while sleep 1; do rm -rf /System/Library/Extensions/AppleIntelCPUPowerManagement.kext; done
- Test the script by creating, as root, a directory named AppleIntelCPUPowerManagement.kext in /System/Library/Extensions and watch it get deleted right away. If it does not get deleted for you, fix the script line before proceeding.
- With the script from the previous step still running, start the upgrade by running the downloaded upgrade package. When the upgrade package says that it has completed, do not click to restart yet.
- In the Terminal window, use Ctrl-C to break out of loop. The script has done its job.
- Still as root, edit the script /System/InstallAtStartup/scripts/1. Replace the line
/System/Library/Extensions/Dont Steal Mac OS X.kextwith
/System/Library/Extensions/dsmos.kext. Save the changes and exit the editor.
- Now, continue with the restart.
So this is where everything is supposed to be fine. But it wasn’t for me. Nothing worked any more. It hung on startup with a crude icon of a circle with a line through it – international signage for “You’re screwed”. This was my first battle on the upgrade. Lots of digging at InsanelyMac eventually led me to believe that it was related to the Intel HDD controller in my computer, ICH8. Apparently, one of the changes in 10.5.6 was the addition of some new and more efficient way of handling SATA disks and that new way was no longer compatible with my system. So, it was a case of the standard Apple OS working with my computer with an older version of the OS. This, of course, could be a dangerous trend. But for now, I’ll be optimistic that this it is just an anomaly.
Fortunately, I was not the first to discover the problem and I found a solution at InsanelyMac. And in the post there’s a link to download a new version of the IOATAFamily.kext for 10.5.6. Using the Kalyway 10.5.2 install DVD to run the Terminal App, I renamed the original kext to add an “.orig” extension and put the new kext in its place. I rebooted and this time, the “screwed” symbol went away.
And then it came back. Apparently, the upgrade I did from 10.5.2 to 10.5.6 involved a replacement of that kext so I had to do the manual replacement with the downloaded kext a second time. I thought that had vanquished the problem but it came back again later and then went away on its own. I’m not sure but it appears that the problem may have been related to the BIOS randomly creating the order of the drive mounts resulting in different drive identification for each boot, thereby making the system look on the wrong disk for the OS. (This problem only happens because I have three hard drives mounted on the SATA controller.) At this point the problem seems to be mostly in remission. Maybe things have stabilized with boot order and drive identification. Or maybe the other fixes contributed to this fix. For now, I’m hopeful that the problem is in the past.
I thought I was all done at this point, but Time Machine stopped working. This was a problem in the original install too, so it wasn’t too surprising. I needed to redownload IONetworkingFamily.kext and put it back in place. That fixed Time Machine initially. It broke again later saying that Time Machine couldn’t write to the requested disk. I just did the IONetworkingFamily.kext replacement again and this time it seems to have taken. Again, I’m hopeful on this fix too.
The worst was yet to come. I noticed that my screensaver was a little choppy in painting the screen. No big deal if the screen saver doesn’t work well, but I wondered what else might have trouble. I found out when I tried to run Numbers. That’s right, Numbers failed to load at all. It couldn’t paint the window with a simple spreadsheet. It crashed all kinds of ugly. I poked around and discovered that the Graphics adapter was correctly showing NVidia 7300GT but that the Core Image was set to Software and Quartz Extreme was Not Supported. With 10.5.2, Core Image was Hardware and QE was Supported. Obviously, the graphics card didn’t change, so I figured I must have a problem with NVinject, the kext that fixed the NVidia card before. But there were no new versions at the NVinject site.
I’m still not sure about what happened next. I downloaded the OSX86 Tools app. I tried forcing the Quartz GL on and it seemed to take initially but it didn’t last. And then things were more weird. I installed the PCI Utils (lspci package) and confirmed that the installed Graphics Card was a 7300GT with 256 Mbyte VRAM.
I found a post at InsanelyMac that claimed to get an NVidia working on 10.5.6. I followed the instructions a couple of times and eventually got it to work. I don’t use EFI, however, so I was a little leery of this process initially. So these are the steps I took:
- reboot with
mount -uw /
- created new directory /System/Library/Extensions-disabled
- moved all Ge* and NV* files from /System/Library/Extensions to /System/Library/Extensions-disabled
- deleted /System/Library/Extensions.mkext
- rebooted and logged in with display and video card unknown
- installed 9f23 from ScottDangel.com and installed EFIStudio; did not reboot after install
- Ran EFIStudio and chose the NVidia 7300GT 256 card, added it as a device, wrote the hex block to com.apple.Boot.plist
The list above is the net of it. Things did not go smoothly for me. I got the wrong video card the first time, the write to com.apple.Boot.plist didn’t work correctly, etc.. But I believe, in the end, the steps above are the net of what I actually did and should I need to do it again, hopefully, these steps would work as listed.
So not quite as painful as the original Hac setup, but certainly not easy. And there was a fair bit of stress involved too. I’m just glad that’s behind me now. It is behind me, right….?