Installing Debian 3.0 onto an Apple iBook

...without using any physical media!

(fast Internet connection recommended)


These instructions should apply to any model of iBook, but they have only been tested on an iBook Dual USB.

I have a report from a PowerBook G4 (a.k.a. "Titanium PowerBook", a.k.a. "TiBook") owner that these instructions should also work for 550MHz and 667MHz models of that computer.

Update: The new-powermac flavor of the boot-floppies (Debian installer) has been released. This version comes with a 2.4 kernel which should support newer hardware like the iBook Dual USB much better.

Gather information.

Before starting a Debian install, you need to make some decisions and have some information at your disposal.

Prepare the hard drive for Debian under MacOS.

Okay, you're set to begin. How exactly you should handle partitioning depends on how the drive should end up looking; e.g., what operating systems are you going to have installed? A summary of procedures for a number of configurations follows, followed by some more detailed information.

Debian only (congratulations!)

Debian + MacOS 9

Debian + MacOS X

Debian + MacOS 9 + MacOS X

Run the Debian installer.

Now that the four files needed to start the Debian install process are in place, you're ready to proceed.

Restart the computer and hold down the four keys command + option + O + F. This puts you into OpenFirmware, which is a kind of boot monitor. At the OpenFirmware prompt, type the following:
boot hd:9,yaboot

The actual digit in the above command may vary depending on how many drivers Apple has placed on your hard drive; unfortunately, I know of no way to autodetect the correct number. What I have listed worked for my MacOS 9.2-based iBook.

You will next be greeted with the prompt of the yaboot boot loader. Type the following at its prompt:
install

The Linux kernel will boot and launch you into the Debian installer.

The Debian Installer is extensively documented elsewhere, so I'll just make a few miscellaneous remarks here.

The keyboard type to select is qwerty/mac-usb-us Unfortunately, this key mapping has the property of making the Command key the "alt" key, even though the Option key is the one engraved with the word "alt". So keep that in mind; in the Linux console environment, where you see references to the ALT key, use the Comamnd key instead. Furthermore -- and this is not Linux's fault -- iBooks require that you hold down the Fn key to get the function keys to scan as function keys. The order in which you press them is important, too! So, to switch consoles, learn this order: Command + Fn + F1 (where F1 might be F2, F3, etc.). When you see <ALT+F4> in the installer, think Command + Fn + F4. I have campaigned with the Debian PowerPC porting team to at least take care of the Alt/Command part of this problem, but so far to no success. I'll note cynically that the X server does it right. Alt is Alt.

Using mac-fdisk, which is the non-graphical partitioning tool into which the Debian installer throws you on PowerMac-based installs, is a cruel introduction to Debian. Here's a few tips:

Example: 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/hda9.

  1. d (delete partition; I am next prompted for the partition number to delete)
  2. 9 (my answer, "partition 9"; 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. 9p (my answer, "whatever block partition 9 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. 10p (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. 1200M (I am creating a 1200 megabyte swap partition -- yes, I know that is large)
  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. 11p (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. 11p (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)

Run through the rest of the Debian installer, using "http" access methods. You won't need to configure any kernel modules.

Once Debian is installed, you can enable multi-booting with yaboot (if needed), by editing /etc/yaboot.conf and running ybin to commit your changes. For instance, I added the following lines right after the magicboot line in my yaboot config file:
macos=/dev/hda12
macosx=/dev/hda13

Note that the macosx line points to the MacOS X "Booter" partition, not the UFS filesystem partition. This is important, because OpenFirmware doesn't know how to read UFS partitions.

You can also add
enablecdboot
to your /etc/yaboot.conf file to add a CD-ROM boot option to the yaboot menu.

This document will be expanded to address various issues of hardware support on the iBook.

The first thing I can say about hardware support on iBooks and PowerBook G4s is that apparently anything less than a bleeding-edge kernel from Benjamin Herrenschmidt won't cut it if you want novelties like power management support. More info to come.

Notes

To boot from a CD-ROM on a Macintosh: restart the system (by whatever means) and hold down the "C" key when you hear the startup bong. Keep it down until you have visual or aural (i.e., you can hear the CD drive head seeking) confirmation that the system is in fact booting from the CD-ROM.

Yaboot doesn't actually need 800kB; the bootstrap partition is made this large because HFS partitions cannot be made any smaller, and OpenFirmware only knows how to read a few filesystem types.

MacOS 9's Drive Setup program apparently does not know how to create UFS partitions that the MacOS X installer recognizes.

How to translate from Apple's partition type names to the names the rest of the world uses:

MacOS StandardHFS
MacOS ExtendedHFS+
Unix File SystemUFS

Branden Robinson; last modified 17 Apr 2002

Thanks to Colin Walters for contributing updates.