The iBook G4: a beautiful old PowerPC Mac from 2004

Hi again! This time I thought I should post about a new old machine a lovely friend gave to me: an old 2004 iBook G4!

This machine harps back to the days of PowerPC Macs, and is actually from just before Apple transitioned fully to the Intel x86 architecture. With Apple now migrating to ARM-based Apple Silicon, I thought this might be a good moment to reminisce about the old PowerPC Macs.

The design of the iBook G4

The beautiful iBook G4

Nowadays it’s rather chunky, but back in the day this was a very sleek and modern design. To me, it still looks amazing and it’s very robust – the hinges still work excellently, and both the original hard drive and fan still work just fine, amazingly. I have since replaced the hard drive with an SSD, but I will be detailing how I did that in a separate post.

Note the fairly thin screen bezels and the UK keyboard, something that you definitely don’t see on modern Macs. My one came with the (I think) original 30GB HDD, which was too small even for dual-booting, so it was upgraded first to a 160GB HDD, and then to a 250GB SSD.

The iBook G4’s PowerPC architecture

Back before the Intel days, Apple used PowerPC CPUs. In this model, there’s a 1.2 GHz single-core PowerPC G4 CPU, and it is maxed out at 1.25GB of RAM. This doesn’t seem like much today, but considering the Pentium 4 was the new kid on the block at the time, it wasn’t half bad. Also of note is that the PowerPC G3 (aka 750) was used in the Nintendo Wii, of all things.

There were also some PowerPC G5 chips that were multi-core, and Apple’s flagship PowerPC system at the time was a dual-core, dual-CPU G5 system. Apparently, it pulls over 500 Watts from the wall to run – ouch! Fortunately my little G4 doesn’t use anywhere near that amount of power.

PowerPC lives on as IBM Power, which is an open architecture which uses Petitboot, a Linux-based firmware solution (!) to initialise the hardware and load the OS. Tangentially, Petitboot can also run on jailbroken PlayStation 3 systems, which are also PowerPC-based.

Other operating systems

At the time, there were a few virtualisation options that would let you run Windows on a PowerPC system, including a version of Microsoft Virtual PC. However, I hear you need a G5 to really get much speed out of the system, which is fairly reasonable. I am a glutton for punishment though, as evidenced by my previous effort to run Damn Small Linux for x86 on a Raspberry Pi 1 model B+, so I might have to give it a go with some far-too-new version of Windows and/or Linux. Let me know if you want to see that.

Virtualisation aside, there are some modern Linux distributions that can run on PowerPC, including Void and Adelie Linux. I installed Void, and besides being confused by the setup process, and issues caused by me moving to bigger drives, it has been excellent and runs surprisingly quickly. I currently have the iBook in a tri-boot setup with Mac OS X 10.4 Tiger, Mac OS X 10.5 Leopard, and Void Linux.

The interesting firmware

Instead of using a traditional BIOS or UEFI, these systems use Open Firmware, which is a completely different kind of firmware. It has a shell of sorts as well, where you can define devices and tell it which device to boot from. This can be used to do things like boot from USB on older systems that didn’t support it, including this iBook. I might give that a go soon as the DVD drive doesn’t sound great and I’d rather not rely on it too much for Linux backup/rescue environments.

There’s an open source implementation of Open Firmware called OpenBIOS, which is available on Github. This is what QEMU uses as part of its PowerPC Mac emulation. Sadly, this doesn’t get support SMP (which would be needed for QEMU to emulate Mac OS X on a PowerPC G5). Maybe someday when I learn some more low level programming languages I might be able to help.

Emulating the iBook G4

It turns out that QEMU can emulate a PowerPC system well enough to run Mac OS X. Sadly, this emulates G3s and G4s, but no G5 systems as of yet, so it is all single-threaded. That said, 10.4 and 10.5 run quite well under emulation on my Ryzen 3600 system – well enough to make the PowerPC DDRescue-GUI package that I now sell.

Of course, I could have used the Mac for that, but it has a marginal power supply, so even though I somehow managed to get a battery that still has 90% of its capacity left, I don’t want to run it for a long time unattended. I consider emulation to be okay if you have the original hardware and software, or if its so defunct/rare it cannot be obtained any more.

It certainly doesn’t run fast in QEMU though – I ran a benchmark and while the integer performance was faster than the actual G4, the floating-point score was around 10% of the speed, even on my Ryzen 3600! I definitely can’t recommend it for serious work, especially on anything slower than my CPU. Compiling all those MacPorts packages certainly wasn’t much fun – it took weeks!

Summary and more iBook G4 pictures

The iBook G4 is an amazing, beautiful system with an interesting history. I hope you enjoyed reading about it. Action Retro on YouTube has a lot of interesting videos about old Macs that I find absolutely fascinating.

To finish off, here are some more photos of the system, including the inside. Posts on setting up the tri-boot with Linux and upgrading the internals are coming soon!

The lid
The iBook G4 booted into Mac OS X 10.4
The iBook G4 with the keyboard removed
The internals with most of the case and the heatsink removed
The quirky heatsink design on the iBook G4
The HDD I temporarily put in before upgrading again to an SSD
The AirPort Extreme 802.11g wireless card, which allows this machine to talk to modern WiFi networks!

Tagged , , , . Bookmark the permalink.

About Hamish McIntyre-Bhatty

I'm a self-employed software developer working on Free Software projects, as well as studying for my degree with the Open University. Being pedantic when it comes to detail is fortunately useful for both of these things! A strong believer in free software, I have a few pay-for programs available under the GPLv3 and enjoy reporting bugs and helping to improve various open source projects, including volunteering at Wimborne Model Town to work on their river control system.

Leave a Reply

Your email address will not be published.