I rescued this 800mhz iBook G3 from the recycle bin. It didn’t even have OSX installed, the battery was nearly shot, and the case was scarred, but it was functional. The 12 inch screen is pleasant to look at and the keyboard is condensed, but it is a full size. This iBook is somewhere between a netbook and a notebook. But with old MacOS is mostly worthless, and even MacOSX isn’t very functional for my needs as a Computer and Network Technician.

My Needs
1 Functional Linux OS with GUI
2 Ethernet, and wifi with WPA
3 Power management including screen dimming and quick and reliable suspend and hibernation.
4 Ability to install network diagnostic and management tools.

I tried a few distributions, few could get past need number 2. And none could get past need 3. Only Slackintosh offered these three things with the least amount of work. Imagine that, the least friendly distribution, was the easiest to get working on my iBook. WPA does require a kernel upgrade and a special driver.

Installing Slackintosh
[Backup any data off of your hard drive. Proceeding will obliterate it.]

Download the Slackintosh CDs. I grabbed the current latest, version 12.1. You will need the first three of the four to get a complete X system. Once burned, pop in disk one and boot to a prompt. Slack doesn’t include a gui or quick format tool. Launch mac-fdisk by typing ‘mac-fdisk /dev/hda’ and wipe out of the partitions except the Apple_partition_map (the first one) by pressing ‘d’ then enter and selecting the partition number. d enter 4 enter d enter 3 enter d enter 2. Now type ‘b’ enter and it will prompt you for “First Block:” enter 2P and enter. Then ‘c’ to create a partition and for the first block enter ’3P’ for 3rd Partition. For its Length (i like to stick in Gigs) so type ’2G’. and Name it ‘Swap’. Then press p again to see how much space is left for the final Linux partition. Then ‘c’ enter, ’4P’ enter, ‘??G’ enter and name it ‘Linux’. Hit ‘p’ again and if it all looks good, type ‘w’ to write the partition table and choose ‘y’. To quit mac-fdisk type quit. Back at the command prompt type ‘setup’ to begin to install slackintosh.

I wont get into much detail as the rest of the install is pretty self explanatory. You set your swap partition, (/dev/hda3 with instructions above) pick your Linux partition (/dev/hda4 with the instructions above) do a quick format, and I like ext3. and choose packages and all of that. I choose kde as my default, but if you have less RAM you should go with xfce.

X Fails to start!
OMG! I got not gui. Well, you didn’t think slack would take all of the work out for you, did you? You will have to configure your xorg.conf file. If you are using a white (dual USB) iBook G3, like me, then this xorg.conf works (below), but there is some font bug, and the cursor is not perfect. I’m still working out the bugs with this xorg.conf

cd /etc/X11/
mv xorg.conf xorg.conf.original
wget http://www.ant2ne.com/downloads/iBook_xorg.conf
mv iBook_xorg.conf xorg.conf
startx

I don’t have my X start by default. I have mixed emotions about it. I do a lot of work from the command line. So launching the X as needed may not be a bad idea. Edit /etc/inittab and change the default run level from 3 to 4.
http://vcn.bc.ca/~dugan/setting-up-slackware.html

logged in as root
open a terminal and type ‘powerprefs’ which opens the gui fron to pbuttonsd. On the left icon list choose the hdd icon. I set the CDROM Eject Key 88 + ctrl (teach in CNTL & F12). This seemed to free the F12 key to be the right click. I’m assuming the by default the F12 key was trying to do both, right click and CD eject. And it failed at one. While you are there, hit the Gears icon and check the box “set mode ‘notap’ during typing (instable)”. This should solve my thumb hitting the trackpad while typing problem.

WPA wireless
If you dont need wpa access then you are done. Go enjoy your slackintosh iBook. To get wpa to work you need the correct orinoco driver, and a kernel of 2.6.28 or greater. I went with the latest 2.6.32.8 kernel and compiled it myself. Below is the how to.

Some good reading on kernel compiling on slack…
http://blog.tpa.me.uk/slackware-kernel-compile-guide/
http://muaythaimaster74.blogspot.com/2009/03/how-to-compile-slackware-kernel.html

cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.8.tar.bz2
tar -xvjf /usr/src/linux-2.6.32.8.tar.bz2
cd /usr/src/linux-2.6.32.8

I know my kernel works for me. I will make no claims what so ever how it will run on your system. Use at your own risk. But, If you would like to start with my preconfigured .conf file then…

wget http://www.ant2ne.com/downloads/iBook_linux-2.6.32.8-ant2ne.config
mv iBook_linux-2.6.32.8-ant2ne.config .config

Then jump down to ‘make all’ below. If you would rather start with 2.6.24.5′s configurations and make your own kernel, then…

cp /boot/config-generic-2.6.24.5 /usr/src/.config
make menuconfig

Navigate the menu and choose your kernel choices. If you are using my .config and have faith in me, then you can skip this menuconfig section and jump to ‘make all’, Otherwise…
…be certain new wifi is selected. I think that is the point to rolling this driver.
…be certain usb mass storage drivers and vfat is selected. (killed my flash drive the 2nd time I rolled)
…do not select ext4, I don’t think it works.

make all
make modules_install
make install
wget http://www.ant2ne.com/downloads/iBook_orinoco.fw.tar.bz2
tar -xvjf iBook_orinoco.fw.tar.bz2
mv orinoco.fw /lib/firmware/agere_sta_fw.bin
modprobe airport
shutdown now -r

If it gets borked then you may need to start the OS install again. But have faith and take good notes. I verified the steps (using my kernel) on a second 500mhz iBook. I copied the commands into one script and let it run. It took some time to compile so I just let it run most of the day. When I came back, X (xfce this time) worked, wpa_supplicant worked, everything worked.

Bugs I’m working on:
1. The WPA gui app seems a bit buggy. I haven’t quite figured it out. wpa_supplicant works perfectly though. And since most people connect to just one WPA wap then wpa_supplicant is a viable option. I commonly use 2 WPA wap, and I don’t mind this options. I’ll post a quick tut on it.
2. My cursor is screwy. The pointy finger is garbled. I think this due to something wrong with my xorg.conf.
3. I hope there is a way to disable the trackpad while typing. I brush my thumbs on the pad and send the cursor across my text. Often wiping it out. (resolved, see above)
4. dhclient does not assign a name server into /etc/resolv.conf. I had to enter ‘nameserver 192.168.1.1′ into my /etc/resolv.conf. I have no clue what is up with this bug.
5. No flash or java. This isn’t a bug. Its a PPC thing.

Oh yeah, and about the scarred up lid…
iBook_artworkA couple of shapries distracts the eye.

network tools I need
The slackintosh comes with zenmap (broken), but nmap woks. I also needed netperf, which was easy enough to install.
cd /usr/src
wget ftp://ftp.netperf.org/netperf/netperf-2.4.5.tar.gz
tar -xvzf net*
cd net*
./configure
make
make install

And ksniffer is handy network sniffing tool provided your router is in promiscuous mode.
cd /usr/src
wget http://repository.slacky.eu/slackware-12.1/network/ksniffer/0.3.2/src/ksniffer-0.3.2.tar.bz2
tar -xvjf ksniffer-0.3.2.tar.bz2
cd ksniff*
./configure
make
make install

I’ve been obsessed for months with shoehorning a linux distro that fits my needs with this iBook for months. Finally, Success. Now I can move on to something else.

Some good reading on mac linux.