I had been in Hackintosh field for last six eight months or so. Tried several distros and learnt a lot in this field. When I first used the Mac OSX I loved this system and plan to buy an original Mac very soon, as a result of my personal experience. I recommend all other Hackintosh users to OSXand if they love it, go and buy an original one. I don’t claim any credit for the procedures specified in this guide, all credit goes to relevant authors (whose links are given) and I am thankful to all of them for any guidance and help they provided. My aim for writing this guide is to compile all procedures / things / useful links for Snow Leopard in one place for easy reference.
MY SYSTEM SPECIFICATIONS
Motherboard Gigabyte EP45-UD3L with onboard Gigabit Ethernet RTL8111 and Azalia ALC888
Intel E8200 Core 2 Duo Processor 3.0 Ghz
Graphics Zotac Nvidia Geforce 8800GT 512MB
RAM 4GB (1066)
Hard Drive SATA 1TB with GUID partition
DVD: SATA based
Keyboard & Mouse both are USB based (try avoiding PS2 keyboard & mouse, as Mac don’t like it)
Although it is not necessary to have a running OSX 10.5.x, but if you have it is good to use it to get some key information about your system before attempting the Snow installation. e.g. Use IORegisteryExplorer to find information about your Ethernet, Sound and Graphic Card, and generate a fully working DSDT.aml (even before installing the SL) for used in SL for flawless operation. But you can try this direct approach using this guide.
Gigabyte has just released the latest version of BIOS for this motherboard. So, I would recommend download and install the latest version F7 before you proceed. This is also necessary to note down BIOS settings because of following reasons
- when you attempt to install Snow Leopard, on every reboot it will reset the BIOS and you had to change all these settings manually (unless you apply CMOS fix, which I will describe later on).
- by changing the BIOS settings, we are trying to make it more comparable with Mac Hardware. e.g. Snow Leopard only accepts SATA AHCI settings, so in BIOS we change RAID/SATA settings to AHCI and in some cases even disable onboard IDE Controller to go even more close to real Mac system. Another good example would be USB based Keyboard and Mouse (which Mac uses so we change BIOS and use USB based mouse not PS/2 based.
- the AHCI handling is much faster in F7 bios as compared to F4.
Following are the settings in this BIOS:
MB Intelligent Tweaker:
CPU Clock Ratio=9x (rest of the things as per default, CMOS reset makes it 8x)
Standard CMOS Features:
Drive A= None (CMOS reset enables it)
Floppy 3 Mode Support= Disable (rest of the things as per default, CMOS might enable it)
Advance BIOS Tab”
First Boot Device=CD ROM (CMOS reset makes it Floppy)
Second Boot Device=Hard Disk
Limit CPU to 3=Disable
No Execute Memory=Enable
CPU Thermal Monitor=Enable
CPU EIST Function=Enable
Delay for HDD=0
Full Screen Logo=Disable (CMOS reset makes it Enable)
Backup BIOS Image to HDD=Disable
Init Display First=PEG
Integrated Peripherals Tab:
SATA RAID / AHCI Mode=AHCI (CMOS reset makes it Disable)
SATA Port0-3 Native Mode=Disabled
USB 2.0 Controller=Enable
USB Keyboard Support=Enable
USB Mouse Support=Enable (because I use wireless USB Keyboard & Mouse, CMOS reset makes it Disable)
USB Legacy Storage Detect=Enable
Onboard IDE Controller=Enable (if your system keeps rebooting upon reading the Boot CD, change it to Disable)
Onboard Serial Port=Disable (CMOS reset changes it to default)
Onboard Parallel Port=Disable (CMOS reset changes it to default)
Power Management Tab:
ACPI Suspend Type=S3
PME Event Wake up=Disable (CMOS reset makes it Enable)
Power on by Ring=Disable (CMOS reset makes it Enable)
Power on by Alarm=Disable
HPET Mode=64bit (CMOS reset makes it 32bit. If you want to run SL on x64, change it to 64bit)
Power on by Keyboard=Disable
Power on by Mouse=Disable
Both PCI1 and PCI2 IRQ Assignment=Auto
FILES YOU NEED FOR ISNTALLATIONS
(Thanks to 3rr0rists for providing the method)
- Snow Leopard Retail DVD. I suggest to buy it as $29 is not too much.
- Snow Leopard Boot CD Download Here
- Snow Leopard Kext Download Here
- Bootloader (Chameleon V2.0 " RC3 r658) for snow leopard Download Here
- OSX86 Toosl for EFI strings of graphics, audio, ethernet etc. Download Here.
- DSDT patcher for generating DSDT.aml Download Here
- iaslME for decompiling and recompiling DSDT.aml Download Here
- Insert Snow leopard Boot CD to your DVD Drive and boot from it.
If you are unable to boot from DVD or get the BIOS read error when booting, switch your PC Off for atleast 10 seconds, switch it on, press Del key and go into BIOS make sure that settings are as suggested (AHCI mode is enabled and if you again unable to boot, just disable Onboard IDE controller).
If you don’t want to waste your blank CD on this, you can use a jump drive to start with. To use this method you must have a working OSX 10.5.x and then you need to do as advised by 3rr0rists in reply to my question. Thanks 3rr0rists once again for the simple and short guide.
- When chameleon logo appear, eject your snow leopard Boot CD then insert your DVD DL Snow Leopard Retail and press F5.
- Select your Snow Leopard DVD (Macintosh Install DVD) and type “arch=i386″ (without quote) to get 32 Bit, if you want get 64Bit SL just press enter.
- Installation like usual, first create partition for Snow Leopard and must in GUID Partition and install, just uncheck language Translation and Printer Driver to take some space HDD
- And Install, after finished installation. reboot, and eject your Snow Leopard Retail DVD and replace with Snow Leopard Boot CD again and then boot from cd.
*If you have ATI series Graphic Card like as Radeon HD4850 512MB,When you boot, you will have to Press Del key and go into BIOS, as Snow Leopards has rest your CMOS/BIOS. So go to your BIOS. Again make changes as suggested above. Save changes and exit from BIOS. Here I suggest Power Off your PC for a while. Then Switch it on. Now place the Snow Leopard Boot CD to boot.
you need boot using "-v -s", then follow procedure,
#mount -uw /#mkdir /Bak_ATI#mv /System/Library/Extensions/ATI*.kext /Bak_ATI/#rebootNow place the Snow Leopard Boot CD to boot.
POST INSTALLATION WORK
- Boot With Snow Leopard CD Boot, when chameleon logo appear, select your Snow leopard partition and type : “arch=i386″ (without quote if you want to boot in 32bit mode, if you don’t enter anything, it will go automatically into 64bit mode. Also remember the BIOS setting if you have set it to 32/64bit) and following on screen.
- Install Snow Leopard Boot Loader
- Click on Go -> Computer -> Snow (name of the disk) -> Extra and copy all Snow Leopard Kexts and Extensions folder from download location to this Extra folder.
EFI STRING INJECTION METHOD FOR GFX, ETHERNET, AUDIO:
#cp -Rf /Bak_ATI/ATI*.kext /System/Library/Extensions/Now you need configure your ATI Gaphic card.
Quickly check if all important hardware is working in SL e.g. Check internet for Ethernet working, open iTunes and play something to check your sound, open dashboard and add a gadget to it. If you get water waves effect, it means that QE / CI / GL of your graphics card is enable, otherwise you need to work on it too. I got Ethernet working out of box. But graphics (Zotac Geforce 8800GT) was not giving me QE/CI/GL support. So I usedOSX86 Tools for this for injecting EFI string to boot process (this way there is no need to use and load the kext and booting time significantly improves).
- Inject EFI strings for devices (graphics, Ethernet and sound (if available)
Although Mac Gurus don’t like so called EFI Injectors, but if you are new to SL and don’t wana go the detailes of DSDT.aml then check if you could get your graphics, ethernet and audio working through EFI injection using OSX86 Tools. This is the easiest way to get most of the things working (although my sound card ALC888 did not work through this method, so I had to do DSDT method, still doing research to enable sound in this motherboard). Well I agree with Mac Gurus upto some extent in this regard, but my idea is first to run SL without any problem and then do the improvements like creating and editing DSDT.aml for various devices etc.
- Run OSX86 Tools. Click on “Add EFI String/Boot Flag” button. First click on graphics card, from the drop down menu, choose your graphics card, it will give you hexadecimal EFI string in the bottom section. Then click on 2nd icon on top row “Import String to Boot Editor” After that you will have to click on button at the bottom “Apply changes to com.apple.Boot.plist”. Similarly do it for your Audio and Ethernet Strings. A quick tip here, you will not be able to see the effect unless you reboot. So when you next time boot, again check the QE/CI/GL for your graphics (by adding a gadget in dashboard, if you don’t see a clear water waves effect, again run OSX86 Tools, and click on “Enable/Disable Quarts GL” button of upper left side. Enable it. Again reboot and you will get the QE/CI/GL enabled for Nvidia GF8800GT card.
DSDT METHOD OF ENABLING DEVICES (If you don’t like EFI Injection method):
Generate DSDT.aml by following method
- Open the DSDT Patcher folder, and double click the DSDT Patcher icon. When it say press any key to continue, just enter. Then it will ask you “Which OS to emulate? [0=Darwin, 1=WinXP, 2=WinVista]. Press 0 and enter for Darwin based OS. 99% this gives you a DSDT.dsl file in the same folder of DSDT Patcher. This is a text editor file and we can change it in a text editor (if we need to do it). This patcher already applied the Snow Leopard’s CMOS reset fix for you. So you don’t have to worry about. Pay attention to the text appearing in this program window when it says “Process Completed”. If you get any error or warnings, then contact your best friend (google.com) for the help to remove these errors. If you get 0 error and 0 warnings, its ok to proceed.
- In 2nd step we will edit it if we need to. If you want to edit DSDT.dsl file to have the codes for Ethernet and sound etc. You need to follow this guide.
- Suppose you get no errors and no warnings and you don’t want to edit .dsl file. Next step is to compile this DSDT.dsl file to get a DSDT.aml file. Open the folder which contains the iaslME application. Open the DSDT Patcher folder also which should be having your dsdt.dsl file. Now drag and drop dsdt.dsl file over the iaslMe application icon. It will automatically generate a dsdt.aml file for you and will store it in the “Sessions” folder. Go to DSDT Patcher folder, then Open Session folder, then a folder which will be having most recent date and time as name of the folder. You will find two files; one will be dsdt.aml and other will be log.
- Now you right click on dsdt.aml and choose Get info -> Name and Extension. Change the name of the file from dsdt.aml to DSDT.aml. (as this file name is case sensitive). Now copy this file and past it in the Extra folder. It might ask you to authenticate it with administrative password.
- Final Step: Remove the Snow Installation DVD and reboot the system. Again press Del key go to BIOS and load the recommended settings for the last time (as you have already put DSDT.aml file in Extra folder which is having CMOS reset fix) and then save and exit from BIOS. Switch off your computer. Switch it on and you will get the Snow Leopard fully working (hopefully).
If by using DSDT.aml method still you are unable to use some of your devices, then you need to convert DSDT.aml into DSDT.dsl using iaslMe (just drop the DSDT.aml over the application icon) and edit the DSDT.dsl using text editor. For details I would recommend searching google for your problem, as I am also new in this particular technique and will not be able to help you much. Suggested links are in my reference section.
Automatic USB Device Removal:
I discovered this issue in SL. My USB based attached hard drive is automatically ejected and a message appears “Disk was not ejected properly. If possible always eject a disk before unplugging it or turning it off”.
I did a research for the solution. Found a solution on Apple’s Official forum. Solution is simple: Go to System Preference->Energy Saver and there you will see a check box saying “Put the Hard Drive to Sleep when possible”. Simply uncheck that box.
Audio in this motherboard (ALC888):
I tried everything but could not get the sound working for ALC888 chipset even by using tmongkol guide by using DSDT editing and LegacyHDA.kext for ALC888.
So I looked for alternate solution. Found a really cheap USB based sound card with virtual 5.1 CH sound track, power amplifier inside, recod function etc for just USD:3.90 from Hong Kong. Cheapest shipping is around $8 so I ordered it over the internet. According to seller its Mac ready and no drivers are required in any OS (windows, Linux and even Mac). I haven’t received and tested it yet, but will update this guide about the performance and quality of this sound card in SL.
NTFS Read/Write Support in Snow:
Apple does not like NTFS file system, so apparently there is no direct way of getting read and write access to NTFS volumes. Yes, NTFS volumes are visible in Mac OSX but they only provide you read only access. If you try to change the permission through Get Info, it will not allow you to do so.
In 10.5.x versions I was using NTFS-3G application / drivers to get read and write access to NTFS volume and it was working perfectly without any issue. However, recently I found this article which describes that Snow Leopard seems to include read/write support for NTFS partition, however its disabled by default. All you need to do is enable it. A command line method to enable native read/write access in SL is described there on this forum. I havn’t tested it yet (I will definitely do it and will update this guide about it when I have time), but another forum warrned of possible NTFS volume corruption using this method. So use it on your own risk
Sleep and Wakeup:
System sleeps instantly without any extra delay. But …… I unable to wake it up.
Not yet found.
SOME USEFUL COMMANDS:
How to Remove the old mkext file in /Extra/Extensions- Open Terminal and run following commands:
1. Execute this on a shell sudo chown -R root:wheel /Extra/Extensions
2. Execute this on a shell sudo chmod -R go-w /Extra/Extensions
3. Execute this on a shell sudo kextcache -v 1 -t -l -m /Extra/Extensions.mkext /Extra/Extensions
How to Clean the System Caches- Open Terminal and run following commands:
1. Execute this on a shell sudo rm -fr /Library/Caches/*
2. Execute this on a shell sudo rm -fr /System/Library/Caches/*
3. Execute this on a shell sudo kextcache -v 1 -t -l -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions
I searched web for running my SL smoothly and found very good forums / postings / links which I have booked marked and would like to thank all respective authors for their contribution and especially 3rr0rists:
1. What is Kext, Where is kext, how to install kext . Thanks to insanelymac for this article.
2. Understanding kexts. Thanks to Prasys’ Blog for this article.
3. ALC889A, Gigabyte, Vaious AppleHDA.kexts are available. Thanks to tmongkol for guide.
4. Removing errors and Warnings from DSDT files. Thanks to its author.
5. ACPI DSDT Table. Thanks to Donnerstag for this article.
6. OSX Terminal Commands. Thanks to its author.
7. How to apply DSDT. Thanks to insanelymac for this article.
8. A simple introduction to building a DSDT. Thanks to blackosx for this post.
9. Quartz Extreme and Core Imaging in Snow Leopard. Thanks to Prasys’ Blogh for this post.
10. KextHelper b7, a very good utility to install kexts (in S/L/E), I am not sure if you can use it to install kext in E/E folder.
I am not a mac expert and consider myself as a novice in this field, so I would request all Mac Gurus and experts to help me in improving this guide and correct me if I am wrong somewhere. I have a couple of un-resolved issues on this motherboard like sound (ALC888) not working tried every method. After DSDT editing my system profiler is able to see a device but my system preference does not show up any output or input device to select. If some one could guide me step by step how to get it working in a simple and detailed manner that would be great. 2nd issue is wakeup from sleep. If someone could also help me how to fix that, it will make this guide perfect. Thanks for reading this guide.
A PDF of this guide is also attached [attachment=57297:EP45_UD3...on_Guide.pdf] with this posting.