----------------------------------
I am wary about calling this an update. Those of you who have been following me know that I screwed up the install somehow and had to reinstall. Upon reinstallation, I used the latest version of the Extra kexts, and found that I did not have QE/CI. And that Pages (for one) shows blank documents without QE/CI. That was a major bummer, until I found a modification that Gallus Longus had made to com.apple.Boot.plist. That fixed it - full QE / CI (the display looks slightly purple though and some apple things (like highlights) that are normally blue, appear as purple). However, there is a price to be paid here. You can get sleep working, but hibernation does not. Neither does shutdown / reboot (and its pretty obvious that the thing that is keeping the machine from hibernating is also the thing that is keeping shutdown and reboot from working). Yes, I am using OpenHaltRestart.kext.
Installation procedure - no difference from earlier guide (which is why I am pitching this as an update, and not a new guide). Just the contents of /Extra are different.
What saved my hide ?
The fact that I had all my data on a separate partition (the TrueCrypt one). So, while I still spent about 3 hours reinstalling everything I need, I did not have to worry about 45 gigs of data being lost. Do yourself a favour. Scratch that. This is mandatory (
And I want to give a shout out to the makers of Carbon Copy Cloner, which has saved my hide more than once.
Second update (Sep 26, 2009)
-----------------------------------
Used software update to install 10.6.1. Rebooted. No issues. A first for my hackintoshes since 10.5.6.
Also fixed the missing mouse problem by replacing the VoodooPS2 kexts with 64 bit ApplePS2Controller and AppleACPIPS2Nub kexts. The last mentioned might be the same, but why take a chance ?
Uploaded updated Extensions.zip.
First update (Sep 24, 2009)
-------------------------------
Got my wireless card (Dell 1390) in the mail today. I installed it. As soon as I powered up the system, it was detected as an Airport card. Easy. Thanks to EricCW for the suggestion.
As promised, here is the update:
First the files - I have updated the Extensions.zip file. Feel free to grab the new one. In addition, I have included a com.apple.Boot.plist. This goes into /Extra. Leave your system com.apple.Boot.plist untouched. It will be overridden. This is essential for getting the massively improved display (mine is 1920x1200).
-----------
I like vanilla installs that do the least possible amount of violence to a retail OS X install. You carry out the following steps at your own risk. If anything happens as a result of following this guide, I am not responsible. Caveat emptor.
Before you start, you will need:
1. A working macbook / hackintosh with two free USB ports (you will need one of them for just a moment).
2. DVD containing Snow Leopard (dmg on the above mac will do).
3. One USB thumbdrive (1 GB will do).
4. One Linux live CD (I suggest Ubuntu).
5. SATA-USB connector with power supply. Borrow one from a friend.
6. Intel's iasl. Save it to your macbook / hackintosh. (Its attached.).
7. Bluetooth / USB keyboard and mouse (ACPIPS2Nub.kext does not load and as a result, the built in keyboard etc. do not work.).
8. SATA mode set to AHCI (do not know if ATA would work, but this is what I used).
Ok ?
This is how I did it:
Removed the SATA hard disk and connected it to my Macbook (any Hackintosh will do) using a SATA-USB convertor.
Partitioned it into two parts (GUID map) - Macintosh HD and User Data. The second partition is for my data, and will be encrypted using Truecrypt. That way, if I screw up my install, I do not have to re-copy everything over.
From Guide to Perfect Vanilla Snow Leopard install.,
QUOTE
Use Disk Utility to partition in using GPT - GUID Partition Table
Important: Right click on the new volume on your desktop, Get Info, Click the little lock icon in the bottom right corner to authenticate and UNCHECK 'Ignore ownership on this volume' or else the permissions will be all screwed up after you install.
Important: Right click on the new volume on your desktop, Get Info, Click the little lock icon in the bottom right corner to authenticate and UNCHECK 'Ignore ownership on this volume' or else the permissions will be all screwed up after you install.
What follows next can be made to sound complicated. It is not. I will just include the steps that matter.
1. Install Snow Leopard Mac OSX. Before doing anything:
CODE
$ sudo chown 0:0 /Volumes/Macintosh\ HD\ 1
$ open /Volumes/Mac\ OS\ X\ Install\ DVD/System/Installation/Packages/OSInstall.mpkg
$ open /Volumes/Mac\ OS\ X\ Install\ DVD/System/Installation/Packages/OSInstall.mpkg
The first bit assumes that your HD on the Macbook or the Hackintosh on which you are doing this is named "Macintosh HD" (hence the 1). Otherwise, the target disk will simply be named "Macintosh HD".
That last bit above assumes that you burnt a DL DVD from the dmg. If not, substitute accordingly.
Using Disk Utility, select the target volume, and click info. Note down the UUID somewhere on the macbook.
2. Install chameleon 2 RC3. Get it from the attachments. This one comes as a pkg. One important point here. Install it to the right Macintosh HD if you know what I mean
3. This will create a folder named /Extra. Open a Terminal. Type:
CODE
$ sudo mkdir /Volumes/Macintosh\ HD\ 1/Extra/Extensions
4. You will note one thing in whatever follows - you will be asked to authenticate repeatedly whenever you copy or delete anything from the target volume. That is a necessary result of setting the disk permissions above in the info box (see above). Possess your soul in patience. Now:
Take the Extensions folder, unzip it, and copy its contents to /Volume/Macintosh HD\ 1/Extra.
Next, using the Terminal, change directory to that folder, and change ownership to root:wheel and set permissions recursively to 755.
5. Symlink some extensions and move some.
CODE
$ cd /Volumes/Macintosh\ HD\ 1
$ cd System/Library/Extensions
$ sudo mv IOATAFamily.kext ../../..
$ cd System/Library/Extensions
$ sudo mv IOATAFamily.kext ../../..
Now symlink (using sudo) some extensions so that you can see (in /System/Library/Extensions):
To Unix newbies, symlink is the same as windows shortcut. Use command line ln -s file1 file2 to create a link of file1 to file2. The following has been edited by hand, so ignore the dates.
This has changed in the update.
CODE
lrwxr-xr-x 1 root wheel 42B Sep 29 21:45 IOATAFamily.kext -> ../../../Extra/Extensions/IOATAFamily.kext
lrwxr-xr-x 1 root wheel 40B Sep 29 21:45 VoodooHDA.kext -> ../../../Extra/Extensions/VoodooHDA.kext
lrwxr-xr-x 1 root wheel 38B Sep 29 22:36 AppleACPIPS2Nub.kext -> /Extra/Extensions/AppleACPIPS2Nub.kext
lrwxr-xr-x 1 root wheel 41B Sep 29 22:36 ApplePS2Controller.kext -> /Extra/Extensions/ApplePS2Controller.kext
lrwxr-xr-x 1 root wheel 38B Sep 29 23:35 OpenHaltRestart.kext -> /Extra/Extensions/OpenHaltRestart.kext
lrwxr-xr-x 1 root wheel 35B Sep 30 20:23 SleepEnabler.kext -> /Extra/Extensions/SleepEnabler.kext
Why use symlinks ?
The files sit in /Extra/Extensions. A future update can at worst destroy the symlinks. Except for one kext (IOATAFamily.kext), no OSX kexts are affected.
Maybe someone can make it even more clean. This is the cleanest I could make it at my first successful shot.
Now, go to /Extra/Extensions/PlatformUUID.kext/Contents/Info.plist (you will have to use Terminal). Scroll down and replace the PlatformUUID key with the UUID you noted above (this currently has mine).
6. Now we grab the dsdt. You do not need windows or mac to get it. Pick up your live CD, pop it into the DVD drive of the D830, and do the following:
a) Wait for the system to boot up (you do NOT need a hard disk in the laptop - I know you have already removed it).
c)
CODE
ubuntu $ cat /proc/acpi/dsdt > dsdt.aml
d) Copy this file on to the USB thumbdrive. The file will be about 25K in size.
e) Transfer this file on to the Mac.
You will not need that extra one USB port on the Mac any further.
7. Disassemble the DSDT. I am new to this, but what I did, works:
CODE
$ cp dsdt.aml dsdt.aml.orig
$ ./iasl -d dsdt.aml
$ cp dsdt.dsl dsdt.dsl.orig
$ ./iasl -d dsdt.aml
$ cp dsdt.dsl dsdt.dsl.orig
8. Let us fix the DSDT.
Open dsdt.dsl. Being a long-term unix user, I just use vi. You can use whatever you want. Just save the dsl file at the end as a text file.
Search for the RTC block. Make it look like:
CODE
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (RT, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x10, // Alignment
0x02, // Length
)
IRQNoFlags ()
{8}
IO (Decode16,
0x0072, // Range Minimum
0x0072, // Range Maximum
0x02, // Alignment
0x06, // Length
)
})
Method (_CRS, 0, NotSerialized)
{
Name (_HID, EisaId ("PNP0B00"))
Name (RT, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x10, // Alignment
0x02, // Length
)
IRQNoFlags ()
{8}
IO (Decode16,
0x0072, // Range Minimum
0x0072, // Range Maximum
0x02, // Alignment
0x06, // Length
)
})
Method (_CRS, 0, NotSerialized)
The length on the first part is changed to hex 2, the second one remains hex 6. If you change that to hex 2 as well, you will get HPET errors probably.
9. Compile it.
CODE
$./iasl -ta dsdt.dsl
You will get an error on line 7030 regarding alphanumeric strings (error 4001). To fix that error, scroll down to that line, and just delete the * character there.
Run compile again. This should compile without errors.
For your convenience, I am attaching the two files (dsl and aml). Copy that dsdt.aml, or your own to /Extra and / (I do not know if both are necessary.).
10. That is it (so far). Unmount the two partitions you made using eject and eject all. Disconnect the disk from the adaptor and insert it into the laptop. Boot. It should take you to welcome screen.
What does not work:
Surprising stuff that does work:
Nvidia Quadro NVS140M works out of the box with QE/CI if System Profiler is to be believed. Did not see any artifacts. The resolution is the highest I have ever seen on any Mac.
Bluetooth.
To do (in decreasing order of importance):
1.
2. Fix ethernet /
3.
4.
5.
6. Fix poweroff and hibernate.
----
Optional:
This is for those that depend on TrueCrypt.
There is no TrueCrypt version for Snow Leopard. Yet. The reason is that the underlying MacFusion open source library has not yet entered stable distribution.
I found a workaround (you may not want to emulate this - I get occasional errors with hdiutil when trying to mount the encrypted partition):
1. Compile TrueCrypt for yourself (you will need Xcode and some Macports).
2. Get a specially modified version of MacFusion (this must be installed and loaded before you start up TrueCrypt).
