Hi all. I've recently a Power Mac G5. the Late 2005 low-end model as far as I can tell. I've always been fascinated with these machines, and now that it appears that they'll only be going up in price, not down, I guess this is the perfect moment.
I tried installing Mac OS X 10.4, and it worked pretty much flawlessly, after I realized that the 10.4[.0] doesn't actually support the Late 2005 versions of the G5, and went to install 10.4.whateveritwas (>10.4.2).
I wanted to install Debian, however, to try and experiment with some relatively modern hardware and software, like the HD 6970 that should start heading towards me via mail this evening.
I ran into some problems installing Debian, however. I needed to gather information across different posts and forums, so I thought I'd pop in and summarize my findings for anyone looking for the same experience. If
@swamprock or anyone else could make an edit to the wikipost to relay them, I'd be very grateful. I cannot edit the post myself, as it appears that new accounts are rightfully restricted from doing so.
Also, I am extremely grateful to all the people posting information on and scripts and software for these old PowerPC Macs. Thank you, if you're reading this! What this community is doing, against all odds, makes me appreciate just how much goes into supporting all the infrastructure required for modern operating systems and software to work.
I've encountered and solved 3 problems on my quest to install Debian:
1. The installer just seemingly doesn't want to work with any repo you give to it.
As far as I can tell, this is because the
deb.debian.org/debian-ports/ repository is down (whether permanently or temporarily, I do not know; seem to be permanent though), and the
ftp.ports.debian.org/debian-ports/ repository doesn't have an appropriate keyring for it shipping with the installer. To make
ftp.ports.debian.org/debian-ports/ repository work, as per the guide, you'll have to install the keyring yourself.
When the repository chooser window pops up, after the base install is done, press Alt+F2 (or Alt+FN+F2 on some keyboards) to open a new tty session. Press Enter for it to open a shell. You'll have to do a few things while in it.
- Change the root into the target installation drive by running 'chroot /target /bin/bash'. I've seen versions of this command without the '/bin/bash' part, but that just opens a buggy shell with less features.
- Edit the source list for the apt package manager. Open the nano text editor by running 'nano /etc/apt/sources.list'.
- When in nano, put 'deb [trusted=yes] http://ftp.ports.debian.org/debian-ports/ sid main non-free contrib' verbatim on a separate line in the file. (Do NOT remove or comment out any lines from the file, as Debian uses the cdrom repository in some weird way to install software, including the grub bootloader) This will temporarily add the ftp.ports.debian.org/debian-ports/ repository to your apt sources, and the '[trsuted=yes]' part will make apt accept incorrect signatures on the files from this repository. This is being done temporarily, so that we can do the next step:
- Use apt to install the keyring for the ftp.ports.debian.org/debian-ports/ repository. If you haven't already, save the sources.list file by pressing Ctrl+O, then Enter in nano, and press Ctrl+X to exit nano. When back in the shell, run 'apt update', then 'apt install debian-ports-archive-keyring'.
When this is done, switch back to Debian installer by pressing Alt+F1 (Alt+FN+F1 on some keyboards). The window wanting you to configure the repository for the installation should still be there. Choose 'enter information manually', then enter 'ftp.ports.debian.org' when it asks for the mirror hostname, leave the mirror directory at its default value ('/debian-ports/') and the proxy blank, unless you know what you're doing.
The installer will overwrite '/etc/apt/sources.list' when you do this, so the '[trusted=yes]' part we put in just to install the archive keyring will go away. If you want to, you can switch back to the tty you used to install the keyring by pressing Alt[+FN]+F2 again and check the '/etc/apt/sources.list' with nano. You do have
quite a bit of spare time to do this after you select the software you need for installation, as it does take a fair while.
2. Grub install fails.
This issue is not
really new. It's been discussed on the forums and showcased by
Action Retro. However, I still think I should go over the steps I went through to get grub installed, as they deviate from the consensus slightly.
When the dreaded "Executing 'grub-install /dev/sda3' failed" window popped up, I pressed Alt[+FN]+F2 to switch back to tty, which was already open and already chroot-ed into the target installation drive from installing the repository keyring. There, I did the following:
- I executed 'mount -t sysfs none /sys'. I am unsure of what it does, precisely. I can only assume it allows low-level access to devices by mounting stuff as per the 'everything is a file' paradigm, as the grubfix.sh script I used later appeared to fail without doing this.
- I downloaded the grubfix.sh script from the Power Progress community repository by running 'wget https://repo.powerprogress.org/debian/install/grubfix.sh'.
- I did NOT run it as-is. The version that ships from the PowerProgress community repository downloads an outdated version of hfsprogs, which requires libssl1.1, which isn't there in the current repositories, because of the migration to OpenSSL 3.0.
- I installed hfsprogs manually by running 'apt install hfsprogs'.
- I modified the grubfix.sh script not to download and install hfsprogs. I opened it using nano by running 'nano grubfix.sh', and commented out the three lines that do this by putting '#' in front of them, so that they look like this:
Bash:
#echo "Download and install HFS progs"
#wget https://repo.powerprogress.org/debian/install/hfsprogs_332.25-11+b3_ppc64.deb
#dpkg -i hfsprogs_332.25-11+b3_ppc64.deb
- After that, I modified the permissions on the script to make it runnable: 'chmod a+x grubfix.sh'.
- And ran the script, making sure I'm using the correct partition device file name, i.e. I'm actually overwriting the target installation drive partition, and not some other partition on some other drive with precious data on it: './grubfix.sh /dev/sd<X>2', where <X> is the letter designating the correct target installation drive.
- I said yes to installing Windfarm and adding the Power Progress community repository, and no to installing LXDE and other software, as the Debian installer should have already installed a desktop environment by that point, and it was a bit buggy from the times I ran the script before.
At this point I switched back to the installer by pressing Alt[+FN]+F1, and continuing the installation """without boot loader""" (wink-wink nudge-nudge). It promopted me to remove the installation media, which I of course ignored, because the Power Mac G5 doesn't boot from USB without you performing some OpenFirmware shell magic anyway.
Grub came up and started booting Debian. But then...
3. Debian boots to a blank screen.
This issue seems to be specific to Late 2005 G5 models using a GeForce graphics card. If you're using a different model, you should porbably be fine. The issue seems to be with the nouveau graphics driver and it freaking out when you use an nVidia GPU with a G5-specific VBIOS ROM, although I haven't really looked into what the problem actually is. (Nouveau? More like 'no view', am I right? *quiet sobbing noises*)
Regardless, you can kind of sort of fix this by disabling nouveau (this part is taken pretty much from
this answer by
0xC0000022L over on the UNIX StackExchange):
- Boot back into your installation USB drive, but this time, when you get to grub that is on the installation USB drive, choose 'Rescue mode' instead of '<...> install'.
- It will ask you about a bunch of things, most notable of which is the location of the root filesystem. It should be on the drive that has 5 partitions in total, in the third partition, if you used an entire drive for the debian install, like me. I.e. if you see '/dev/sda1' through '/dev/sda5' in the list and no '/dev/sda6', '/dev/sda7' and so on, your root filesystem is probably on '/dev/sda3'. If you haven't changed anything in your system from the previous step, it should be '/dev/sd<X>3'.
- When it asks for rescue operations, choose 'Execute a shell in /dev/<...>'.
- You can make sure this is indeed the correct root filesystem by running 'ls' and seeing what files show up.
- Open '/etc/modprobe.d/blacklist.local.conf' with nano, and add the following line to it: 'blacklist nouveau', save the file and close nano. It's fine if the file was empty or didn't exist before.
- Don't forget to update initramfs after this: 'update-initramfs -u -k all'.
- When done, exit from the shell by running 'exit', and choose 'Reboot the system' in rescue operations.
The system should now boot into a plain old tty, with no X session in sight.
For now, given all the issues, I consider this a success. I will attempt to get a proper GUI working later. Or, you know, I'll just launch Minecraft from shell, for bonus style points.