Running Debian 10/unstable on Apple Powermac G5

Posted on Sat 13 March 2021 in linux, apple

Introduction

Updated on 14-mar-2021 with webbrowser and diskperformance info.

G5 internals large

As an Apple fan I've been collecting some vintage hardware. The Powermac G5 was bought from a video editor like five years back and was actually used by her up till that point. After booting it and enjoying the pretty inside, the machine was stored on the attic.

This year I was actually planning on getting rid of all the vintage stuf and took it down to take pictures. But as interest in the local equivalent of E-bay was underwhelming and the machine was in my office now anyway, I figured I try to have some fun with it.

This is my write up on the process. Let me start by saying that I'm quite pleasantly surprised there are working sets of current operating systems software for computer hardware that was produced more than 15 years ago. #FLOSSPOWER

First attempt: OpenBSD

G5 running X on OpenBSD large

At first I figured OpenBSD 6.8 would be a good choice, as it is current and macppc is still supported. The install was rather painless, but I ended up with no working webbrowser and glitches in the graphics output (colors were off). The system was totally usable as a console system, but I figured I'd try something else. Finding software that is somewhat current and supports powerpc machines is obviously getting harder and harder.

Debian ports

Debian hasn't supported powerpc for years, but after some Internet searching I found a 'ports' section that listed architectures that might work but lacked 'official' support from the Debian community. And yes it still has powerpc on the list.

Having tinkered with these machines in the past, I knew USB booting was either out of the question or generally really painful. So back to the attic to find my USB attached DVD writer and blank DVD's.

Boot image and installer

I ended up downloading two ISO files from the ports section: one labeled Debian 10.0 and one labeled 10.0.0. The 10.0 was like two years old, the 10.0.0 was current. I burned both to DVD and tried booting. The 10.0.0 would boot fine, but after a couple of questions the installer broke.

The 10.0 image booted fine and the installer seems to work OK. The only issue I ran into was partition issues when trying to use the 'LVM + encryption' option. Apparently this step does not add the needed 'yaboot' partition. On a second try I used the automatic 'use whole disk' option and that worked for me.

During the install I mostly used defaults and that worked OK. At the time I did not have a working debian mirror at hand and the ones listed in the installer are the default ones not carrying powerpc packages. So I skipped that and finished the install.

The installation itself was rather painless and produced a system that could boot. Jay!

ISO can be found at https://cdimage.debian.org/cdimage/ports/10.0/powerpc/iso-cd/](hhttps://cdimage.debian.org/cdimage/ports/10.0/powerpc/iso-cd/)

First boot and remote access

After the first boot succeeded I had no working debian repo set up yet. Because the DVD is the netinstall image, it only contains a minimal set of packages, producing a console based system. Yet, I wanted to remote access the machine from my daily driver machine. Thankfully the openssh-server package is in the netinstall ISO, so I used that to install an openssh server. This way I could easily run the commands from my main laptop and save the output for future reference.

# apt install -y openssh-server

Then just figured out the IP address of the system to remotely access it over my home network:

$ ip a

Still not fond of modern ethernet interface naming in Linux :). In this case this produced something like this:

eelco@swordfish:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enP1p4s15f0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0a:95:a7:XX:XX brd ff:ff:ff:ff:ff:ff
    inet 192.168.XX.XX/22 brd 192.168.XX.XX scope global enP1p4s15f0
       valid_lft forever preferred_lft forever
    inet 192.168.XX.XX/22 brd 192.168.XX.XX scope global secondary dynamic enP1p4s15f0
       valid_lft 12180sec preferred_lft 12180sec
    inet6 XX.XX/64 scope global
       valid_lft 7198sec preferred_lft 3598sec
    inet6 XX.XX/64 scope link
       valid_lft forever preferred_lft forever

Desktop installation

After that I spend some time finding a Debian mirror for powerpc. When I found it, I added it to /etc/apt/sources.list and probably removed the DVD entry.

deb http://deb.debian.org/debian-ports unstable main

Then a ran a standard # apt-get update && apt-get -y dist-upgrade to get the latest versions of all installed packages. The system complained that the packages signatures could not be checked as the key was missing. More internet searching found me this package that I downloaded and install using dpkg: https://debian.pkgs.org/10/debian-main-i386/debian-ports-archive-keyring_2019.11.05~deb10u1_all.deb.html

I downloaded the package from my laptop, used scp to copy it the the G5 and installed it:

wget  http://ftp.br.debian.org/debian/pool/main/d/debian-ports-archive-keyring/debian-ports-archive-keyring_2019.11.05~deb10u1_all.deb
scp debian-ports-archive-keyring_2019.11.05~deb10u1_all.deb 192.178.1.247:

On the powermac:

# dpkg -i /home/eelco/debian-ports-archive-keyring_2019.11.05~deb10u1_all.deb

That fixed the trust issues. Reran the # apt-get update && apt-get -y dist-upgrade that worked fine now.At that point I realized the machine was installing packages from the 'unstable' repositories.

When initial updating was done, I searched for a meta package to install and xfce graphical system and found it in the task-xfce-desktop package. That required a lot of packages and coffee may have been consumed while waiting.

That still did not produce a graphical login screen, so I manually added and enabled the 'lightdm' display manager:

apt-get install lightdm
systemctl status lightdm
systemctl restart lightdm

G5 running Debian with XFCE desktop large

This 'just worked'. So I was able to login via the greeter and got the nice XFCE desktop I posted earlier. Also I installed the 'neofetch' package as it seems compulsatory to become part of the /r/linuxmasterrace ;)

eelco@swordfish:~$ neofetch
       _,met$$$$$gg.          eelco@swordfish
    ,g$$$$$$$$$$$$$$$P.       ---------------
  ,g$$P"     """Y$$.".        OS: Debian GNU/Linux bullseye/sid ppc64
 ,$$P'              `$$$.     Host: PowerMac7,2
',$$P       ,ggs.     `$$b:   Kernel: 5.10.0-4-powerpc64
`d$$'     ,$P"'   .    $$$    Uptime: 37 mins
 $$P      d$'     ,    $$P    Packages: 2158 (dpkg)
 $$:      $$.   -    ,d$$'    Shell: bash 5.1.4
 $$;      Y$b._   _,d$P'      Resolution: 1920x1200
 Y$$.    `.`"Y$$$$P"'         Terminal: /dev/pts/1
 `$$b      "-.__              CPU: PPC970 (2) @ 2.000GHz
  `Y$$                        GPU: AMD ATI Radeon 9550/9600/X1050 Series
   `Y$$.                      Memory: 722MiB / 5436MiB
     `$$b.
       `Y$$b.
          `"Y$b._
              `"""

Webbrowsing / doing actual stuff

The system comes with ephipany webbrowser and I also found libreoffice to be installed. Libreoffice started without any issues and was rather quick about it. Ephypany started too, but was unable to render any webpage.

I tried installing the firefox-esr package, but it has unmet dependencies:

root@swordfish:~# apt-get install firefox-esr
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 firefox-esr : Depends: libevent-2.1-6 (>= 2.1.8-stable) but it is not installable
               Depends: libhunspell-1.6-0 but it is not installable
               Depends: libvpx5 (>= 1.6.0) but it is not installable
E: Unable to correct problems, you have held broken packages.

Then I tried installing Chromium and fell for the chromium-dsu trap again. Which does not run and actually is a game. There is no chrome/chromium package for ppc that I know off.

Trying more webbrowsers

Failing to use ephypany without any clear error messages and failing to install firefox, I looked for other options. By closely browsing a list of packages, I came up with a couple of options to try: qutebrowser, konqueror and surf. All options installed OK but all failed to provide a usable experience. konqueror more or less rendered some things, but was painfully slow.

Working webbrowsers

A tip on the Facebook 'linux on powerpc' group pointed me to Artic Fox and Spiderweb. Both webbrowsers work pretty fine on my machine!

-rw-r--r-- 1 eelco eelco 44875666 Mar 14 08:04 arcticfox-27.11.0.ubu12deb8-linux-powerpc.deb
-rw-r--r-- 1 eelco eelco 42395914 Mar 14 08:04 spiderweb-2.2.3.linux-powerpc.deb

They can be dowloaded via https://randommacstuff.blogspot.com/p/powerpc-mac.html

Screensavers

G5 showing retro C64 screensaver large

The system has quite some screensavers installed, some looking really retro. Some look very funky. I'm not quite sure if it is art or a bug :-)

Screensaver on Debian unstable / MacPPC action funky from Eelco Go on Vimeo.

Is there a Debian stable for macpcc?

No there isn't. I figured some off my issues may be solved by running an older stable version instead of unstable. But as I found out on the #debianppc IRC channel, there is no such thing at this point in time.

testing HDD versus SSD

I wanted to see if the system could benefit from a SSD instead of a traditional harddrive. I did a small test using hdparm and found the following results. I ran the commands multiple times just to be sure.

root@swordfish:/mnt# dmesg | grep sda | grep logical
[    4.255931] sd 1:0:0:0: [sda] 1953525168 512-byte logical blocks: (1.00 TB/932 GiB)
root@swordfish:/mnt# hdparm -t  /dev/sda

/dev/sda:
 Timing buffered disk reads: 282 MB in  3.00 seconds =  93.90 MB/sec
root@swordfish:/mnt# dmesg | grep sdb | grep logical
[    4.256637] sd 2:0:0:0: [sdb] 1000215216 512-byte logical blocks: (512 GB/477 GiB)
root@swordfish:/mnt# hdparm -t  /dev/sdb

/dev/sdb:
 Timing buffered disk reads: 400 MB in  3.00 seconds = 133.16 MB/sec
root@swordfish:/mnt#

So it seems the SSD maxes out the SATA bus which is good. There is quite a good difference, even more so if you would test with the original disk. This test was done with a 4 year old 1TB HDD and a recent Samsung SSD. For me the difference does not warrent the permanent use of SSD in the system. the HDD is fine enough for now.

thanks for your interest

Please feel free to comment on whatever platform you found a link to this post.