Dual booting Mac OS X Snow Leopard 10.6.4 and Windows XP on Asus 1000HE netbook

0.00 avg. rating (0% score) - 0 votes

This guide shows you how to install both Windows XP and Mac OS X 10.6.4 (retail version) on your Asus 1000HE netbook, with Chameleon bootloader to allow selection between these two OSes.

Pre-requisites:

1. Asus 1000 HE netbook with 2GB of RAM. Windows XP will work well with 1GB but Mac OS X will boot very slowly, making the whole process pointless.

2. A USB DVD drive (optional). Although you can install Windows XP and Snow Leopard from USB, certain troubleshooting steps (not mentioned here) will be easier if you have a DVD drive.

3. Windows XP SP2/SP3 installation CD. You will need to slipstream the Intel ICH7 drivers into the original installation CD using nLite, otherwise you’ll get a blue screen during installation due to error INACCESSIBLE_BOOT_DEVICE. Read the instructions here

4. Mac OS X 10.6.0 and above retail installation DVD.

5. Mac OS X v10.6.4 Update (Combo) download from Apple.

6. Mac OS X 10.6.4 Atom Kernel patch from here.

7. A USB keyboard. This is needed as the onboard PS2 keyboard may require extra driver and will not be recognized by OS X after installation.

You’ll also need some other patches and tools described in the section below.

Partition Table: GUID, Prototective MBR and Hybrid MBR

Before we start, let’s get some facts clear first. All Mac OSX versions since 10.6.0 (Snow Leopard) by default will only install on GUID partition table (GPT) as opposed to Windows XP, which only supports booting from MBR partition table. There are ways to make Snow Leopard install on MBR, but in all my attempts I could not get a stable system, so let’s stick with GPT.

GPT provides backwards compatibility with MBR using something known as protective MBR. With protective MBR, GPT hard disks will appear to non-GPT aware tools as having an unknown partition table, thus preventing these tools from altering and damaging the partition structure.

Protective MBR is not enough to install Windows XP on a GPT hard disk, so we’ll need something called hybrid MBR. Up to 4 GPT partitions can be added to the hybrid MBR and can be seen by non-GPT aware tools. To create a hybrid MBR, you’ll need something like GPT FDisk (gdisk). Disk Utility on OS X will also write a hybrid MBR by default. There is also another tool called GPTSync which is however less flexible and did not work properly in all my attempts.

The bootloader

Windows XP uses the NT bootloader (NTLDR) which will not load OS X. For XP and OSX to run smoothly together, we’ll need the Chameleon 2 bootloader. Before we continue, you should get familiar with installing the Chameleon bootloader.

Partitioning the hard disk

Interestingly, Windows XP can only be installed on either the first or the last partition of a hard disk. For this reason, we partition the hard disk as below:

1. EFI Partition (FAT32). This is where Chameleon 2 bootloader wil be installed.

2. OSX Partition (Mac OS Extended Journaled). This is where Snow Leopard will be installed.

3. DATA Partition (optional). This is where we will store all the data to be shared between OSX and Windows XP once the dual boot has been set up. FAT32 (supported by both OS) is recommended. If you use HFS, you’ll need MacDrive to access it from Windows. If you use NTFS, you’ll need NTFS-3G to access it from Snow Leopard.

4. WINXP partition (NTFS). This is where Windows XP will be installed.

Installing Snow Leopard

There are plenty of guides on the Internet to install Snow Leopard on ASUS 1000HE using NetbookBootMaker so I will not repeat it here. Use the tool to create a USB installer boot disk and follow the guides to install OS X.

If the Asus 1000HE does not boot from USB, press F2 during startup to enter SETUP.  Select the “Boot” menu, select “Boot Device Priority”, and move the USB drive to the top of the list. Still under the “Boot” menu, select “Hard Disk Drives”, and also move the USB drive to the top of the list. Save changes and your netbook should boot from USB.

If you get the error “The bless tool was unable to set the current boot disk” at the end of the installation process, ignore it.

Next, install Chameleon bootloader to EFI partition using this guide. When you reboot, Chameleon should show OSX as one of the partitions and you can boot from it.

If OSX boots up complaining that it cannot find a keyboard/mouse, connect a USB keyboard first in order to complete the boot process. We will install the driver for onboard keyboard (PS2) later.

Once Snow Leopard has finished booting, install the 10.6.4 Combo update from Apple. After the installation, it is expected that OSX will no longer boot up, since 10.6.4 does not officially support Intel Atom processor. You will see the following error message:

panic(cpu 0 caller 0x1c2a7459): “Unsupported CPU: family = 0x6, model = 0x17, stepping = 0x2″@/SourceCache/AppleIntelCPUPowerManagement/AppleIntelCPUPowerManagement-90/pnProcessor.c:210

You’ll need to patch the kernel by booting from the installation media, launch Terminal, and replace the current mach_kernel on the OSX partition with the patched one that you downloaded earlier.

Once Snow Leopard 10.6.4 has booted up, install the following kexts with the help of KextHelper. This is needed to get the basic hardware working:

1. Display: AppleIntelGMA950.kext and AppleIntelIntegratedFramebuffer.kext. This is technically the same as the default driver, except that it has been modified to support Intel GMA950 chipset that has 0x27ae as the hardware ID.

If after installing the kext, OSX boots up to a blue screen, make sure you’re using the correct DSDT files for your computer. In the same zip file you downloaded, there are 2 files for 1GB and 2GB of RAM.

2. Ethernet: install AttansicL1eEthernet.kext

3. Audio: VoodooHDA.kext and Voodoo.PrefPane. This is taken from here to solve the low volume issues.

4. Battery Indicator and Power Management: VoodooBattery.kext, VoodooPower.kext, VoodooPowerMini.kext.

5. Bluetooth: the default installation will support bluetooth but will have problem turning it on or off. to fix this, install IOBluetoothFamily.kext

6. Onboard mouse or keyboard: please install VoodooPS2Controller.kext.

7. Card Reader: install VoodooSDHC.kext

For Wifi to work, you’ll need to install the RT2860 drivers for OS X. This will launch a tool called WirelessUtilityCardBusPCI which scans for Wifi network at startup.

Creating the Hybrid MBR

Boot from the installation media into Terminal, unmount the disk first and run gdisk. Make sure your device identifier (e.g. /dev/disk0) is correct. Select p to print the partition table. Select r for recovery and transformation options, follow by h for make hybrid MBR and choose to add the Windows XP, OSX and DATA partitions. When prompted to set the boot flags, select NO. (If you select YES, somehow the partition table is corrupted, and Chameleon will hang at “boot0: done” when your system reboots. To recover, you must format the EFI partition as FAT32 and reinstall Chameleon). Finally, type w to write the hybrid MBR.

Installing Windows XP

This is straight forward, just keep in mind that Windows XP will install the NTLDR on the first partition that it recognizes, which is the DATA partition. If this happens, after installation is done, you will need to select the DATA partition at the bootloader to boot to Windows XP! To avoid this, during Windows XP installation, format the DATA partition as HFS (you can reformat it to FAT32 later after everything is done).

After Windows XP is installed, reboot the computer and make sure that Chameleon bootloader can boot to both Windows and OSX. If it can boot to OSX but not to Windows XP, check the boot.ini file on the Windows XP partition to make sure the correct partition number is set.

Finalizing the Installation

At this point we are done, you can dual boot between Windows XP and Snow Leopard 10.6.4 without issues. You can customize the bootloader by editing /Library/Preferences/SystemConfiguration/com.apple.Boot.plist. The more useful keys are “Default Partition” to set default to either OSX or Windows XP and “Hide Partition” to exclude the DATA partition from the boot menu.

To backup the setup so that you won’t have to repeat the process again in case of a failure, you’ll need CloneZilla Live CD. Backup all EFI, Windows XP and OSX partitions in advanced mode, be careful to select the correct set of options. When restoring, remember to restore in advanced mode with the same set of options selected during backup. Also remember to re-write the hybrid MBR via GPT fdisk every time you make changes to the partition table such as adding/removing partitions.

Performance

With this dual boot configuration, Windows XP performs smoothly (it should!) while OSX encounters some strange behaviour despite booting up in less than 30 seconds. First, it would not wake up from sleep properly despite trying several sleepenabler.kext patches. Occasionally, especially after an improper shutdown, it would also hang at “Waiting for DSMOS” for around 3 minutes during boot up. Although applications such as Safari, iTunes, MSN/Yahoo/Skype Messenger and TextEdit are reasonably fast, office applications like Open Office, Microsoft Office 2011 or even AbiWord are too slow to be usable; you will only see what you type after almost a second! You can play MP3 smoothly, but playing videos via VLC or QuickTime is too slow. Surprisingly, xCode with iPhone SDK runs fast enough to develop some simple iPhone applications. To me, it isn’t about the processor not being fast enough for the job, it’s more likely many Snow Leopard applications are never optimized for the Intel Atom processor.

You may notice that some graphics applications won’t be able to display graphics properly. In particular, the Preview application won’t be able to display images, and pressing Apple-Shift-3 or Apple-Shift-4 (maps to Windows key) to capture screenshot will just return an empty black image. This is due to the lack of QE/CI support on the graphics card drivers. I have tried several kexts for Intel GMA 950 which claim support for QE/CI without success.

On a side note, if you install Microsoft Office 2011 on Snow Leopard on Asus 1000HE, it’s not easy to get past the welcome screen the first time Word/Excel/PowerPoint is started after installation. The “Close” button is beyond the bottom of the screen due to the low 1024×600 resolution – you’ll need an external monitor!

Conclusion

I hope this guide is useful for those interested in dual booting Windows and Snow Leopard. Except for the installation of the drivers which is specific to the Asus 1000HE, the rest of the guide should work for any computer. For simplicity, some troubleshooting steps in installing OSX has been left out. In case of any problems, you can search the InsanelyMac forum or leave a comment here and I will try to help if possible.

0.00 avg. rating (0% score) - 0 votes
ToughDev

ToughDev

A tough developer who likes to work on just about anything, from software development to electronics, and share his knowledge with the rest of the world.

10 thoughts on “Dual booting Mac OS X Snow Leopard 10.6.4 and Windows XP on Asus 1000HE netbook

  • December 22, 2011 at 1:52 pm
    Permalink

    The link to the Intel ICH7 drivers is bad, do you know where to find them now?

  • December 22, 2011 at 11:55 pm
    Permalink

    Silly me, I googled Intel ICH7 but didn't think to google the filename. Thanks again for the link and the guide!

  • December 24, 2011 at 12:49 am
    Permalink

    I'm getting a kernel panic after booting the 10.6.0, am I missing something? Here's what I did so far:

    1. Partitioned and formatted the hard disk
    2. Created bootable SL USB stick using NetbookBootMaker
    3. Booted with the stick and used the optical drive to install SL 10.6.0 to OSX partition
    4. Installed Chameleon 2.0 RC4 to EFI partition
    5. Rebooted successfully to Chameleon, then chose the OSX partition

    Then I got a kernel panic, but I thought it was only the 10.6.2 kernel and above that needed to be patched. Any thoughts?

  • December 24, 2011 at 3:17 am
    Permalink

    Never mind, don't answer that yet. I'm able to boot to the OSX 10.6.0 partition if I boot from a NBI 0.8.3 CD. So I probably did something wrong with the Chameleon setup.

  • December 24, 2011 at 9:53 am
    Permalink

    Hi, glad to hear that you at least managed to boot up to 10.6.0 using the CD. Have you figured out why Chameleon cannot do the same? Will include your findings in the article – I am sure it will help others :)

  • December 24, 2011 at 6:11 pm
    Permalink

    I will research on the error a bit in the coming week if I have some free time :)

    Thanks for the article on your progress and Merry Christmas, by the way :)

  • December 25, 2011 at 5:28 am
    Permalink

    Thanks, by the way, whenever I've done a "standalone" install of SL, I've always run NBI 0.8.4 afterwards, selecting "install Chameleon" and "general extensions" to install on the partition where SL is installed. I didn't do that this time, figuring that if I'm installing Chameleon on the EFI partition then I don't need it on the SL partition. So maybe there's something that NBI installs as part of the "general extensions" that isn't getting installed and is causing the problem?

    Thanks again for this guide, and Merry Christmas and Happy New Year to you too!

Leave a Reply