Wednesday, November 26, 2008

Working around Mac OS X Leopard restrictions

Oh wow! I've got a huge sense of accomplishment tonight. A Powerbook G4 belonging to a friend "recently" (happened several months ago) crashed and it was not until just recently she was able to get it to me to have fixed. I think the hard drive did an oops and she couldn't boot into her Mac OS X 10.3 system. It figures that this would happen because the factory restore CDs with the computer only have Mac OS X 10.2. Anyway, they restored with 10.2 and couldn't get the programs they needed working.

So the mission was to install Mac OS X 10.5 onto this older laptop. The CPU is an 800mHz G4, which surprised me because I thought it was a 867mHz, at least it was when I owned it. In any case I started doing some research after purchasing a Mac OS X 10.5 DVD.

So I ran into some articles about installing Leopard via another supported computer. So I tried this with my newer Intel Mac. This WILL not work as the Intel Macs need a different partition map than the PowerPC ones do, so the old Mac will not boot into the newly installed OS.

That was an hour wasted so I went back to the drawing board and found some articles about hacking the install package on the DVD but that was also too time consuming. Then I stumbled upon using Open Firmware to trick the Leopard install that my computer has a 867mHz processor.

This seemed extremely promising, but the article I found was incomplete. The install package not only checked the property set for the " clock-frequency" but also the " min-clock-frequency" and " max-clock-frequency". So, in order to trick the Leopard installer into thinking you have a 867mHz processor follow the directions below.

  1. Boot into Open Firmware. Press Cmd+Option+O+F as soon as you turn on your computer.
  2. At the prompt that should come up type in the following:
dev /cpus/PowerPC,G4@0
  1. Press Enter and then type this line:
d# 867000000 encode-int " clock-frequency" property
  1. Then:
d# 867000000 encode-int " min-clock-frequency" property
  1. Then:
d# 867000000 encode-int " max-clock-frequency" property
  1. Finally, tell Open Firmware to boot from the CD
boot cd:,\\:tbxi

That should get you going. Now in my case I had to do more digging for the last step. The CD drive in the laptop I'm working with is basically pooched and I didn't have time or money to find a replacement. So I was working with an external DVD burner connect via firewire. The following Open Firmware commands should be used to boot from a firewire drive.

devalias cd /pci@f4000000/firewire/node/sbp-2/disk@0

Then...

boot cd:,\\:tbxi

Now I'm installing Leopard and waiting for it to finish so I can get this lappy G4 sent off to my friend! Hopefully it won't be too slow.

This was a pretty neat exercise for me. I learned a fair bit about how a Mac gets going after you hit the power button. After messing with a computer for well over an hour, more like 4 or 5, while wishing to spend more time with my family, it is a huge sense of relief and accomplishment. Hopefully you will find this useful!

Labels: , , , , ,