thewatertower.org.uk

Linux on a PowerPC Apple Mac

What I learned from putting ubuntu on a iBook G4.

GNOME fails to start

I eventually traced this problem to the clock not being set, but the key cause appears to be the Bonobo server not behaving, and there are no doubt many causes of this.

Everything appears to be OK until logging on. After the spash screen and tinkly noises, instead of the GNOME GUI, a bunch of errors are produced instead. The only route out is ctrl-alt-F1 and meddle on the console.

There was a problem registering the panel with the bonobo-activation server
The error code is: 3
The panel will now exit.
There was an error starting the GNOME Settings Daemon.
Some things, such as themes, sounds, or background settings may not work correctly.
The Settings Daemon restarted too many times.
The last error message was:
System Exception: IDL:omg.org/CORBA/COMM_FAILURE:1.0
GNOME will still try to restart the Settings Daemon next time you log in.
Nautilus can't be used now, due to an unexpected error from Bonobo when attempting to register the file manager view server.

I knew it was network related, because it was only an issue when the ethernet wasn't plugged in. This made issues in the hosts file or network configuration good candidates. Links below concentrate on the interfaces file, I also found a reference to remarking out the IP6 entries in /etc/hosts

That didn't work though. The following pages pointed to a hardware clock issue on a G4, simply fixed by setting the clock on the console before logging on.

Sure enough, the machine thought it was Jan 1st 1904. Unix goes back, but not that far!

The iBook hardware clock

New challenge now. It works on my ethernet because I have an NTP server that's also dished out by DHCP. If I can't get the wireless to work with the owner's Airport or get NTP to work, then this could be tedious.

But that assumes Google won't rescue me. The following posts documents setting the hardware clock correctly. I suspect one of the power manager resets I did foobarred the clock, as Apple said it would. The MACOS boot CD displays the time as April 1st 1976.

hwclock generated an error, so I ended up on a terminal session running on a OSX install CD.

The usage statement on Apple's 'date' command is wrong, however. It states that the format is [[[[[cc]yy]mm]dd]hh]mm[.ss] but its actually [[[mm]dd]HH]MM[[cc]yy][.ss], as per this man page:

Brilliant. The clock now set, GNOME boots. Though, I think MACOS must have set it to the wrong time zone, because Linux booted up with the clock 7 hours late. I guess Apple's hardware literally resets the hardware clock to nul or zero, so it'll always reset to the EPOCH of the operating system.

Setting the clock in Linux now works, and I installed ntp when prompted via the "adjust date and time" applet. Go and look at pool.ntp.org for more information about finding an NTP server.

WIFI

Downloading the wap-supplicant is a must; you then get a GUI to configure WPA in.

sudo apt-get install wpasupplicant

On SuSE, /var/log/messages gets errors about firmware; this isn't the case on ubuntu, but I tracked it down in /var/log/kern.log:

kernel: [ 3264.558928] bcm43xx: Error: Microcode "bcm43xx_microcode5.fw" not available or load failed.

apt-get install of the firmware loader didn't work. But ubuntu seems to have a download page ..

As I don't know how to install debian packages at the command line (can't be bothered to RTFM right now) and I succeeded in the end by adding in the two 'unsupported' universe sources in synaptic.

root@ibookg4:~/Desktop# bcm43xx-fwcutter -w /lib/firmware ./wl_apsta.o
fwcutter can cut the firmware out of ./wl_apsta.o
  filename :  wl_apsta.o
  version  :  3.130.20.0
  MD5      :  

extracting bcm43xx_microcode2.fw ...
extracting bcm43xx_microcode4.fw ...
extracting bcm43xx_microcode5.fw ...
extracting bcm43xx_microcode11.fw ...
extracting bcm43xx_pcm4.fw ...
extracting bcm43xx_pcm5.fw ...
extracting bcm43xx_initval01.fw ...
extracting bcm43xx_initval02.fw ...
extracting bcm43xx_initval03.fw ...
extracting bcm43xx_initval04.fw ...
extracting bcm43xx_initval05.fw ...
extracting bcm43xx_initval06.fw ...
extracting bcm43xx_initval07.fw ...
extracting bcm43xx_initval08.fw ...
extracting bcm43xx_initval09.fw ...
extracting bcm43xx_initval10.fw ...

root@ibookg4:~/Desktop# modprobe -r bcm43xx
root@ibookg4:~/Desktop# modprobe  bcm43xx

# and in kern.log ..

kernel: [ 2339.383752] bcm43xx driver
kernel: [ 2340.030048] ADDRCONF(NETDEV_UP): eth1: link is not ready
Printed and hosted by Prater Raines Ltd, 98 Sandgate High Street, Folkestone CT20 3BY.
Published and promoted by Ben Prescott, 14, St James's Square, Bournemouth, BH5 2BX. All rights reserved.
The views expressed are solely those of the author, not of the service provider.