Here is a bad limeric about the iBook:

The iBook is made out of plastic,
It makes little children go spastic,
But when it turns on,
It makes a cute bong,
That I think is really fantastic.

-- Leah Cunningham

And now, for our feature presentation:

Leah's Adventure's Installing Linux on a Graphite iBook

NOTE: Avoid reading this if random tech stuff is boring to you. I am mostly writing all of this down for my own reference.

The iBook is Deceptivally Cuddly

I decided to do all of my testing on the new iBook, since they finally had it in in the labs. Testing would be done with our new 7.0 PPC edition of SuSE. This iBook is neither tangerine, nor blueberry. It is a much more sophisticated shade of graphite:

Other shades include indigo (lower-end model) and key lime (both lower-end and "Special Edition." The Graphite model is also a "Special Edition". Specifications include:

  • 366- or 466MHz PowerPC G3 processor with 256K on-chip level 2 cache
  • ATI RAGE Mobility 128 graphics controller with 8MB SDRAM for 2D and 3D graphics acceleration
  • 64MB of SDRAM, expandable up to 320MB
  • 10-gigabyte Ultra ATA hard disk drive
  • MacOS 9.0.4 (evil)
  • DVD Rom Drive

Pain

I went through the usual partitioning with drive setup/copying of the suseboot folder to the linux boot partition process. Then, on a crazy whim, I decided to try to boot the installation from the first CD. Of course, I was completely out of my mind to think that this could possibally work, and it didn't. It begins to boot the 2.2.16 kernel, and freezes at this point:


  CONSOLE: Colour dummy device 80x25

This is, of course bad. Thinking it could have something to do with the need for the video=ofonly parameter, I tried booting off of the CD, hitting tab a bunch of times blindly (you can't see the initial yaboot screen) and typing in install video=ofonly. No success in that attempt either.

I was fairly certain that a new kernel was in order, so the first point of business was obtaining the aforementioned kernel. I grabbed the vmlinux.benh.gz file from the 1st SuSE 7.0 PPC CD in the suse/images directory. I dragged this to the desktop, and double clicked on it enthusiastically. MacGzip worked it's magic and soon I had a vmlinux-benh sitting on the desktop. I renamed it vmlinux, and replaced the vmlinux in the linuxboot/suseboot folder with the one on the desktop.

Just to torture myself (I was fairly certain that this machine's firmware was not any more stupid than the other new machines out on the market), I tried to mark the os-chooser bootable by running the script for this in the linuxboot/suseboot/tools folder. I changed the startup disk to linuxboot. I made sure that I added video=ofonly to the append line in the linuxboot/suseboot/yaboot.conf file, as I suspected this was necessary. (It was, eventually, by the way.) This did not work either, as I suspected. I was, however, able to boot MacOS by holding down the space bar, so the script did not completely fail.

Next I decided to do what I usually have to do to get linux on these new machines: run the script to mark Yaboot bootable in the linuxboot/suseboot/tools directory. I changed the startup disk to linuxboot again, and rebooted with glee. To my delight, the kernel booted and the installation ramdisk started, and I could even see the screen!

The graphical installer started up in a few lovely puke-shades of the colors that it was supposed to have. The framebuffer is really nasty looking on this machine. I have heard rumors that it may work better with 2.4, but did not get that far in this testing session. It was clear enough to do the installation, however, and that is what I did. I also discovered that on this machine it is a very bad idea to switch out of YaST2 to the console, and then try to switch back. It could have just been me, but the machine locked up when I did this at one point.

After the installation, it was necessary to install the correct kernel, so that the machine would be bootable in the future, with the right modules. I installed the /cdrom/suse/images/k_benh.rpm. This is on the first CD as well. This RPM installs a funky /boot/vmlinux-benh-.. file. I replaced the existing /boot/vmlinux with it. Then I grabbed the latest lilo.rpm from our FTP server, as the one on the distribution has problems if you are not dual booting the machine (which we can't on this machine). It is at ftp://ftp.suse.com/pub/projects/powerpc/lilo/lilo.rpm. After installing this, I edited the lilo.conf file to boot linux only.

Other Stuff That Didn't Work

Sound didn't work correctly, although YaST (Yet Another Setup Tool) detected and tried to configure the sound card. It seems there is some sort of speaker issue that needs to be sorted out.

There is, at the moment, no way to make XF86 4.0.1 work on this machine, but I am trying to play around with this still. I may have an update after next week.


Additional information obtained after more research:

I love it when after much frustration you finally get something to work. After much testing in the Apple Labs and working with this sweet gentleman on the phone, I have the installation on the iBook down pat. I thought I would, therefore, add some additional information that has changed since the notes I posted previously:

  • It is actually possible to dual boot the iBook with the lilo program. Instead of holding down the space bar, hold down the Option/alt key. This will give the choice between MacOS and Linux. The "other" section in /etc/lilo.conf must be set with the correct MacOS partition, and /sbin/lilo needs to be run again.
  • Video works with this kernel append: video=aty128fb:vmode:10 This can be typed in or (better) added to the /etc/lilo.conf file. (Remember to run lilo again.)