Linux on an Apple ibook M9018LL/A.
Linux on an Apple ibook M9018LL/A.

This is a page dedicated to any tricks associated with getting Debian/GNU Linux working on an Apple ibook. I have model M9018LL/A, with the following fun features: I had an excellent experience running Linux on an old ibook before a hardware failure (which may or may not have been caused by the Linux software, but I'm thinking not) and want to have the flexability of both Linux and OS X. In fact, I'm very interested to see which OS I end up using more.

The key reference for performing the installation is Branden Robinson's page.

Partitioning the Hard Drive.

This is easy enough with Disk Utility on the Mac OS X Install CD. Go to the Partition part of the Disk Utility. I just used the two partition option under Volume Scheme to create two equal partitions of size 18.63 GB. These partitions were named Debian and Mac OS X respectively, and both were of the form Mac OS Extended. Neither partition ha the OS 9 drivers, since I never plan on using OS 9. Branden has some hints about using UFS for the Mac OS X, but this didn't seem like a good option if OS X wasn't going to work for all applications. Oh, and by the way, back everything up if you have any type of data on your machine; I've lost some important code in previous Linux experiences.

Installing Software.

I was able to use both df and mount to find that the Debian partition on my hard drive was /dev/disk0s2. Chose querty/us as the keyboard. The only one that made sense.

This is ripped off of Branden's page, edited to correspond to what I did. Here's the procedure I went through to partition my iBook's disk in the Debian installer. The dummy MacOS Extended partition I had set aside for Debian appeared as /dev/hda2.

  1. d (delete partition; I am next prompted for the partition number to delete)
  2. 2 (my answer, "partition 2"; this now leaves empty space where I can create the partitions I need)
  3. b (create an Apple_Bootstrap partition; I am next prompted for what "block" at which it should start)
  4. 2p ( my answer, "whatever block partition 2 starts at" -- that's the beginning of the space I just freed)
  5. p (take a look and confirm the existence of the new Apple_Bootstrap partition)
  6. c (create partition; I am next prompted for what block the new partition should start at)
  7. 3p (my answer, "whatever block partition 10 starts at" -- unlike MS-DOS partition tables, free space gets numbers you can use for reference, so this is the partition right after the Apple_Bootstrap one I just created; I'm next asked how big it should be)
  8. 512M (I create a swap partition of 512M, according to the double the actually memory rule.)
  9. swap (I give it the name "swap"; this is important, and I should not call it anything else)
  10. c (create partition; I am next prompted for what block the new partition should start at)
  11. 4p (my answer, "whatever block partition 11 starts at" -- that starts right after the end of the swap partition I just created; I'm next asked how big it should be)
  12. 4p (a size of zero wouldn't make sense, so it knows that this means "wherever this free space partition ends")
  13. root (I give it the name "root"; this is important, and I should not call it anything else)
  14. p (I take another look around)
  15. w (I write the partition table to disk)
  16. q (I quit fdisk)

I decided not to install any kernal and driver modules, assuming that all the ones I need are already installed. After the base system is installed, the system reboots and allows one to configure the system. I assume the GMT was correct, although I didn't go to the trouble of confirming the correct hour. I enabled MD5 passwords; extra security can't hurt. I removed the PCMCIA. I chose ftp.us.debian.org as the Debian mirror apt. I didn't need a http proxy. In tasksel, return selects a package while tab goes to the next item on the menu at the bottom of the screen. Didn't install any locales. Used ATI as the video card driver for the X server. Used th default PCI:0:16:0 as the video card's bus identifier.

Added the following line after the magicboot line in /etc/yaboot.conf to get dual boot working:
macosx=/dev/hda5
since this is the partition where OS X lives, and then use ybin at the command line as root to commit changes. Then you can use shutdown -r now to reboot the machine. The default is Linux, and you have to be pretty quick to type x to get Mac OS X to boot.

Well, X windows doesn't work as of this point. The first thing to try is getting XFree86 4.2, which supposedly has support for ATI Radeon 7500 Mobility video chipsets.

Random Hints.

  • If you're using a mouse or any other kind of USB device, make sure it's disconnected before putting the computer to sleep. Sometimes, the ibook can't wake up correctly. pmud doesn't like it when the USB ports are being accessed.
This page was last updated on June 25, 2003.

Home. Personal. Research.