Linux on iBook G4(Retired)

I recently acquired a iBook G4, and since I don't really like MAC OS I decided to install Linux on it. There are a few guides for doing this out in the world wide web, but most of them were out of date or didn't have a lot of the issues that I had with it etc etc. I've spent so much time working on it and researching that I decided to make my own simple guide. I'm assuming you already know a little bit about Linux so I left out most of the technical stuff.

Specs

Apple iBook G4 (Early 2004) - M9426LL/A
  • Display: 12.1 TFT XGA, 1024x768 Resolution
  • Processor: 1066.67MHz PowerPC 7447A, Altivec supported.
  • Cache: L1 64KB, L2 512kB
  • RAM: 512MB PC2100 DDR SDRAM
  • Video Card: Mobility Radeon 9200 (4X AGP) 32MB SDRAM
  • Hard Drive: 30 GB Toshiba MK3025GAS
  • CD-ROM: Slot-loading CD-RW/DVD MATASHITACD-RW CW-8123
  • WiFi: AirPort Extreme 802.11b/g card (Under the keyboard) / Broadcom (B43)
  • Ports: 2 USB 2.0, FireWire 400, 10/100BASE-T Ethernet, 56k v.92 modem, Built-in Microphone, 1 - 3.5mm audio out, Mini VGA.
iBook G4 running Lubuntu 12.04 LTS (Precise Pangoline).

Not working:
  • Auto polling for CD (work around below) *working as of 11.10

Not Tested: (Considered to be working according to other Linux iBook G4 owners)
  • FireWire
  • Mini VGA out
  • Modem (Who still uses dial-up)
Installation.
Wifi will not work during installation, so if you want to do the optional install upgrades and third party software, you will need to either plug the computer directly to the internet with Ethernet or connect your cell phone via USB to use as a modem/tethering.

Ubuntu and Xubuntu are both available to download for powerpc, just pick your flavor. 10.04 Lucid has long term support so you can start from there, if you want. Installation is simple, just follow the instructions. =)

Ubuntu 10.04 PowerPC
Xubuntu 10.04 PowerPC

Lubuntu:
*As of Lubuntu 12.04 PowerPC is available. Also, below is old Lubuntu obsolete installation for 11.10 & 11.04, they made MinimalCD for those versions.

Link to PowerPC download page for Ubuntu, Kubuntu, Lubuntu, Xubuntu.

Method 1 from Ubuntu or Xubuntu
Ubuntu needs a lot of resources, and even though Xubuntu is supposed to be a lighter version, lately even Xubuntu has become a little bloated. So I use Lubuntu on my iBook G4. There is no Lubuntu powerpc availabe, so to use Lubuntu on powerpc you'll will need to install Ubuntu or Xubuntu and manually switch to Lubuntu. Start by adding the Lubuntu ppa.

sudo add-apt-repository ppa:lubuntu-desktop/ppa
sudo apt-get update

You can't install the package lubuntu-desktop because of unmet dependencies issues (Chromium). However, you can install all the packages individually. Below are the packages included in lubuntu-desktop without Chromium. Based on lubuntu-desktop maverick repo, could be different in other versions.

sudo apt-get install abiword ace-of-penguins alsa-base alsa-utils anacron apport-gtk aqualung cheese cron cups-driver-gutenprint desktop-file-utils evince galculator gdebi gksu gnome-bluetooth gnome-disk-utility gnome-mplayer gnome-power-manager gnome-system-tools gnumeric gpicview gvfs-fuse hardinfo jokey-gtk language-selector leafpad logrotate lubuntu-core lxappearance lxdm lxinput lxlauncher lxpanel-indicator-applet-plugin lxrandr lxsession-edit lxshortcut lxtask lxterminal modemmanager mtpaint network-manager-gnome ntp obconf osmo pcmciautils pidgin pm-utils policykit-desktop-privileges ppp scrot simple-scan software-properties-gtk sylpheed sylpheed-i18n synaptic system-config-printer-gnome transmission ttf-liberation ttf-ubuntu-font-family ttf-unfonts-core ttf-wqy-microhei ubuntu-extras-keyring unzip update-notifier wireless-tools wpasupplicant wvdial x11-utils xarchiver xchat xdg-user-dirs xdg-utils xfburn xpad xscreensaver zip

When asked whether to use gdm or lxdm, choose lxdm. If there are any other packages that have unmet dependencies on whatever version of Ubuntu you are using just remove them. The full list of packages in lubuntu-desktop can be seen if you click properties in synaptic. Chromium can be replace with your other favorite browser, like Firefox. The package also recommend powernowd, I use cpufreqd instead. More info on that in the software section below.The next step would be to remove Ubuntu or Xubuntu, if you want to. Instructions are here. Varies with Ubuntu versions. I had a few problems with this, but nothing to major. It will uninstall some things that you need. I was able to just reinstall them, you can tweet me if you have a question on this. Other packages I would recommend as part of Lubuntu are:

lubuntu-control-center lubuntu-restricted-extras

Alternate Method Ubuntu base system
There is a simpler way to install Lubuntu, but I have not tried it yet. Using the alternate installation CD for Ubuntu, install only the base system of Ubuntu and only install a command line-based system (Server without all the internet services). My guess is you will need a eth0 internet connection, the list of packages from lubuntu-desktop minus the ones that won't work for powerpc, add the Lubuntu ppa, and then install all the packages. At most you will need to at least install lubuntu-core and xorg, which is the minimum need for Lubuntu to work. I'll will try it, and figure out the bugs and details when I get chance.

sudo apt-get update
sudo apt-get install xorg lubuntu-core
sudo mkdir /usr/share/backgrounds
#This directory is required for LXDE to run without error

Lubuntu is by far the best distribution I've tried on the iBook G4, although it's not completely supported for powerpc, it works a lot better than Ubuntu or Xubuntu. At startup Lubuntu only shows 93MB of RAM being used. It's really is as lightweight as advertised.

Issues:

  • Current kernel upgrade, maybe, not really sure where the problem is, Lubuntu 11.04 runs CPU at 100% all the time on my iBook G4. I never found a solution. 
  • Upon upgrading to Lubuntu 11.10, you may receive an error.
    WARNING bootdevice may be renamed. Try root=/dev/sda3
    To fix this, at the second Yaboot prompt type
    Linux root=/dev/sda3
    Once you boot up, run this command to fix Yaboot.
    sudo yabootconfig -r /dev/sda3
    Doing this removed my splash screen at boot. To get it back just add append = "quiet splash" back into /etc/yaboot.conf. Then run sudo ybin to save the changes.

Hardware

  • AirPort Extreme: Ubuntu will automatically setup your WiFi card using Additional Drivers under the Settings Menu. You will need an internet connection to download the B43 driver, so either connect using an ethernet or tethering.
  • CD-ROM: The CD-RW/DVD drive does work, but it will not auto poll for CD when inserted, you will need to do this manually. To do this I made a sh script, and made a icon link on the panel, so all I have to do is click it whenever I insert or eject a CD.

    udisks --poll-for-media /dev/hdc
    
    
    
    
  • Mobility Radeon: You will need to add the following to your /etc/x11/xorg.conf where you see Driver "radeon".The xorg.conf file is not automatically made, so you will have to make one manually. Step to do so can be found at http://adf.ly/EjGCA. If you are using Lubuntu you will want to change gdm to lxdm on the instructions on how to create a xorg.conf.

    Option "AGPMode" "4"
    
    Option "AGPFastWrite" "True"
    
    Option "UseFBDev" "False"
    Option "DynamicClocks" "True" #For battery life
  • Mouse Buttons: By default my middle click is F11 and Right click is F12, you can change this if you want, google it, I'm fine using F11 and F12.
  • CPU: Frequency scaling, See Software.
  • Battery: Battery life is about 3-4 hours estimated, I haven't ran the iBook all the way yet. CPU Frequency scaling can be used to help save power. See Software.
  • Fans: CPU fan is set to start when the temperature is at 50 C. Which means the iBook G4 can run a little hot. To adjust the temp limit you will need to change the file /sys/devices/temperatures/limit_adjust, which is set to 0 by default. This needs to be done as root. You can adjust to whatever limit you want, just change the number. I havn't gotten it to change at bootup yet, there was a thread for this somewhere with a fix, but it didn't work for me, the change does happen during boot according to my kern.log, but after the complete boot-up it still says 0. I have to do this manually every time if i want to change the limit.

    sudo su -
    echo "-5" > /sys/devices/temperatures/limit_adjust   

Software

  • cpufreqd: The processor is capable of frequency scaling from 1.07Ghz to 533MHz to save on battery life. Cpufreqd works right out of the box (sudo apt-get cpufreqd). By default the frequency doesn't change to 533MHz until the battery is below 70%. To change the settings you'll need to modify the /etc/cpufreqd.conf.
  • powernowd: Another option for frequency scaling that does work, although I prefer cpufreqd.
  • mesa-utils: For OpenGL.
  • xfce4-battery-plugin, Xubuntu: Instead of loading the module pmu_battery for a battery applet like I've seen from other guides, which barely works at all, I just installed the XFCE plug in to monitor the battery status.
  • xbattbar, Lubuntu: Battery monitor for LXDE does not support APM. There are a few alternatives, I'm using xbattbar for now. To autostart xbattbar, add the @xbattbar line in the /etc/xdg/lxsession/Lubuntu/autostart file.
  • Aircrack-ng: Aircrack will not work without the wireless driver patch to get rid of the channel -1 lock. The patched drivers can be downloaded from http://www.janoweb.net/drivers-patch.html#axzz1MczB8oEh. However the driver is not available to download for Natty. Yet. It is possible to download the driver and apply the patch yourself.
  • Installing aircrack-ng (Lubuntu 12.04): Aircrack-ng was removed from the Ubuntu repository(12.04).

    sudo apt-get install build-essential
    sudo apt-get install libssl-dev
    wget http://download.aircrack-ng.org/aircrack-ng-1.1.tar.gz
    tar -zxvf aircrack-ng-1.1.tar.gz
    cd aircrack-ng-1.1
    sudo gedit common.mak
    
    
    Go to the line 'CFLAGS ?= -g -W -Wall -Werror -O3' and remove -Werror so it looks like 'CFLAGS ?= -g -W -Wall -O3'

    make
    sudo make install
    
    
  • Medibuntu: Repository for Natty won't work for PowerPC. If you want to use Medibuntu for the DVD software you will have to use the repository for Hardy.
  • /etc/apt/source.list: make sure you backup your sources list before applying any changes to it, like adding the medibuntu repository. PowerPCs don't use the same source list as normal Ubuntu installations. If you accidentally change the source list the wrong way, Ubuntu might reset the source list to what it would normally be, and you will get errors whenever you try to update or install software from the repository. Also note adding the Medibuntu rep. doesn't change your source list if you do it the right way, it will make it's own list under source.list.d. 
  • Flash: There is no Linux PowerPC adobe flash plugin. You will have to use Gnash, the GNU SWF player. Works fine for normal flash websites. Youtube type websites work however it's sucks, probably due to a lack of CPU power and RAM. You can use Movie Player (Totem) to view Youtube videos just fine. Gnash is part of the packages xubuntu-restricted-extras, ubuntu-restricted-extras and lubuntu-restricted-extras.

Useful Websites