Local Links

External Links

Contact

Search this site

Installing Mac OS X on a Asus Eee PC 1008HA



Questions, comments? Please use the dedicated InsanelyMac forum thread

First, see this forum thread, it has a lot of answers: http://www.hackint0sh.org/forum/f181/74055.htm#post416384.

There's another "guide" here which offers a few solutions that I don't yet here (e.g. Audio): http://www.s10lenovo.com/viewtopic.php?f=18&t=2957&p=20570

I am now describing a method to install OS X, which has the following goals:

  • It assumes that the PC comes with two large partitions, the first pre-installed with Windows XP, the other practically unused and thus being available to install OS X onto (this is how my Eee PC was set up). (There are two more partitions on the disk, which are small and supposedly used to re-install Windows and BIOS firmware - let's just ignore them.)
  • The modifications to the original system shall be minimal, i.e. the Windows installation remains fully functional, and the OS X installation can later be easily removed again to restore the PC to its original state.
  • It provides an install method that does not rely on the presence of an external USB DVD drive. Instead, a more likely available external USB hard drive or memory stick can be used.
  • It uses the PC-EFI (aka boot-132, Type11) method to load OS X, meaning that it operates with an unmodified (vanilla) OS X system. Hence, an installation can commence from an original OS X Install DVD (or copy thereof).

How I installed OS X on the Asus 1008HA

Path 1 - If you have Mac

For those who are already using a Mac, the simplest way is this (that was my first success running OS X on the Asus):

  1. Get a working OS X installation installed on an USB drive (either copy your current system to it using Disk Utility, with an interim image file, or install a fresh one from your Mac to the USB disk), and make sure you can boot from it using your Mac.
  2. Get the Chameleon 2.0 installer (.pkg) and install it to the USB disk (I suggest to enable all available options, just not "EFI HFS").
  3. Add the Extra folder with extensions to the root of the disk (see below under Software you need to collect).
  4. Make sure "Hyper Threading" is turned off on the Asus (just in case - you can turn it on again once everything works, I hope).
  5. Connect the USB disk to the Asus, turn Asus on and press the Esc right away (maybe a few times) to get a menu where you can select from which disk to boot. Choose the USB drive.
  6. Now the OS X should boot from the external disk. If it doesn't come up fully, try again, with options such as "-t" and/or "-x" entered in the boot loader (to be able to enter these options, you may have to press the Tab key at the chameleon boot prompt). Be patient - boot process may still take up to 5 minutes!
  7. Once the OS is up, get "DSDT Patcher GUI" and use it to create a dsdt.aml, which will speed up booting (30 seconds instead of 8 minutes). Do not forget to check the "Apply ..." option, and probably "Force ...", too.

Path 2 - Doing a clean install

... still in the works. the following may be incomplete:

Items needed:

  • The Asus Eee PC 1008HA, obviously
  • Mac OS X Leopard Installer (I used one for 10.5.4). Sold by Apple on DVD-ROM.
  • Either an external DVD drive that connects via USB, or an external USB hard disk or memory stick with at least 8 GB capacity
  • Ideally, another USB memory stick, 64MB capacity is enough (you could even use a memory card from a digital camera if it fits into the SD slot on the side)

Software you need to collect:

  • Essential:
    • Chameleon boot loader, Version 2.0 or later (start here: http://chameleon.osx86.hu/)
    • Some extensions that go into the Extra folder that the Chameleon installer creates (try Google or http://www.insanelymac.com/):
      • AppleDecrypt.kext -- needed to get a vanilla OS X kernel to work, apparently.
      • IntelCPUPMDisabler.kext -- needed so that the kernel does not stop with a "unknown CPU" panic (Chameleon 2.0 RC2 comes with a "Disabler.kext" which you can probably use instead).
    • A few set of files from myself - unpack the zip files after download:
  • Optional:
    • Minimal smbios.plist.zip file to make the Eee PC appear as a portable model - place it into the /Extra folder.
    • AppleACPIBatteryManager.kext -- enables recognition of the internal Battery
    • To get the internal keyboard and trackpad working (you could connect a USB kbd and mouse instead):
      • AppleACPIPS2Nub.kext and ApplePS2Controller.kext -- Google for ApplePS2kexts_10.5.6.ready.zip
    • iBored 1.1.1 or later in case you want to keep your Windows installation.
  1. Unless you have a DVD drive that you can connect to the Asus, you need to copy the OS X Install DVD to a partition on a USB drive. (Note to self: I should explain how to do that under Windows with iBored - it can be done with the "Write File / Blocks" operations, after making the disk writable)
  2. If you like to keep your Windows installation, copy iBored.exe with its accompanying files to the Windows system, e.g. onto the desktop.
  3. The following steps require a Mac, unfortunately. If you don't have access to one, ask around, maybe someone else has already made a ready img with these few files that you can copy to a USB stick under Windows yourself (again, iBored can be used to copy a ready-made image to a USB stick):
    1. Using a Mac, install Chameleon onto a HFS+ ("Mac OS Extended") formatted USB drive (e.g. a separate USB stick, or onto the same disk where the Installer copy was copied to), disabling all options. This should also create a folder named Extra on the disk - if not, create it manually.
    2. Add all the extensions mentioned above to the Extra folder.
    3. Copy the supplied com.apple.Boot.plist and dsdt.aml to the Extra folder.
    4. Copy NetworkInterfaces.plist and preferences.plist to the root of the disk.
  4. Now plug the disks with the OS X Installer and with Chameleon into the EeePC and boot from the Chameleon disk by holding the Esc key at startup. We do this step to verify that you can boot OS X at all with your setup before we modify your Asus disk to a state where you cannot boot from it any more.
  5. Once Chameleon offers the disk(s) to boot from, choose the OS X Installer disk.
  6. The installer should come up, asking for the language to use. Choose and press Return. (Note: If the boot of the OS X Installer does not succeed to this point, try turning off "Hyper Threading" in the Asus BIOS settings (see below))
  7. After confirming a few license dialogs the Installer should ask for the destination volume where to install OS X onto. At this point, go into the menu and choose Disk Utility. This allows you to prepare the internal disk for the installation:
    1. If you want to keep the Windows XP partition, it gets a bit complicated now, due to bugs in some OS X that should deal with a MBR formatted disk. The easy way is to patch the Installer so that it installs onto a MBR disk (google for "Create modified OSInstall.mpkg") - when you're going down this route, you can skip all the stuff below that tries to modify the partitions, and just go on with erasing the second (free) Windows partition as HFS+ in Disk Utility and then choose it for installation. The other solution is explained on a separate page: Installing Mac OS X onto a disk having the MBR Partition Map Scheme, and I'll describe the steps down here. For now, quit D.U. again.
    2. Should you want to erase the Windows XP installation, then I suggest you make a backup first, unless you have a DVD drive (then you can re-install your software from the included service DVD): Select the drive (not just a partition of it), then choose New Disk Image from diskN...", choose where to save it to (to an externally connected USB drive, of course), and choose the "compressed" image format, which should create a file of only a few GB in size. Afterwards you can repartition the disk, and when you do, make sure to use the Options...' button to choose GUID Partition Table. Then quit Disk Utility. Back in the Installer, choose the free internal Asus partition to start installing OS X.
    3. If you have chosen to erase your entire internal disk, then you can go ahead and skip the following sub-points.
    4. If you have chosen to keep the Windows XP partition, the Installer won't let you go ahead and instead tell you that you need to erase the disk and format it with a GUID Partition Table. But we're going to fix this now in a nicer way that requires no Mac:
      1. Quit the Installer (Restart) and boot into the Windows system on your PC.
      2. Launch the program "iBored.exe"
      3. In its Disks - local window, select the first disk (PhysicalDrive 0), which should be your internal disk.
      4. From the Disk menu, choose View Partitions
      5. You should see four partitions. The second one is the one we're going to use for OS X.
      6. First, you should install a special boot loader I made for this task (it makes sure you can boot into the Windows partition at all times no matter what gets screwed up with the other partitions - which is likely to happen due to bugs in the OS X Installer's tools). To install this special "fixed" loader, choose Install "fixed" boot loader.... In the ensuing dialog, confirm the chosen partition (should be #1) and choose Install.
      7. Next, you need to move this partition by one block because HFS (the volume format OS X uses) does not like to be on an odd block number:
        1. From the BlockView menu, choose Make Writable. Ignore the warning that might appear.
        2. Look for partition #2's "Start" field, which should contain the value "151123455", provided you have the EeePC with a ~ 150 GB hard disk. Click a twice (slowly, i.e. do not do a quick double click!) into that field so that you get to edit the value. Increment the value by one, e.g. to 151123456 and press the Return key to confirm the change (and proceed at any warnings). Verify that the value is now even (in fact, it should be divisible by 8, leaving no remainder). If something went wrong, you can use the Show Journal menu command to view your changes, select the last block with number 0 and click on Restore. That should restore the block to the value before your change. Repeat as necessary.
      8. From the Disk menu, choose Convert to GPT. Proceed at the warning.
      9. You should then get the response that the conversion was successful.
      10. Quit iBored and look for a file called something like Journal of PhysicalDrive0.rohPod on your desktop. Copy this file to another medium, such as to your USB stick, for safety. This file contains the backup of the modified disk blocks and is used later to restore your disk to MBR format.
      11. Reboot the PC, pressing Esc at start to boot off the Chameleon disk, then choose to boot the OS X Installer again. Go head as before and launch Disk Utility.
      12. In Disk Utility, select your internal disk's second partition, the one you plan to install OS X on. It's probably named disk0s2. On the right, switch to the Erase tab and go ahead to erase the partition with the format Mac OS Extended (Journaled).
      13. At this point, I get an error saying that D.U. has lost connection. This is one of the bugs I talked about. We'll work around this next.
      14. Quit Disk Utility, then quit the Installer to Restart. Start up your Windows system again.
      15. Oh no... as I'm writing this I find that Windows does not launch any more. I had this working before. I'm sorry, we're stuck here for now. I wanted to finish this guide tonight but it's getting late and I go on vacation tomorrow. So, you have to wait until I return to get this guide finished, or use one of the other install options (i.e. not keep Windows or patch the Installer to accept MBR disks)
      16. Launch iBored, view the internal disk's partitions again.
      17. ... a few instructions still missing here, about repairing the damage the gpt tool has done to the partition table, including restoring the Protected MBR partition entry. You could, of course, do this if you are able to boot from any other disk at this point. Only that you probably don't know what to fix until I can explain :(
      18. ... this time, you should be able to select the new OS X partition of your internal disk and install OS X on it. Go for it!
  8. At this point, the Installer should be doing its work and install OS X onto your internal disk.
  9. At the end of the installation, OS X will say that it failed because it could not set the boot disk. This is expected and can be ignored. Let it reboot.
  10. Make sure you use Chameleon again to boot into the newly installed OS X.
  11. A "Welcome" screen should appear. Go through the initial setup steps.
  12. Then it asks to transfer data from another Mac:
    1. If you have a Mac, it would be good to use this option to transfer only the basic settings (network) now, in order to avoid an otherwise upcoming problem with an endless loop.
    2. If you cannot transfer data from another Mac, you'll find that the Setup Assistant will restart, getting you in an endless loop. See here for a discussion of this: http://www.insanelymac.com/forum/lofiversion/index.php/t83544.html
    3. Another option is to copy the files from Into SystemConfiguration folder.zip, i.e. NetworkInterfaces.plist and preferences.plist: The unpacked files should be available to you, e.g. on your Chameleon disk. Quit the Setup Assistant by pressing Command-Q (on the Asus, the left Alt key is the Command key for OS X. This will shut the PC down. Restart it, booting once more the OS X Installer. When it has come up, launch Terminal from the Utilities menu. In Terminal, use the cd command to get to the folder where you have the two SystemConfiguration files. Then copy them to the OS X volume, e.g. like this: cp *.plist /Library/Preferences/SystemConfiguration. After this, reboot into the new OS X system - this time, you should get past the "do you want to copy your data from another Mac" page without the endless loop.
  13. Once the installation is finished and you can use your new OS X system, it's time to restore your MBR format in case you had converted it to GPT using iBored:
    1. Launch iBored again under Windows
    2. View the partitions of the internal disk and write down the block number in the Start column of the partition that holds the OSX system. In case the other block numbers fitted earlier, this one has probably the value 151533056 (which is the original adjusted block number plus 409600 blocks for the inserted EFI partition).
    3. Select the internal disk and choose Show Journal from the BlockView menu. Hopefully it finds the previously create file on your desktop - if not, you can locate it manually using the "Open journal file...'', opening the ".rohPod" file you were asked to save earlier.
    4. Now the Journal window shows a list of blocks. Use Select All from the Edit menu, then click the Restore button. This undoes the changes made to the partition table earlier.
    5. Finally, you need to fix the second partition's start address because it has moved from its original designation: View the partitions again, and edit the Start value of the partition #2 to 151533056 (or whatever you wrote down before). After this change, the partions list show see that this second partition contains a HFS volume. Now you're done.
    6. Reboot from the internal disk to verify that it still loads Windows.

Post-installation tasks

Once you have started OS X successfully and are in the Finder, there are a few more things to do:

  • Update to latest Mac OS X version. If you already have a working network connection at this point, just use Apple's System Updater which downloads it all automatically. Otherwise (e.g. if OS X does not seem to detect your newly installed Wifi card) download the Mac OS X "Combo" updater using another computer and run it on your EeeMac. With Mac OS 10.5.7 Apple appears to have added support for the Dell 1510 Wifi card so that after this update you should be able to use it as "Airport".
  • Install the Chameleon boot loader on your internal disk so that you won't need the USB stick any more to boot OS X: Simply perform the same steps you used when preparing the bootable USB stick, just choose your new OS X volume as the installation destination this time. And this time you can edit the "com.apple.Boot.plist" file on your internal disk (best to place it into the Extra folder) so that it boots right away into OS X. For this, change the value for the key "Instant Menu" to "n".
  • To fix the screen display to use 1024x600, the following steps appear necessary:
    • Patch existing GMA950 and IntelFrameBuffer kexts to work with Device ID 0x27AE. Just google for "patch 27ae device id" to find a Terminal script for this.
    • Add GMA950-specific "device-properties" to com.apple.Boot.plist (can be done using the OSX86Tools)
  • To speed up the boot time, I run "DSDT Patcher GUI" in order to have it create a "dsdt.aml" file (do not use the DSDT function in DellEFI 1.2! It won't work as it is too Dell-specific). The file, created in the root dir, can then be moved to the Extra folder (it can stay in the root as well, though)
  • To get all keys recognized on an international keyboard, and to get scrolling support for the Trackpad, install , and also make sure to remove ApplePS2Controller.kext and AppleACPIPS2Nub.kext from the /Extra/Extensions folder!
  • Many things are not working optimally at this point yet, I suggest you look for solutions at insanelymac.org, hackint0sh.org etc.:
    • There is no or inefficient power management, meaning that OS X does not power down inactive hardware components to prolong battery life
    • Sound is not working
    • Sleep & Wakeup may not work well (hint: To turn the backlight on after wake, press Fn-F5)
  • To get rid of the unnecessary Eject icon in the menu bar, hold down the command key while dragging it out of the menu bar (my thanks to silverplated for this tip).
  • I use DellEFI to enable the "Remote CD" functionality, which allows the EeeMac to use a Mac's CD/DVD drive over the network as if it were an internal drive. (I advise against using DellEFI's extension installation though, as it currently (v1.2a5) installs outdated extensions if you run OS X 10.5.7 - if you try, make a backup of your /System/Library/Extensions folder first, e.g. using OSX86Tools.)

A few short notes, for now:

  • During installation, to make sure the software observes the small screen bounds, enter the following text at the boot prompt or insert it into the Kernel Flags string field in the Extra folder's com.apple.Boot.plist: "Graphics Mode"="800x600x32"

Things that do not work properly yet

If you have any of the following working please let me know, either by personal e-mail or in the forums mentioned above!

  • Ethernet. There is no driver available for the internal Ethernet LAN port. Solution: None. Forget about using the port.
  • WLAN (Wi-Fi). There is no driver available for the internal Wifi card. Solution:Replace it with a support Wifi card or plug in a USB Wifi stick. Note: Of two people who tried a USB Wifi stick, one had success, the other not (see posts by georgeli88 and silverplated). Update: I just bought a D-Link DWL-G122, Rev C1. Had to get new drivers from here: Ralink Mac drivers, the ones for USB (RT257x/RT2671). Works well under 10.5.7.
  • Power Management. This means that power saving techniques (i.e. consuming power when the computer is not busy) may not work at their best efficiency. This can lead to the PC running hotter than necessary, and draining the battery faster. There may be already solutions out there to deal with this, I just haven't looked into that yet.
  • Bluetooth: Works sometimes, then, after a while of use, stops working. Not sure why yet.
  • Sound. No sound. Not looked into yet. As a work-around, I'm using a USB audio adapter from an audio headset in order to play audio via an external sound system.
  • File Sharing: When I enable File Sharing on the Asus and try to connect to it via AFP from a Mac, it does not succeed and the Asus's File Sharing preferences become unresponsive (i.e. I cannot turn it off any more until I reboot). Might be a personal config problem that does not affect others.
  • Shut down: Often, when I tell OS X to shut down the computer, the computer remains running after OS X has shut down. This might be related to the dsdt.aml file (i.e. it might require some modification) - more investigation is needed for this.

Some thoughts on the technical side of how it works

The first step is to make the PC run the PC-EFI boot loader so that it can run the OS X Installer.

When using the usual Chameleon boot loader, this would require a HFS+ partition, which does not exists at that point of time on the PC. One could convert the free PC partition to HFS+ without too much effort, but it would disable the default boot loader that usually loads the Windows installation from the first partition.

There are several possible solutions to this:

  • Chameleon could be expanded to what other common PC bootloaders do, i.e. load Windows (and Linux) as well.
  • A different initial boot loader would be used that can load the "boot" file from the Windows (C:) partition, and is also still able to load Windows instead.
  • Chameleon is installed on a separate disk (e.g. on an USB memory stick) and the PC is told to boot from it (which can be done by pressing the Esc key at startup)

Important installation notes

In some of my early tests, OS X did crash (freeze) during boot when the CPU's Hyper Threading is enabled. I worked around this by entering the BIOS settings at earliest boot time by pressing F2, then find the CPU Configuration under the Advanced tab and disable Hyper Threading there.

Getting Wi-Fi (WLAN) to work

See Asus1008HAWifiOptions

My "fixed" boot loader source code (bootfix0)

Code and source here: bootfix0.zip


Back to the main Hackintosh page

Page last modified on 2009-08-03, 07:15 UTC (do)
Powered by PmWiki