Linux on an Apple

A story without a happy ending (well not yet)!

WARNING... this is not a story for the feint at heart..

Riding on a crest of a wave after the huge success of getting the BeerBox running I decided to try something even more lunatic. Get Linux running on an Apple Mac. There were many reasons why this was a really bad coice of project, among them:

  • I know little about Linux
  • I know even less about Apples
  • ..and its an 'Old World' Apple Mac G3

Actually this is an old project. I was given the G3 about a year ago. It came loaded with Apple OS 9.2. My first idea was to upgrade it to OSX, that plan lasted about half a nanosecond, the hoops that you needed to jump through scared even this intrepid idiot. The defining moment was when it became clear that money was going to have to exchange hands for this project to work. I hate it when a project costs money, so it went on the scrap pile.

I have nothing against Apple computers, in fact my main TV is an Apple Mac Performa that has a TV tuner card in it and a 19 inch monitor. But an Apple G3 running OS9 was about as usefull as a root canal to me. There is no challenge in powering it on (other than the fact there is no on/offswitch, you do it though hitting a special button on the keyboard). What the hell would I do with this computer?

The simple answer is 'nothing useful'. I currently have Linux running on the BeerBox and it runs my web server and an IRCd. My cunning plan was to load Linux on the G3, load up another IRCd and join them together. Pretty damn ambitious in my mind!

If everything had gone off without a hitch it would still be a major undertaking, at least several cases of beer worth. Of course things have not gone as planned, and many months later I am still fighting with it. The 'upside' is that I now know way more about Apples and Linux than I did before.

It was very early on in the ordeal that I learned that all Apples are not made equal. They come in two distinct flavors, 'old world' and 'new world'. It is as if one night Steve Jobs sat bolt upright in bed and had a vision from the silicon gods "I know lets change the basic architecture of the Apple to really make Simons life a living hell!".

In a nutshell old world Apples are beige in color, new world are blue and white and all colors of the rainbow in between. A more technical approach is to think of the G3 series as the point of the great Steve Jobs vision. The change came midway through the series. So if you are the proud owner of something that came before the G3 you are old world, G4 and better and you are new world. If you have a G3 and its beige you are old world, G3 and pretty colors new world.

So what is the big difference? I am no technical expert but from what I have been able to glean online old world uses a rom (read only memory chip) on the motherboard that handles the boot operation (for you non techy types, that’s getting the computer running when you switch it on), new world uses a more sophisticated and flexible method.

Old world cannot boot from a CD easily, new world can. This obviously is a big stumbling block if you want to load Linux! I had spent a happy 30 minutes trying the various “black arts” key sequences to get the G3 to boot from CD until I discovered this revelation.

I can hear you asking, what are the ‘black arts’ key strokes? Well in the IBM PC world there really only is one, Cntl+Alt+Del, that we all know and love that causes the PC to reboot. Apples have a whole slew of them, most requiring you to hold 4 keys down, and you have to do this within a specific half second time slot! One web site was suggesting that I had to hit apple+option+O+F and I had to start this sequence when the power up ‘gong’ started and had to end it by the time the gong ended! That kind of hand eye coordination is found only in Olympic athletes. This is certainly not the kind of coordination I have after a six pack of beer.

It was back to Google. Some hunting around revealed that to get Linux running I would need to keep Apple OS9 so that the Apple would still boot, install a program called Bootx, and install Linux on its own partition.This all sounded too easy!

Of course there was no easy to follow 'no fail recipe' for all of this. Go to 10 web sites and get 10 different versions of what you need to do. To quote my personal mantra "I ain't scared!". It was off to work.

The good news in my simple mind was that my G3 had an internal 9 gig drive, and an external 3 gig drive. This was gonna be a walk in the park. I would keep the Apple OS9 on the internal drive and use the external for Linux.

I located Bootx, and followed the install instructions (not easy for a non Apple guy). The basic was to download it and get it moved to the apple, I did this by burning it to cd and then copying it onto the apple. Of course it was in a compressed format. Apple uses something called Stuffit to compress and uncompress files (in Wintel speak Stuffit= Winzip). I had a bit of a problem persuding Stuffit to do its stuff! The Apple mouse only has one button, and even tho I tried pushing on the right hand side I could not get the shortcut menu to open! hahahaha

I discovered that what I had to do was drag the file over the Stuffit icon and we were in business. I had a Bootx folder.The instructions told me to copy the Bootx application to the Apple systems folder, and create a subfolder called Linux Kernels. A couple of hours and beers later I had succeded in doing this (I really miss the right mouse button).

Ok we are really cooking now! It was back to Google. It turns out that lots of Linux varieties work on the Apple hardware platorm, the tech term is PPC. According to my research what I needed was a PPC Linux system on CD, then I could copy the Kernel and Ramdisk to the Apple, this would allow Bootx to boot into the linux install process. I was just about to engage in a 2 gig download when the new world/old world monster reared its ugly head. There seemed to be some issues. Some will work on both, some only work on new world.

I run a IBM PC with Linux on it, so my first try was 'The Hat People', because at least I kind of sort of can stumble around it, unfortunatly neither of the hats (red hat, fedora) seemed to like old world. So it was hats off!

Certainly adding the search term 'old world' to my Google search significantly narrowed down the options.In my previous Linux adventures I had tried to get some online help via IRC. And I must admit that I had been very disapointed. When I was stuck loading IRCd I went to their support channel and got ZERO help, they had no time for a beginner, even though they claimed that beginners were welcome. I had the same experience when I tried to get Services running. I decided that maybe if I choose one of the more obscure Linux distributions I would have more luck. I decided to try Arch, I downloaded the 3 CD ISO images, wasted a few blank CD's till I figured out how to create a CD from an ISO image. I was in hog heaven! I was pretty much sure that I had this whole project licked!

I copied the kernel vmlinux and the ram disk, I even managed to rename the ram disk to whatever Bootx wanted (ramdisk.image.gz or something like that).

It was time for the big test. I rebooted the Apple from hell (pull power cord out, re-insert and hit the 'funky' button). OS9 booted up and I started the Bootx application. Carefully following the poorly written documentation I filled in the correct information and hit the Linux button. The screen went black, a bunch of white writing appeared then the Arch logo. This is going great! Then, absolutly nothing. I sat and stared at the logo for a couple of minutes, but nothing more happened.

I tried several variations but the furthest I could get was the Arch logo. It was time to seak some proffesional assistance. With some trepidation (based on the cool reception from the IRCd people) I ventured into the wonderful world of IRC. I discovered the net that the Arch people hang out on and joined #archlinux-ppc. To my utter amazement they were friendly!

They recompiled kernals for me, helped me rig Bootx 8 ways to sunday, but after the third weekend of fighting with the stupid thing I gave up and went back to playing with crap i knew.

About every couple of weeks I'd power the Apple on and try something new. My supply of blank CD's was getting kinda small, I must have burned just about every style of Linux available. I always seemed to get to the same spot in the install process and the puter would hang.

About a month ago I got the Linux on an Apple urge again. I decided to try yet another version of Linux called Debian. What attracted me was the fact that it would do a Network install, all you had to do was burn about 50 meg of basic crap and the rest could be downloaded from the internet. This meant that I would only waste one blank CD instead of the usual 4. Good deal!!!!!!!! hahahaha

So i downloaded the image on my XP system and burned the ISO to cd.

I booted up the G3 running OS9.2 and copied the kernel and initrd to the system folder. This is a step I was getting really good at. I must have done this 800 times in the last 6 months. Then it was the big BootX adventure. I set the Linux kernel and ramdisk image, clicked the button, and cracked a beer.

Much to my amazement it started the install process, always a good sign. But I had been down this road before so I was not breaking out the champain just yet. Towards the end of the install it prompted me about installing the Quick Bootloader, I knew this was a bad thing! The last time I tried that trick it took me a week to figure out how to get the damn thing to boot at all. Quick does something funky with the bios and boot sector. So I politely declined their kind offer of installing it.

We get to the end of the process and it tells me it needs to rebbot into Debian. Goot times, I hit the yes button.

OS9 starts up and I run Bootx. Great excitement! According to the instuctions (wrong) I need to set the boot device to my hard drive partition that has Linux on it /dev/sdb6 and stick the same info in the 'extra stuff for the kernel' text box 'root=/dev/sdb6

I hit the Linux button, and.... and..... you guessed it, I get the funky penguin and the system hangs.

I decided to try once more in the murky world of IRC. I found that debian has a number of IRC channels, and one specifically about the PPC platform. The network is irc.debian.org and the channel is #debianPPC. I must admit I was shocked, the people were helpfull! A really nice guy from Finland wasted his whole Sunday helping me. (thanks Bor_Ed). Of course I did not quite get it running hahahahahaha

Another couple of weeks passed and I decided to have another crack at the problem.

Finally I got it running!