Installing Debian 10 on a PowerMac G5

Written 2020-07-03

Tags:PowerPC Debian Apple Linux 

Prerequisites

Press power button

Enter OpenFirmware

As soon as the mac chimes, press and hold ALT+WIN+O+F or Apple+Option+O+F to enter openfirmware.

Insert the Debian disk

Boot the installer bootloader

Type "boot cd:,\install\yaboot"

Select installer kernel and boot the installer

At the boot prompt press enter or type "install" then enter

Run through some Debian installer steps

At this point we should be greeted with the familiar Debian text-based installer. Most of this is bog-standard, but there's a few gotchas later.

Select Partitioning Method

Unless you're familiar with PowerPC bootloading, just use a guided method. Powermacs require a special partition to be set up, this is the easiest way to do so.

More standard Debian installer steps

Skip the apt mirror setup

We need to switch to a debian-ports mirror. However, there's no keychain for debian-ports loaded into the installer. For now, we're going to skip this and fix it later. But the process for doing so is not exactly clear, so I have documented it below: At this point the installer should continue until it complains that it cannot access the security repositories. Pick continue then wait while the installer selects and installs software.

Configure Popularity-Contest

I recommend participating in the package usage survey, to give feedback to the Debian project about what packages you use, but you are free not to.

Select software package

Just joking, there is only one package included with the CD, 'standard system utilities', which you probably want. Hit continue.

Wait for the CD to eject, take it out, but do not reboot. Time to fix what we broke

At this point, we're going to add a ports mirror, and install SSH in case the GPU fails.

What to do if you have an NVIDIA GPU and the screen turns black on reboot

In short, we need to create this file: /etc/modprobe.d/blacklist-nvidia-nouveau.conf, with the following contents:
blacklist nouveau

With SSH

Without SSH