5

Is it possible to run Linux on a PowerMac G4? If so, how do I install it?

3 Answers 3

7

One option is the PowerPC build of Ubuntu:

Another popular option is Yellow Dog Linux:

3

My recent (2011-10+) experience...

I fought with Ubuntu 10.04 LTS PPC port trying to get it onto my PowerMac dual G5 (2003) for quite a while. No luck with the Desktop nor Server install CDs, I did manage to get the "Alternate" install CD working -- but it took 3 tries before I managed to not mangle the yaboot bootloader install & config -- not very fun.

I had much better luck with http://MintPPC.org -- it is a PowerPC only distro, based on the Very stable and well-supported Debian distro. It supports even ancient G3 machines, so your G4 should be no problem. The community there is responsive, helpful and mostly former Mac-heads. IMHO that is a big benefit over generic Linux distros (Fedora, Ubuntu, etc) which tend to consider old PPC hardware as an unpopular afterthought.

I have yet to try http://YellowDogLinux.com They are also purely a Mac / PPC heads, which is good for newbie support, but the most recent ISO image is from July 2009-06-29.

First:

  1. Know your exact model and hardware -- check http://EveryMac.com
  2. Back up everything(!)
  3. Have a Mac OS X Installer disk handy for emergency boot.
  4. Expect to get it wrong the first time and have to install again.
  5. Have another machine handy so you can Google for help when things go wrong ;-)

As for this install process itself:

  1. you boot from a cd, follow the onscreen text prompts, and hope for the best.
  2. It's much easier if trying to make the whole machine a Linux box.
    1. Setting up a dual-boot machine with both Mac & Linux is more complicated.
  3. Beware that any partitioning / formatting you do from Mac OS X (Disk Utility) is likely to break the Linux install (Mac OS X on PPC does not try to play nicely with other OSes). Stick to the partitioning tools in the Linux side.

Good luck & happy hacking, ./ddd

0

Update in 2022: It is still possible to do this; I have debian Sid (unstable) running on my Powerbook G4 (1.33GHz). With that said, it is becoming less and less usable as things begin to break.

Debian isn't officially released on PowerPC 32-bit anymore, so you'll need to look to the ports project. There are current netinstall ISO's here.

Here's some notes on my experiences, having run Debian on this since 2018.

Only the two most important takeaways are listed here; there are many other smaller things I've had to be creative to deal with, which are largely documented on a blog post I made.

Radeon users: X freezes almost immediately

This can be fixed for one boot by typing Linux radeon.agpmode=-1 at the yaboot prompt, and then once inside the system putting this inside a file called (for instance) /etc/modprobe.d/radeon.conf:

options radeon agpmode=-1
options radeonfb agpmode=-1

If your powerbook's DVI output isn't working properly, you will have to pass additional parameters to the radeon module to make it work properly with it. This is on account of something Apple did that makes it hard to detect where to send video output to (This took me a very long time to figure out).

The only way to really tell which option you need is to try them all; if one of them results in a non-functional LCD on reboot you can type Linux init=/bin/sh on the yaboot prompt to reach a recovery shell. From there, mount -o rw,remount / will let you edit the radeon conf file again.

On my 2004 G4 (1.33GHz), the option I needed was:

options radeon connector_table=4
options radeonfb connector_table=4

All possible values are listed in the kernel sources at [drivers/gpu/drm/radeon/radeon_mode.h](https://elixir.bootlin.com/linux/v5.3/source/drivers/gpu/drm/radeon/radeon_mode.h#L210). 4 is CT_POWERBOOK_INTERNAL.

Web Browsing: Mozilla/Firefox

Mozilla moving to using node.js in its build system means that you can't build firefox for PPC32 anymore without cross compiling; even when cross compiling, that's such a pain to set up that issues have begun to emerge that are unlikely to get fixed such as trying to invoke yasm with the wrong arguments for assembling a file.

As a result, I am currently running Seamonkey 2.49.3, roughly analogous to Firefox 52. The FF52 build that was in the Debian repos has some major bugs caused by broken compiler optimizations that make FF unstable and slow. It is possible to avoid this by adding -Wl,--no-keep-memory -Wl,--relax -fno-delete-null-pointer-checks --fno-lifetime-dse -fnoschedule-insns2 to the compiler flags for C++ and C compilers (CFLAGS and CXXFLAGS). You will also need --with-system-icu. For a cross compile I also had the flags --host=x86_64-linux-gnu --target=powerpc-linux-gnu and several include paths added.

I have been informed that Webkit/WebkitGTK-based browsers (NOT blink-based browsers) actually work fine. Since I would have to cross compile it (I ran out of room trying to build on the system) I haven't been able to motivate myself to try to do it yet. But you will probably want to try it, since FF 52 is starting to break on several important sites. Addons like 'github webcomponents polyfill' can help somewhat in firefox, but only do so much.

So unfortunately your choice here is between flexibility/extensibility (Firefox/Seamonkey) and modernity (Webkit browsers).

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .