My Best Teaching Is One-on-One


Of course, I team teach and do special lessons, etc.


But my best work in the classroom is after the lesson is over --
going one-on-one,
helping individual students with their assignments.


It's kind of like with computer programs, walking the client through hands-on.
The job isn't really done until the customer is using the program.


Saturday, May 9, 2009

Fedora on an old clamshell iBook

I have an old clamshell iBook. I'm editing this post with it, in fact. Firefox 3.5 beta 4 on Fedora 10.93. (Fedora 10.93 is what Fedora 11 release candidate is currently called.)

Startup is slow. No doubt about that. But once things are running, it's quite useable.

I am currently triple-booting it, with Mac OS 9, Mac OS 10, and Fedora. Not in VMs, of course, I have to re-boot to switch, and all that. Here's how I did it:

First, dual-booting Mac OS 9 and Mac OS X on these old Macs is not really difficult at all. You just need installable media.

The last officially installable version of Mac OS 10 that runs on these old clamshells is 10.2, Jaguar. I'm not going to point anyone in the direction of the tools that help run later versions. (Was it post-facto or X-post-facto?) I've never gone there, myself, although, if Apple drops PPC support in 10.6, I may do so. (No love for INTEL from me.)

I don't want to get on-line with Safari 1 or Firefox 2, and I've wanted to keep this clamshell in use for my kids, so I've been trying to get Fedora running on it for a while. But they want to play Bugdom and Nanosaur, and I have some dev I think I may want to get back to that requires old systems, so I want to triple-boot it.

About a year ago, I bought a 160G disk and installed it. (Directions can be found elsewhere on the web, I don't have time to put all the pretty pictures I took up.) Only the first 120G was visible to Mac OS 9, and trying to format beyond that with Mac OS 10 prevented Mac OS 9 from booting. So, I needed a machine with a battery that worked anyway, so I bought an iBook G4 at the end of summer and installed that 160G hard disk on the G4. Runs very nice, have it triple booting Mac OS 10, Fedora, and openBSD. Mac OS 9 runs via classic on it, of course.

The iBook G4 was fairly straightforward. This iBook has not been.

First, Fedora would not install with the 160G drive. gparted would refuse to make a 1M partition and the installer would refuse to install the boot stuff in anything bigger than 1M. (More on that further down.) This was not the case with the iBook G4, only with the iBook G3.

First and a half. You must have more than 192M of RAM to boot Fedora. Live Ubuntu was painfully slow, although it did actually boot. An old live Fedora also was painfully slow, but did boot. Fedora 8, 9, and 10 would not boot. That's okay. You want to max the RAM anyway. Don't get the old 66 MHz RAMs, they're way too expensive. 100MHz RAM works just fine in most cases, and it's way cheaper.

And get 512M. Apple doesn't guarantee it, but it usually works, and you really want all the RAM you can get.

Second, Fedora walks on the Mac OS 9 drivers every way I've been able to install. That means that when you select the Mac OS 9 partition to boot from, Mac OS 9 won't boot. Classic will run, in Mac OS X 10.2, but Mac OS 9 won't.

That means you need to make sure you can boot up Mac OS 9 from something else, and the only other thing available on the old pre-firewire clamshell iBooks is the CD drive. (No booting from USB on these.) Catch 22 if your Mac OS 9 install CD is 9.1 and you update to 9.2.

If you do update to Mac OS 9 9.2, copy the Mac OS 9 partition off to a USB drive and burn a bootable CD ROM with that. (CD-R/W probably will not work.) And don't complain to me if it doesn't work, I haven't tried it here, I'm just speaking from theory. (Yes, I should try it. But I wouldn't have time to post this if I did.)

Third, well, it takes a long time. Even if you have installed a DVD drive in the machine, you probably want to use the netinstall CD. Otherwise, you'll be waiting for the install to finish, and then you'll be waiting forever for the first update to finish. Think in terms of more than 12 hours after you select the packages and start the downloads.

Fourth, well, if you don't have any nostalgia (or other reason to use the old systems), Fedora by itself was quite straightforward. Except for the 120G limit on the hard disk size. (I tried it last summer when I thought I had some extra time.)

So. Procedure:

HD -- 30G or greater. (The G4 had a 30G hard disk in it, so I used that.) Get a USB enclosure for the drive that you'll be removing.

RAM, as I said, more than 256M, recommend 512M.

Mouse. You want a mouse with at least two buttons. I promise you.

Backup your data, of course.

Partitions: 512M is probably enough for Mac OS 9, but you'll want more for the old apps that must be the reason you're wanting to multi-boot it. I used 1.5G, and that leaves enough room for the Mac OS 9 virtual memory space (576M).

I suppose you can put Mac OS 10 and Mac OS 9 on the same partition, but my set of superstitions suggests against it.

For Mac OS 10, you probably want about 9G or more to boot from, with another 1.2G for swap. That makes 10G if you leave the swap on the boot drive.

I used 9G for boot and 1.5G for swap. There are other places you can read up on moving the swap space off the boot partition for Mac OS 10, so I'll set that topic aside, here. Except for one point: drive label issues are much simpler on the clamshell iBooks. Plus side of a minus point, there.

(I have used Mac OS X 10.2 on a 5.6G hard disk, and it's okay, but I was continually watching the freespace and moving stuff off the main drive on that setup. And I only had 192M RAM in it at the time, so I wasn't losing a lot to swap space. I did move swap space off the boot partition for Mac OS X, just to force myself to keep room for the swap space.)

(Oh. The theoretical 8G limit on old machines. That does not cover the clamshell iBooks, even though some people within Apple, even, have been confused on this point. I have the README files to prove it, along with the booting system. 'kay?)

(Hmm. That 8G boot partition limit on the biege G3 desktops. Put Mac OS X in the first partition, cut it to about 7.5G, and you're golden. Mac OS 8 or 9 will boot above the 8G limit, so put that in its own partition, up above the Mac OS 10 partition. At least, that's the way I remember it. But that's got nothing to do with the iBook.)

The order of the partitions doesn't seem to matter on the iBook. Fedora moves things around, by the way.

You'll want one more partition, about 500M, for moving things between Fedora and Mac OS.

That makes four partitions so far. On the iBook, the partition count is important. You don't want more than 7 partitions total. (Or was it 8?) I like to cut lots of partitions, to keep things separate, but I had to give that habit up for this install. Sort of.

Ergg. Okay, no more than 16 partitions, but the drivers (and some other low-level stuff) are loaded in the first 8 partitions in the old Macs. The first partition you cut will actually be partition 9. So, the number of partitions we are cutting here must be limited to 8.

The partitioning software for Linux will allow you to cut more than that, but then Mac OS 9 refuses to boot and there is no way I could find to get around that.

Leave the rest of the disk unpartitioned, for Fedora to do its stuff with.

Install Mac OS 9. Then install Mac OS X. Or vice-versa. Make sure both are booting.

Get your install media for Fedora ready. (Again, I recommend netinstall. It seems simpler that way. If you're going to do this to a lot of iBooks, set up a private mirror instead of trying to install from the 7 CDs in the current install set.) It takes about a half hour or so at 1M ADSL transfer rates.

I'll defer to the Fedora wiki for how to get the install media.

Insert the netinstall CD, (re-)boot, hold down the C key. Fedora walks you through the several selections, pay attention.

Once you are into the graphical installer, you should use the mouse and its buttons instead of the trackpad and its buttons.

The trackpad driver is set up to take taps on the trackpad as mouseclicks (gag), and it's way too sensitive. Far and away too sensitive. If you don't use the mouse, you'll find yourself missing important setup dialogs because the drivers thought you clicked twice. You don't want that. (I really should write that up on bugzilla, but, you know my excuses about time at this point.)

Now, when it comes time to set up the Linux partitions, select the option to let the installer use the un-allocated space and automatically set up the partitions. But,
also select the option to check the partitions it sets up.

Why? It needs to set up two (count 'em 2) boot partitions for Fedora. (Why!?!?!?!?!? I wish I had time to look at the code on that.)

You were wondering why I was worried about the number of partitions? Heh.

Okay, it needs to cut one very small HFS partition to relay the boot from the usual (Open Firmware) Mac boot procedure from the PPC days. (openBSD allows you to do that on a partition you're booting Mac OS 9 from, but they are using a different technique.) As I mentioned above, that's a 1M partition. It's also marked appleboot or something. Let Fedora's installer handle that.

It needs to cut one partition for /boot in the Fedora file system, to handle the actual Linux boot processes. Currently, 200M is sufficient, but, again, you can let the installer take care of that. The next partition can be cut as an LVM partition, and swap space and other stuff (including the root partition) allocated in there.

So, seven Mac OS visible partitions minimum:

Mac OS 9,
Mac OS X,
Mac OS X swap,
HFS shared partition,
appleboot boot relay partition,
/boot partition,

and that leaves one more possible partition before Mac OS 9 refuses to boot. I don't remember, actually, if number 16 was actually useable, and I'm not interested in going back to check. So keep it at seven Mac OS visible partitions.

Within the LVM partition, of course, if your hard disk is big enough, you can divide the partitions up as you want. With the 30G drive, I felt it was wiser to just let everything fall into the 14G or so root partition. With 60G, I'd have separated out /etc, /var, /tmp, /home, etc., but I only had 30G. No big deal for what this machine will be used for.

I might, later, dedicate this machine to be a server. If so, I'll load openBSD and no X11, I think. And I'll partition it properly.

The install takes, as I said, a long time. Because the CPU is relatively slow, all the dependency checks take about two to three hours, but once you've selected the packages to install and told it to go, you don't need to worry about that. Just start it in the evening, and come back to it the next evening.

Make sure your family won't be tripping over the ethernet cables. Last summer, I got the install started Saturday night, went to church Sunday morning, and came back in the afternoon to find that someone had knocked the ethernet cable loose. (Broken connector, I'm to poor to fix it.) And the install had timed out and there was no way to recover. Oh, well.

Choosing your packages -- last year, there were still a lot of packages that still didn't run on PPC. Open Java was still not quite there, yet, especially for PPC. Most of the packages run okay, although you'll wonder sometimes when initialization takes a long time, and the splash screen doesn't show up until about a minute after you selected the app. But the responsiveness, once the app starts, is not bad. And, once the first run sets up the initial states, the next startup is quite a bit faster.

Yes, openoffice works reasonably well, too. So do the GIMP and inkscape. (wow!)

One more thing. If mono disgusts you as it does me, you'll want to go back and uninstall the mono packages. Nothing really necessary there anyway.

Finally, after Fedora is installed and running, you need to do one more thing to re-enable booting from Mac OS 9. Get your Mac OS 9 install (or bootable) CD and boot it. (Hold down the C key after the chime, again.) You'll notice that the hard disk is not mounted by the install CD. Run the hard disk setup application in the utilities folder.

You'll see that it says the hard disk is unrecognizable. Select it and click the format button. (eek!)

Well, yeah, be careful here. If you don't click more things than need to be clicked, it will take you to the dialog that allows you to set up partitions. There is an "Options" button, click that. (I'm reciting this from memory, I should check it, but I'm running out of time.) There should be either a dialog or menu selections at this point that allow you to refresh or install the drivers. Do that.

Now cancel the format dialog.

(Of course, cancel the format dialog. I mean, it took you two days to get this far, you don't want to go through that again for no reason.)

Quit the hard drive setup utility and re-boot.

Hold the option key down to get the boot volume selection screen. The Mac OS 9 and Mac OS X partitions are visible with the names you gave them when you formatted them. (Unnamed 1 and Unnamed 2? Heh.) They also have icons which help tell them apart. You can now select the partition to boot and away you go.

One little niggle remains. You can use the Mac OS boot select dialogs to change away from defaulting to Fedora. You can't go back, though.

Except, the next time you update Fedora, it will re-select Fedora for you.

Heh. Fun times.

(Now, I'll see if I can get my kids to play with Fedora on this machine instead of playing Marble Blast on the machines I need to work on.)

[update: pictures from the preparation stage on youtube.]