I got a new Dell Latitude E6410 for work and of course the first thing I did was wipe it clean of the original Dell install and try to get MacOS X 10.6 (Snow Leopard) installed on it. Even though I’d use the system it came with, Windows 7, most of the time, I wanted to see if I could add MacOS to it. Why? I don’t know – at this point, doing the Hacintosh thing has become compulsory for me. To do the Hac setup, I’d need to start my hac-ing before I had anything invested in the Win7 install since any effort to Hacintosh the laptop would surely involve wiping the hard drive. As it turned out, I was successful in getting the install done and I even added Ubuntu in the mix for fun. Yes, I have a perverse sense of fun! – and that included the “fun” of building my own network driver for MacOS.
In the end, I got keyboard, firewire, bluetooth, and the battery indicator working. I did not get the internal SD card or fingerprint reader working. The video sort of works natively; using Chameleon’s GraphicsEnabler does get QE/CI working but it also makes things unstable like when the screensaver kicks in, the video never comes back so I ended up backing off of that and just sticking with the basic graphics. The trackpad does work but it’s only basic functionality. The audio needed some tweaking to make it work, so I modified VoodooHDA to get that working (see my insanelymac post about the VoodooHDA mod). And I couldn’t find a kext for my wired network so I made my own using the Intel82566MM kext as a base and adapting the new Intel code (see my separate post for the gory details on that!). WiFi will need to wait for Project Camphor.
The following guide is a combination of many different guides – most notably my own previous install guides (1 | 2), blkhockeypro19’s E520 guide, and anguish’s triple boot guide (at MyDellMini.com). Big thanks to both blkhockeypro19 and anguish.
Downloads
- Download my BootCDE6410 iso and burn it to CD
- Download the Ubuntu 10.04 iso and burn it to CD
Install MacOS
- In the BIOS, under the System Configuration heading, set SATA Operation to “AHCI”.
- Attach an external USB mouse since the Trackpad won’t work with MacOS until later in the process.
- Boot computer using BootCDE6410.
- When the computer boots into the Chameleon bootloader, remove BootCDE6410 and insert MacOS X retail install DVD.
- Wait for inserted DVD to spin up, hit F5, then use the arrow keys to select the retail install DVD and boot
- Select language, accept license.
- From the Utilities menu select Disk Utility.
- Select the hard drive and pick the Erase tab. (Note that everything on the hard drive will be wiped out so don’t do this if you have anything on the drive you care about!) Leave the format and Name fields alone and click “Erase…”.
- Now select the Partition tab. Set up the partitions (using +/- buttons, dropdown, etc.) such that there are three partitions. The first partition will be the Windows partition and will be FAT32 (for now); the second will be the MacOS partition and will be MacOS Extended Journaled; the third will be the Linux partition and will be FAT32 (for now). Be sure that in the Options window you have GPT selected. When you are ready, click Apply. (Again, everything will be wiped out so if anything managed to get on your hard drive between the previous step and this one, don’t do this one!) With my 128 Gig hard drive, I set up my partitions as follows: 63.35 Gig for Win7, 30.34 Gig for MacOSX, and 34.01 Gig for Linux but as long as you have 15 to 20 Gig for each, your install should work fine.
- When the partitioning is complete, exit Disk Utility.
- Click “Install” and wait. It should take about 20 minutes (though it may say 40) and the screensaver won’t work so the screen may freeze – move the mouse periodically to so you can see progress.
- When you get a message saying “Install Failed”, don’t dispair – it just means it couldn’t start the kernel that it just installed because a special kernel is required. You’ll get that when you do the next step. So reboot the computer.
- While the computer is rebooting and you are hitting F12 to get the boot menu, you can also eject the retail install DVD – we’re done with that disc. Put the BootCDE6410 back in the drive, wait for it to spin up, and select the CD/DVD drive to boot.
- Now, when Chameleon shows the list of boot devices, choose the newly installed MacOS – should be the middle icon between the two FAT32 drives
- Go through the remaining installation steps – you’ll get the welcome movie, be asked to enter your info, etc.. Note that many of the screens you can skip entering info on. Just be sure you enter a username and password when you get that screen.
- When the installer has finished, open the finder window to the BootCDE6410 and run the post-install program to completion
- Run Kext Helper and install the IntelE1000e.kext and ApplePS2Controller.kext in S/L/E (don’t install VoodooHDA.kext yet)
- Eject the BootCDE6410 and reboot. The computer should be able to boot on its own now into the Chameleon bootloader. And when you pick the MacOS partition, it should boot up correctly into MacOS.
- Run Software Update to update to MacOS 10.6.3. I like to do the OS updates separate from the all others so I do the OS update, then do Software Update again to get the other applications updated.
- After the updates are complete, open Terminal. Run the following commands:
cd /System/Library/Extensions
sudo mv AppleHDA.kext AppleHDA.kext.notused
and then reboot - Put the BootCDE6410 back in and now use Kext Helper to install the VoodooHDA.kext in S/L/E. You can also optionally install the VoodooHDA PrefPane by double-clicking it (and choose for all users) – don’t worry about PrefPane error or Prefs crash. I think this is optional because I didn’t see any benefit to the control panel with the audio device on the E6410 but perhaps you’ll find something useful.
- Reboot, confirm all is well, run additional software updates
Install Windows 7
- Reboot computer and boot from Windows 7 installation CD – I used the Dell reinstall CD that came with my laptop.
- Follow prompts and do a Custom (advanced) install
- Select the partition for Windows 7, click Advanced, and then click Format. You will not be able to install to the partition until you do.
- Let Windows installer reboot as required. Follow the prompts and go through the initial setup c. That’s all we need to do with Windows for now. Do not update Windows using Software Update yet! You need the same version of Windows on the computer as on your install CD for one of the subsequent steps.
Install Ubuntu
- Reboot and launch the Ubuntu 10.04 install
- While the cd is loading and there’s a small graphic display at the bottom, hit F6 (any key may be okay here, but I didn’t try other ones!)
- Pick the language from the menu
- Use arrow keys to select the install option (second option) and hit F6 – choose “nomodeset” so that there’s an “X” in front and then hit ESC to return to main install menu then hit enter
- Follow the prompts until you get to the location to install Ubuntu, which is Step 4 and titled Prepare disk space. Select Specify partitions manually (advanced) and click Forward.
- On the partition table, you will see multiple zones of free space. We want to keep these, so at this point you will want to edit the partition set aside for Ubuntu, which is likely going to be /dev/sda4 if you followed these instructions exactly. Select this partition and click Edit partition.
- Resize the partition so that you have subtracted some space for the swap partition. I will be using a 4 GB swap partition, so I subtracted 4 from the remaining space. For Use as, select Ext3 journaling file system, click Format the partition and for Mount point select /. Click OK.
- You will be prompted with a window to write the previous changes to disk. Simply click Continue. The partition formatting and resizing will take place. Depending on the size of your drive and partitions, this could take some time.
- Finally, select largest chunk for free space (the space you just removed from the Linux partition in the previous two steps – in my case, around 4000 MB), and click New partition. For Use as, select swap area, ensure that the partition size is correct, then click OK.
- You can click Forward through the rest of the screens, filling out pertinent info, until you hit the last screen which is Step 7.
- On Step 7 (Ready to install), click Advanced. This is very important! Change the location of the boot loader installation to the partition you created for /. In our example, this is /dev/sda4. At this point, you can click OK, then Install and let the installation begin.
- Reboot as prompted and you’ll boot into Ubuntu. We’ll fix everything else in the next steps.
- If your E6410 has an NVidia discrete graphics card like mine does, you’ll need to do these extra steps:
- When grub comes up, hit the “e” key to edit the boot command.
- Using arrow keys, navigate to and delete “quiet” and “splash” and type the word “nomodeset” in their place. Press Ctrl-X to boot.
- After logged in, go to System -> Administration -> Hardware Drivers
- It will search for drivers and should find an NVidia driver to match click to activate and then when it tells you it’s ready to reboot, reboot. Select the Linux partition again and hit enter to boot automatically – the splash screen should work this time and you should see an improvement in the appearance to go along with the new graphics.
Fix Chameleon and Windows
- You now have all 3 OSes installed but the Chameleon bootloader is broken and even if you could boot, the Windows partition is totally broken. Start the repair by booting from the BootCDE6410 again.
- When Chameleon shows you the bootable devices, choose MacOS. MacOS should boot up fine.
- Install gptsyc package which is included on the BootCDE6410 “Post Install” folder.
- Open terminal and “cd” to the location of the Post Install application with something like this:
cd /Volumes/BootCDE6410/Post\ Install\ E6410
Then change to a directory inside the application package with this command:cd Post\ Install.pkg/Contents/Resources/boot
Then execute the following command:sudo fdisk -f boot0 -u -y /dev/rdisk0
- Continuing in Terminal do the following commands:
sudo fdisk -e /dev/rdisk0
(where # is the MacOS/HFS+ partition number)
print
flag #
quit - And still more in Terminal:
sudo gptsync /dev/disk0
It will show you what the MBR looks like and what the GPT looks like and, if they are out-of-sync, will ask you if you want to sync them. If you are offered the opportunity, press “y” and enter to do the sync. - At this point, you should have a functioning Chameleon bootloader. You should be able to boot MacOS without a problem and if you choose Linux, you should see GRUB start. If you select Windows, you’ll get the 0xc000000e boot issue. We’re going to fix this now. Boot into the Windows install media.
- After you choose the language, hit Shift+F10, and at the prompt, type “diskpart”.
- In diskpart, type the following commands:
list disk
select disk 0
list partition
select partition 2
active
exit
This assumes that disk 0 is the local hard disk and that partition 2 is the Windows 7 partition – if your partitions ended up different, modify the steps above with the appropriate numbers. If you had not run gptsync above, you’d get an error saying that you can’t do “active” on a non-mbr disk, but assuming you did, hopefully you won’t get the error. - Exit out of the command prompt, then launch Repair your computer, which is on the second screen.
- Windows will at this point automatically search for and find problems with your computers startup options. Simply click Repair and restart. Once you have done this, you should be able to boot into Windows 7. (
If you had run Windows Update, you might find that Repair won’t work from your CD – the CD used for repair must match the install of Windows.Actually, it seems that the Repair may not work due to forgetting to do the “select partition 2” and “active” in the previous step – apparently, the repair disk thing is very sensitive to booting.) - Test booting into all three of your OS’es. You should now be able to successfully boot into all three.
EDIT 3-Jun-10
Fix Hibernate on Windows 7
- I now have a fix for the Hibernate (S4) problem on Windows 7. The problem is because Chamelon takes away the “active” status of the Windows 7 disk which not only disables Hibernate but also BCDEDIT. To begin with, download HxD.
- Run HxD and select Open Disk from the Extras menu. Open the hardware disk for your hard drive (not the logical disk).
- Change the following line
0x060: c6 04 00 b3 01 80 ff 01 75 0a 80 3c 80 75 0f 30
to
0x060: c6 04 00 b3 01 80 ff 01 75 0a 80 3c 68 75 0f 30
(you are changing the 4th to last hex from 80 to 68) - You may need to set partition 2 to be active again like the steps above did but it may be retained from those steps. Reboot and you should be all set!
/EDIT
Sources
- blkhockeypro19’s E520 guide including special boot CD and DSDT.AML
- my Hac Snow Guide for Dell E520
- my guide for Hac Snow on a Dell Dimension 4700
- Chameleon bootloader and donation page
- Dr. Hurt’s Chameleon installer (which is included in blkhockeypro19’s guide)
- Prasys’ Core i5 Kernel
- anguish’s guide for setting up triple boot on a Dell Mini
- JrCs’s gptsync based on rEFIt Project.
- Linux Filesystems Explained
- Ubuntu Geek’s fix for the blank screen on install
- hb76’s hack for modifying Chameleon’s boot0
So all this works. I got 10.6.0 to boot with Win 7. But no matter what I did, I just couldn’t get the video with Nvidia 3100m. Its just the generic graphics. And I’d very much like to have it. I tried GraphicsEnabler, nvenabler etc. But the video just didn’t seem to show (black screen). But at night I did realize the the video was actually there but too faint (with GraphicsEnabler). Disabled ambient light sensor etc. Still no go. I’ll be very happy to try your recommendations.
Only if I could enable QL/CI
So finally it paid off. I had to install 10.6.2 and then enable graphics. and it worked. I really appreciate you taking the pains of documenting all this. I’ve been up for 3 nights now and I’ve accessed this page countless times and finally you helped me get the Nvidia 3100m working with cheameleon GraphicsEnabler.
varun21, you say you installed 10.6.2. Does that mean you only updated to 10.6.2 and not 10.6.3 or 10.6.4? And you found that “GraphicsEnabler=Y” works in this scenario? If you switch it back to “N”, does the “CPU Halted” problem go away – in other words is the “CPU Halted” problem caused by the “GraphicsEnabler=Y”?
Glad I have been able to be of help, varun21. And thank you for writing in with your comments!
Yes, I could never finish installing 10.6.3 and 10.6.4 (panics in both cases towards the end of the installation). But I got the GraphicsEnabler to work in 10.6.2, just that it won’t let me shut down or reboot peacefully. Shows “CPU Halted” and then the screen goes blank but no sign of shutdown. But I’m ok with that because I want a test machine to learn OS X tips and tricks to share on my blog. Thanks again for this guide and keep up the good work.
For anyone reading this guide and having problems, you should also read the post at insanelymac where a number of issues have been discussed since the original post.
http://www.insanelymac.com/forum/index.php?showtopic=219229
I reinstalled Ubuntu (11.04) and the selection for the bootloader has moved and I missed it. That put the bootloader on my first logical drive which wiped out the Chameleon loader so I had to do the stuff starting in Fix Chameleon and Windows all over again. That then broke the Hibernate on Win 7 again so I had to do that fix. In fact, I was having booting problems before fixing the Hibernate problem so it appears that you should definitely do the Hibernate fix even if you don’t plan to use Hibernate.
And that you should pay attention to the location of the bootloader in the new Ubuntu 11.04 installer.
Hi Ken,
I’m following your guide on my Studio XPS 1645 and have run into an issue. I had this same problem with my E4310, but cannot remember how I ultimately fixed it.
Basically, I get all the way to the ‘Fix Chameleon and Windows’ section. I do the fdisk and gptsync in OSX. Ubuntu 11.04 and OSX boots. Windows gives the 0xc000000e boot error. So I boot into the installation DVD and use diskpart and then repair startup.
It finishes and reboots. And immediately goes into booting Windows 7. It doesn’t give me any options or show the Chameleon bootup selection. I vividly remember redoing this section over and over again and eventually, somehow, I got it to get Chameleon to appear instead of jumping straight to Windows 7. Hibernate fix is applied and it works… I just can’t get back to Chameleon.
Any ideas? Any help is greatly appreciated!
Booting from the E6410 boot cd and then reinstalling Chameleon seems to have fixed the issue! All three OSes work.
Jedis, my comment about about when I installed the latest Ubuntu is sort of the same issue. It would either boot right to Windows or it would boot to Chameleon but Windows would return the boot error. I think the key for me was in redoing everything from the Fix Chameleon and Windows section on through the Fix Hibernate. Regardless, glad you got it working. And great to know that a Studio XPS 1645 works with this guide too!
I can’t get a snow leopard 10.6.3 retail cd at my end but downloaded the iso, tried burning it to a flash/usb stick, doesn’t work. Must i use the cd. If no, please can you help me with another way
Sorry, I never tried anything other than the retail CD.