Jump to content
  • 0
Sign in to follow this  
Mike

Snow Leopard Install Guide

Question

UPDATED SEPTEMBER 8, 2009: The guide now uses a boot CD method instead of a USB stick. This saves a lot of time by not having to prepare a USB stick and simplifies the install process significantly. The guide does NOT use a USB stick at any time to boot, pre or post-install, and I don't recommend using one at all.

As promised, I am going to share my experiences installing Snow Leopard on my system and outline the methods I used to get it running. A lot of this info is based off of Blackosx's Snow Leopard installation thread on the InsanelyMac forums; all credit to and many thanks to him for compiling a very easy to follow guide.

SECTION I:

BEFORE WE BEGIN:

There is no de-facto "best" way to install Snow Leopard. The method I am posting here outlines what I believe to be the most compatible and least error-prone approach.

This is NOT a simple process, though it is made much simpler by having a few things prepared before you install.

HERE IS WHAT YOU NEED:

- A retail Mac OS X Snow Leopard Install Disc. The $29 "upgrade" version from Apple does include the full installer, so you may use that.

- Known-compatible hardware.

- Boot CD.

- A patched DSDT file that includes the CMOS reset fix.

- A blank hard drive to install to. If you are upgrading from your current Leopard install and want to use that drive, you must be prepared to erase all of the data on that drive for a clean install. It must be a single partiton only. Partitioned drives, especially with different OSes, is not supported nor recommended.

- Blackosx's support files. Includes Chameleon RC3 and necessary kernel extensions.

If you do not have all of the above, please DO NOT ask for support in this thread.

A PATCHED DSDT IS MANDATORY:

With Leopard, you could get by with an unpatched DSDT and let Chameleon and extra kernel extensions do the work for you. Under Snow Leopard, this is not so much the case, and having a properly patched DSDT with fixes for your graphics, audio, ethernet, and other tweaks makes installing and running Snow Leopard much smoother and hassle free.

You have a couple options for patching your DSDT. AsereBLN has generously provided patched DSDTs for many popular Gigabyte boards, though they do not contain the CMOS reset fix (see below) and do not have patches for audio, video, or ethernet. If you are not comfortable creating your own patched DSDT, you can try to start by using one of his DSDTs, though I can not promise everything will work as expected (and they probably won't).

If you want as much integration as possible with the OS while using the least amount of kernel extensions, it is best to create your own patched DSDT. With koalala's ACPI patcher, this isn't a very difficult process, and it saves a lot of headache down the road.

With a fully patched DSDT file for your board, Mac OS X will automatically recognize your video card, sound, and onboard LAN, meaning you do not have to inject any device-id EFI strings through the Boot.plist. Take the time to learn how to properly patch your DSDT to make things that much simpler!

PATCHING YOUR DSDT:

Information on fully patching your DSDT is beyond the scope of this guide. Blackosx from the InsanelyMac forum has created an excellent PDF guide you can follow that will show you how to patch in all the necessary fixes for your board.

Again, if you need help patching your DSDT, please DO NOT ask in this thread. Feel free to post your own thread for support!

THE CMOS RESET BUG:

Regardless of the DSDT file you use, you will want to fix an issue that causes Snow Leopard to reset your CMOS every reboot. Obviously this can be a very annoying bug, but it is also very simple to fix. The DSDT patching PDF explains how to do this, but for anyone who already has a patched DSDT, here's how to do the fix:

Decompile your DSDT and open up the dsdt.aml file. Search for this section:

Device (RTC)

A few lines down you'll see:

IO (Decode16, 
0x0070, // Range Minimum
0x0070, // Range Maximum
0x00, // Alignment
0x04, // Length

On the very LAST line, change 0x04 to 0x02. Save, recompile your DSDT, and you're done.

Share this post


Link to post
Share on other sites

Recommended Posts

  • 0

SECTION II:

BOOTING FROM THE INSTALL DISC:

- Burn the boot CD to a disc. Reboot your system and mash the F12 key - you should be presented with an option as to which device you want to boot from. Select CDROM and press return.

- After a few moments the familiar Chameleon bootloader screen should appear.

- At this point, you can eject the boot CD and insert your Snow Leopard install DVD.

- Give your disc drive a few more moments to spin up and then press the F5 key to refresh the bootloader screen. You should see "Mac OS X Install DVD" as an option now. Use the arrow keys to highlight it and press return.

- The Mac OS X Installer should load after a few minutes (optical drives are obviously slower than hard drives or USB sticks - just wait it out). If the system seems to hang for a while, reboot, put the boot CD back in, and before you select the install DVD again, choose to boot in verbose mode. If you get a kernel panic, boot using arch=i386 (just type it in after you've highlighted the DVD icon).

- Follow the normal install process. If you are installing to the drive you already have Leopard on, do an ERASE AND INSTALL. Upgrades are possible but as always, there is a risk of causing a major headache by leaving old files behind.

- When you are presented with the option as to what features you wish to install, for now, DESELECT any additional things such as printer drivers, additional language support, Rosetta, QuickTime 7, etc. You can always install these later, and there have been reports of installation failures if you try to install them when installing the OS.

- If everything works as it should, the installer will do its thing. This takes about 20-30 minutes.

REBOOTING INTO MAC OS X:

- If the installer completed successfully, your system should reboot. NOTE: The install CD does not have a patched DSDT file, which means your CMOS may have been reset after reboot. You will need to go back into BIOS and reset your settings!

- Put the boot CD in again, and mash the F12 key, selecting CDROM as your boot device. We're doing this simply because your new Mac OS X install has no bootloader - this should be the last time you'll need that CD.

- This time, select the hard drive you just installed to when the Chameleon bootloader comes up.

- Wait a few moments and you should be presented with the Welcome to Mac OS X video and the Setup Assistant. Go through the Setup Assistant, setting up your user account and such.

- Now that we're at the Mac OS X desktop, we're almost through. Now we just need to set up Chameleon and the necessary files on your hard drive.

MAKING YOUR SNOW LEOPARD INSTALL BOOTABLE:

- Install the Chameleon bootloader onto your hard drive. At this moment, there is no installer package available like there was with previous RCs of Chameleon. However, you can either run the RC2 installer package and then replace the /boot file with the RC3 version included in the package, or download the RC3 binaries and install it yourself. The readme file in the docs folder tells you how. It's pretty straightforward:

- First, find your disk's "name". The fastest way to do this is to open Terminal and simply type "mount". The first result should be the drive you're booted from - mine says "/dev/disk0s2 on /".

- With that information, while still in Terminal, navigate to the i386 folder in the binaries package. A quick way to do this is to type "cd" in the Terminal, then drag the i386 folder onto the Terminal window - the path to the folder will be automatically filled for you, then just press return.

- Now type:

sudo fdisk -f boot0 -u -y /dev/rdisk{x}

Replace {x} with the number of your disk. i.e. mine was disk0s2, so I would type in rdisk0.

- Then:

sudo dd if=boot1h of=/dev/rdisk{x}s{y}

Again, replace {x} with the number of your disk, and {y} with the partition number. My disk was disk0s2, so I'd use rdisk0s2.

- Finally:

sudo cp boot /

- If you installed using the binary package, you'll note that there is no Extra folder on the root level of your hard drive. Just create one yourself.

- Copy your com.apple.Boot.plist file to the Extra folder. You can use the one from the Support Files folder.

- Copy your DSDT.aml file to the Extra folder. *Use your own patched DSDT. The one from the Support Files folder likely will not work for your system!*

- Open Disk Utility, find the UUID of your drive that we installed OS X to. To find it, just select the drive (the named one, i.e. Macintosh HD), and File -> Get Info. Look for Universal Unique Identifier and copy the entire string.

- Edit the SMBIOS.plist file in the Support Files folder, and replace the entry under SMUUID with the UUID of your internal hard drive, then copy it to the Extra folder.

- Copy the kernel extensions from the Support Files folder and move them into the /Extra/Extensions folder (you may need to create this folder if you installed from binaries).

- In your Extensions folder, right-click the PlatformUUID.kext extension and select Show Package Contents.

- In the Contents folder, open up Info.plist, and scroll down to find:

<key>PlatformUUID</key>

- Directly beneath that, replace the data between the <string></string> with the UUID of your Mac OS drive that we copied from Disk Utility. Save and close.

- Set everything in /Extra to root ownership:

sudo chmod 755 -R /Extra
sudo chown -R root:wheel /Extra

- Build your Extensions cache - you may get some kernel dependency warnings here but you can safely ignore them as long as an Extensions.mkext file is generated:

sudo kextcache -v 1 -t -m /Extra/Extensions.mkext /Extra/Extensions/

TEST IT:

Reboot your system. NOTE: Again, since we booted from the CD, which does not have a patched DSDT, your CMOS may have been reset again after reboot. You will need to go back into BIOS and reset your settings!

Now try booting from the drive you installed Snow Leopard to. If you followed the guide correctly, the Chameleon bootloader should appear, and you should be able to boot into Mac OS X. If for any reason it does not, go back and see if you missed a step. You can always pop the boot CD back in and use it as the bootloader to get back into your Snow Leopard install.

Test your system for stability. Since we used the Boot.plist file for 32-bit, your system will be in 32-bit mode. If you want to go full 64-bit mode, open up your Boot.plist file and remove the -x32 kernel flag, and reboot.

Keep in mind there is no reason you HAVE to use the 64-bit kernel and extensions. Sure, it's fun, but there is little to no benefit in doing so. I strongly recommend you stick with 32-bit mode for now. If your system seems stable, you can give 64-bit mode a try and always go back to 32-bit mode if it doesn't work.

Remember, you can always put the boot CD back in and use that to boot your Snow Leopard install in case you screw anything up!

PROTIP: HIDING YOUR /EXTRA FOLDER AND /BOOT FILE

This is simply cosmetic - if you'd like to hide your /Extra folder, type this command:

sudo chflags hidden /Extra
sudo chflags hidden /boot

If you ever need to get to your Extra folder, simply select Go -> Go to Folder (Cmd+Shift+G) in the Finder and type /Extra.

YOU'RE DONE!

Share this post


Link to post
Share on other sites
  • 0

SECTION III:

FAQ:

I'm getting an error during startup that says "Waiting for root device."

Turn AHCI on in BIOS. Using legacy ATA is not recommended.

Bonjour isn't working with my onboard ethernet!

There is a special version of the ifconfig command-line program in the support files package. Read the instructions in there to learn how to make Bonjour work properly.

How do I dual-boot with different Mac OS versions?

Chameleon RC3 has a new feature that detects which version of Mac OS you're trying to boot, and can load separate extensions depending on which one it's booting. To set this up, create two folders in your /Extra folder, appropriately named 10.5 and 10.6 (i.e. /Extra/10.5 and /Extra/10.6). In each of those folders, create an Extensions folder (i.e. /Extra/10.6/Extensions), and put your kexts for the corresponding OSes in those folders. Remove the /Extra/Extensions folder, as that will override the OS-specific folders. Be sure to set permissions and generate an appropriate .mkext in the 10.5 and 10.6 folders.

My BIOS settings keep getting reset when I boot from the CD!

To make the CD compatible with many variations of Gigabyte boards, no patched DSDT is included, which means the CMOS reset bug will rear its ugly head a couple times during the install process. This is a minor inconvenience - a tradeoff for the convenience of having a bootable CD instead of having to prepare your own boot disk. You should only have to encounter this problem no more than two times during the process, so just reset your settings after the first couple of reboots and you shouldn't have to worry about it again.

TO-DO:

Better formatting. I put this thing together in the middle of the night using Safari, so I couldn't use the pretty advanced post editor to do proper bullet points and formatting.

VERSION HISTORY:

Aug 29 - v1.0 - Initial guide.

Sept 8 - v1.1 - Updated guide to use a boot CD method instead.

CREDITS:

- Blackosx's excellent guides for patching DSDT and vanilla 10.6 installation.

- Koalala's ACPI DSDT patcher

- Apple's latest and greatest OS, Mac OS X Snow Leopard. Please do not pirate Mac OS X. Go out and buy your own copy, and remember, a Hackintosh is no substitute for a real Mac!

Share this post


Link to post
Share on other sites
  • 0
excellent just what i was looking for. I wanted to know though why you didn't use Chameleon 2.0 RC2 as am using it with 10.5.8 install and its fine, any particular reason Mike?

Netkas' patched boot file was designed for Chameleon 2.0 RC1, so we have to go with that for now until it's updated, or Chameleon 2.0 RC3 comes out, which is supposed to have Snow Leopard support.

Share this post


Link to post
Share on other sites
  • 0
Thanks for the quick reply and really sorry for messing up the thread :)

It's cool; that's why I have delete powers. :)

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.