how to run a modern OS on steam-powered hardware

I am updating the Darwin installation on my circa 1995 Mac PowerPC 9500, for no other reason than to see how complicated the process is. XPostFacto exists to make this possible, so perhaps documenting My Struggle with this will be of use to someone else.

The hardware isn’t supported in Darwin releases since the last 10.1 release (10.1.5) prior to Jaguar, with the corresponding Darwin version number being 5.5.

Installing the OS itself was easy: XPostFacto is a control panel in OS 9 and worked like a champ. Next up, I am trying to install DarwinPorts, since a. the Darwin team have a relationship with Apple and b. I have tried fink in the past and found it wanting in some ways. But as things are working out, I need to use fink to get DarwinPorts installed: tcl is what DarwinPorts uses (FreeBSD‘s portupgrade uses ruby, and fink uses perl) and doesn’t exist in my old version of Darwin. Looks like I’ll have to build it.

Of course, fink has moved on a bit since last I looked at it. I had to download fink-0.4.1a-full, the last release that supports 10.1.x of OS X (the current release is 0.6.2). And I had to relearn that it has to be installed in /sw, no matter if you tell the installer you want to install it in /opt or somewhere else. Oh, well, that’s what symlinks are for.

Installing tcltk requires 31 other packages to be installed as dependencies, including XFree86 for some reason. There may be a way around that by using apt-get to install a compiled binary. But first of all, fink has to run through its bootstrap process: on an old 233 MHz machine, that will take a while.

The following package will be installed or updated:
tcltk
The following 31 additional packages will be installed:
anacron daemonic db3 db3-shlibs dlcompat docbook-dsssl-nwalsh docbook-dtd
expat expat-shlibs findutils gawk gdbm gdbm-shlibs gmp gmp-shlibs gtk-doc
libpoll libpoll-shlibs libxml2 libxml2-bin libxml2-shlibs man openjade
python-nox readline readline-shlibs sgml-entities-iso8879 tcltk-dev
tcltk-shlibs xfree86-base zlib

All went swimmingly for awhile . . . .
Downloading the file "libxml2-2.4.23.tar.gz" failed.

(1) Give up
(2) Retry the same mirror
(3) Retry another mirror from your country
(4) Retry another mirror

How do you want to proceed? [3]

Option [5] should be “Give me a URL where I can find the file” since that’s what I ended up doing. Option [1] is all we can choose for now.

curl -O http://rpmfind.net/linux/gnome.org/sources/libxml2/2.4/libxml2-2.4.23.tar.gz
% Total % Received % Xferd Average Speed Time Curr.
Dload Upload Total Current Left Speed
100 2014k 100 2014k 0 0 25221 0 0:01:21 0:01:21 0:00:00 24866

Putting the tarball in /sw/src will allow the install to pick where it left off.