Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
How to install Snow Leopard on a Dell Latitude D630. lol "easiest install ever"! From 2009-05-20, for posterity.

Welcome to the easiest install on a D630 EVER.

This method is contingent on two things: you must have access to a Leopard installation, and you must have an 8gb or larger USB key.

EQUIPMENT Chameleon RC1 Binaries: Chameleon RC1 Package: Retail DVD/Image 8GB USB Key (or larger) Necessary Kexts: AppleACPIPS2Nub.kext, ApplePS2Controller.kext, Disabler.kext, dsmos.kext SleepDisplayScript stuff A Dell D630 with the Intel GMAX3100 graphics card.


Get a retail disc, open disk utility, and put your usb key into your computer. Erase the USB key to have a single partition called InstallUSB, with GUID/GPT Partitioning scheme (not Apple Partition Map or MBR). Then, use Disk Utility's restore function to restore the retail disc to your usb key. I'm going to refer to this usb key as the RETAIL KEY. Once that's done, we need to modify the installation environment on the retail key to force it to boot using basic graphics mode, and not accelerated mode. If we do not do this, it will boot, but only to a blank screen. This is the same thing that happens once we have a fully working system, but because we institute the sleepdisplayscript, we can get around it.


Open up finder. Press CMD + SHIFT + G (for Go to location), and type: /Volumes/InstallUSB/System/Library/Extensions . It should take you to the Extensions folder of the install environment. Drag all the AppleIntelGMA* kexts to the trash, including the AppleIntelIntegratedFramebuffer kext. With these gone, the installer will default to basic graphics mode. This will not prevent these kexts from getting installed! We'll have to remove these SAME KEXTS from our finished install before we boot into our new system.


Open up Terminal. Change to the directory where the downloaded Chameleon binaries are. On my computer, this looks something like: cd ~/Downloads/Chameleon-2.0RC1-r431-bin/i386. If you type "ls" and hit enter, you should see files like fdisk, boot, boot0, etc. Next, type: diskutil list. This will show the partition schemes of the attached storage devices. Look for the entry "InstallUSB", and the partition just above it called "EFI". It will have an identifier, like disk1s1. This is what you want to remember for later. The InstallUSB partition will have an identifier similar to disk1s2.

Now that you have the disk identifier, type the following commands, hitting enter after each one: sudo -s (enter password) diskutil eraseVolume "HFS+" "EFI" /dev/diskXs1 (where X is the same as the identifier from above: this reformats the EFI partition as HFS+) ./fdisk -f boot0 -u -y /dev/rdiskX (X, again, is the same as the identifier) dd if=boot1h of=/dev/rdiskXs1 (X, same as before)

Next, we mount the EFI partition: mkdir /Volumes/EFIUSB mount_hfs /dev/diskXs1 /Volumes/EFIUSB

If, while running the mount_hfs command, you get "invalid argument", try running fsck_hfs on your EFI partition: sudo fsck_hfs /dev/diskXs1 One other thing I've noticed, is that if your RETAIL KEY doesn't have owners enabled, your EFI partition might not mount. To enable owners, type: vsdbutil -a /Volumes/InstallUSB I ran into some issues with mounting my USB EFI partition, but that could have been because I was figuring this out as I went. I kept repeating these steps (format, fdisk, dd) until it just suddenly worked.

Once you have the EFIUSB partition mounted, continue.


Next, we need the proper directory structure on our USBEFI partition: mkdir /Volumes/EFIUSB/Extra mkdir /Volumes/EFIUSB/Extra/Extensions

For the Dell D630, you need the following kexts in the Extensions folder of your EFI partition: AppleACPIPS2Nub.kext ApplePS2Controller.kext Disabler.kext dsmos.kext

Copy them over (to /Volumes/EFIUSB/Extra/Extensions/), using either finder or the terminal, and then run these commands: sudo chmod -R 755 /Volumes/EFIUSB/Extra/Extensions sudo chown -R root:wheel /Volumes/EFIUSB/Extra/Extensions

Anytime you add a new kext to the Extensions folder, you should run these commands.


Boot it on the D630. If you restored the retail disc correctly to the key, and installed chameleon properly, it should boot! Of course, boot with -v to see what's going on. It should be noticeably faster than booting off of a DVD!


You'll probably want to format your D630 HDD at this time (if you haven't already or have a failed install sitting there) using Disk Utility (Utilities menu). I always use GUID partition formatting.

Click through the install steps, choosing the proper HDD for installation. To save install time, you can uncheck the printer drivers and extra language options in the Customize area. However, since we're running off the RETAIL KEY and not a dvd, the install time is pretty ridiculous in terms of speed comparison. Click install when you're ready.

At the end, the installer will probably error out, saying something about not being able to set the startup volume properly. Don't worry! It thinks you are on a real mac... We use Chameleon for that anyway.


Before you reboot, go to the Utilities menu, and choose Terminal. We need to remove the graphics kexts from the installation we just created. My hard drive is named "YipYip". In the code examples that follow, replace YipYip with your hard drive identifier.

cd /Volumes/YipYip/System/Library/Extensions rm -rf AppleIntelGMA* rm -rf AppleIntelIntegratedFramebuffer.kext

And then restart the computer.


You'll still need to choose the RETAIL KEY in your BIOS menu, but once chameleon shows up, choose your HDD. Boot with -v -f to your HDD (just type -v -f and hit enter). You should be greeted with the Setup Assistant stuff. Go through it, until you get to the desktop.


Put the sleepdisplay folder somewhere on your hard drive. I recommend /Applications. Then go to System Preferences > Accounts. Choose your username, and then the Login Items tab. Add an entry, and choose the SleepDisplayScript application (not SleepDisplay). Now, once we have the kexts back, we should get hardware acceleration and such.


We've got chameleon on the RETAIL KEY, and if you want, you can just use that. However, if you don't want to always boot the usb key, you should install Chameleon to your HDD using the package installer linked at the top of this post. The default options are mostly fine, although I like to keep my extra stuff on the EFI partition instead of the boot partition, so choose the EFI option in the customize menu. You do not need the default kexts it wants to install to the EFI partition.


To mount your EFI partition of your HDD: diskutil list (find the proper partition... will probably be something like disk0s1 or disk1s1 if you have ) sudo mkdir /Volumes/EFI sudo mount_hfs /dev/disk0s1 /Volumes/EFI (remember to put the actual identifier for your EFI partition there!)

If it gives you an "invalid argument" error, try running: sudo fsck_hfs /dev/disk0s1

And then repeat the mount_hfs command.

Put the same kexts you put in EFIUSB/Extra/Extensions in /Volumes/EFI/Extra/Extensions, and repeat the chmod and chown commands. If you did this properly, when you boot, you shouldn't have to use the RETAIL KEY anymore.

UPDATE TO 10.5.7

Run software update (from the apple menu!), and have it do whatever it needs to do. When it's time to reboot, choose Restart Now. It will boot once, shutdown, and then boot again. This is normal for an Apple update. BE PATIENT!


And then realize there are a few things missing: sound, power management, battery management... Luckily, these are all easy. Use kext helper to install VoodooPower.kext and VoodooBattery.kext to your HDD (these don't like being in the EFI Extensions folder). For sound, also install VoodooHDA.kext using kext helper.

VoodooPower and VoodooBattery cannot be loaded from /EFI/Extra/Extensions, but VoodooHDA can. However, you have to also include it's dependencies: OSvKernDSPLib.kext and IOAudioFamily.kext. This just means you have to put a copy of them in /EFI/Extra/Extensions as well.


But.... a few things don't work. Ethernet (the old BCM kext doesn't work for some reason), sleep, and battery management is a little glitchy. BUT! We have an nearly vanilla system that can use Apple updates easily! So this is cool.

I also personally think that this is the easiest OS X install I've ever done to date.


Whenever you add something to /System/Library/Extensions or /EFI/Extra/Extensions, be sure to run the following commands in terminal afterwards:

For /S/L/E: sudo chmod -R 755 /System/Library/Extensions sudo chown -R root:wheel /System/Library/Extensions

For /E/E/E: sudo chmod -R 755 /EFI/Extra/Extensions sudo chown -R root:wheel /EFI/Extra/Extensions

And for good measure, if you reboot, use the -f flag to force a kext reload.

I wanted to install a completely fresh, as vanilla as possible installation to my D630, since there are so many confusing anecdotes and how-tos that I wanted to know for myself EXACTLY what I needed to do to get it up and running. That, and my iATKOS 4i disc refused to install (in the past it worked)!

THE PROBLEM The Dell D630 has the Intel GMA 3100X chipset. This means, that unless you remove the intel graphics kexts from a retail install disc, you won't see anything. I've tried a variety of vanilla-based methods (Slimbuild, etc), and they all fail because the display never turns on after bootup (this is why we use things like the sleep trick and but since it's an install boot, there's no way to run those things).

However, I noticed that after 10.5.5 (I think... might have been 10.5.6), I no longer needed any special graphics drivers. The built-in kexts worked fine, as long as you were able to perform the sleep trick.

So you might be thinking, "well, then why didn't you just use Slimbuild/Boot 132/Other to boot a retail dvd?" Answer: I only have a 10.5 retail disc, not one that included the updated graphics kexts.

THE PLAN Install everything to a USB Key, including the 10.5.7 combo update. Then, boot into any install disc that works (for me this is iATKOS 4i), and use Disk Utility to Copy the USB Key to the Hard Drive. Put any required kexts in the EFI/Extra/Extensions folder, and see what happens.

THE EQUIPMENT Another computer running OS X. I am using a PowerBook G4. A large usb storage device. I am using an 8gb usb key. An external hard drive should work fine (and is probably easier). A retail OS X DVD (this is a dual-layer disc) Some other OS X distribution that boots on your system: iATKOS 4i works for me (iATKOS has usually been pretty reliable in my experience) Any machine-specific kexts. For the D630: VoodooBattery, VoodooPower, VoodooHDA, dsmos, Disabler, VoodooPS2Controller)

I started with Chameleon 2 RC1 installed (as really, the whole point of this was because I somehow borked my system trying to remove PowerManagement modifications). To get that installed, the easiest way is to download the binaries (NOT the install package) to a small usb key, boot up any OS X install disc that actually boots (in my case, iATKOS 4i), and install it according to the instructions here: Make sure you follow the EFI Partition instructions (the second set of instructions). Those instructions assume you already have an EFI partition. If you do not, then first format your final target hard drive using GUID partitioning. It should automatically add an EFI partition, that will be invisible... you won't know it's there unless you open Terminal and type "diskutil list" without the quotes.

At this point, you should have a computer/hard drive that has an EFI partition and another partition for the rest of the OS.

Format USB key as 1 partition, GUID format.

Get a leopard retail disk. Navigate to the install packages folder by opening up Finder, and pressing CMD+SHIFT+G (for GO). Then type in: /Volumes/NameOfLeopardDisc/System/Installation/Packages and hit go.

There should be a bunch of packages here. Install at least those listed here, and all of them if you have more room. REMEMBER TO SET THE INSTALL LOCATION TO YOUR USB KEY!

Do not install OSInstall.mpkg, as it will install ALL OF THEM. Only install it if you want that... I didn't have enough room to do that, so I didn't. You should also skip OSInstall.pkg and OSUpgrade.pkg. I skipped all the language stuff and the printer drivers. FYI, MigrationAssistant.pkg is the setup wizard that you see upon first boot!

BaseSystem.pkg Essentials.pkg AdditionalEssentials.pkg MigrationAssistant.pkg BSD.pkg

You can always install the rest once Leopard is up and running in its permanent location.

Repair permissions of USB key: sudo vsdbutil -a /Volumes/RadiofreeUSB (owners enabled), then Disk Utility will let you repair permissions.

Copy Disabler.kext, dsmos.kext, VoodooPower.kext, VoodooBattery.kext, VoodooHDA.kext, AppleBCM5751Ethernet.kext, ApplePS2Controller.kext, AppleACPIPS2Nub.kext to EFI/Extra/Extensions folder on target computer HDD. (mkdir /Volumes/EFI, then mount_hfs /dev/diskXs1 /Volumes/EFI)

Remove AppleIntelGMA*.kext and AppleIntelIntegratedFrambuffer (all the GMA graphics kexts) from the USB Extensions folder. This will allow us to for sure have basic graphics when we boot up for initial user setup (and for setting up the sleep trick). I had already tried booting, but before I fixed permissions. Thus, the setup assistant ran, but didn't save any settings! This resulted in me being presented a login screen, but the computer not remembering any of the info I had just put in... To restart the setup assistant at the next boot, boot into single user mode (-s), and follow the instructions about fsck and mount. Then: cd /private/var/db/ rm .AppleSetupDone exit

If you haven't yet, try selecting the USB key in chameleon.

Get a leopard retail disc (I used an image, but it's the same either way... and image is faster). Open it in pacifist. Once it has finished loading, choose which components you wish to install. If you want a FULL install (and your usb key/drive is big enough), you select the "Contents of OSInstall.mpkg". Otherwise, for a slightly minimal install (for now), click the arrow next to "Contents of OSInstall.mpkg", and select "Contents of EssentialSystemSoftware". Then, click File > Install Files to Other Disk, and choose the usb drive. Give it your password, and let it go. It will take a while.

For each of the packages that you install, copy it's corresponding pkg file from /Library/Receipts on YOUR MAC to the same location on the USB KEY.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment