Thursday, April 14, 2011
Linux in general, and not Debian in specific, left the 32-bit SPARC platform behind a few years ago. There are no kernel hackers working on 32-bit SPARC, I’ve learned.
And while NetBSD still builds for 32-bit SPARC (and dozens of other architectures), I’ve found the 5.x series of NetBSD to be too crashy to use.
OpenBSD also supports 32-bit SPARC, and while those releases have always been solid (I’ve tried everything from 4.4 to 4.9-current), there isn’t much in the way of desktop software for the architecture. There are few packages, and most ports that aren’t already packages won’t build (or they’d probably be packages, too).
A year or so ago I tried to bring Debian to my 1995-era Sparcstation 20, a box I bought for $10 and not too much shipping, adding components that usually cost me $10 or less (30-something GB SCSI hard drive, CD drive, floppy drive, keyboard and mouse).
I did it for fun. And to learn. Most everything with old hardware is a learning experience.
On my first attempt, I learned that Etch was the last Debian release to support 32-bit SPARC. The only problem was that you couldn’t install it from the CD. There was (and is) a bug in the installer that prevents CD installation of Debian Etch. You can still install it via net booting, but I have no idea how to set that up.
That leaves Debian Sarge, the previous release. At first I couldn’t figure out the partitioning. There are rules about the sizes of partitions in Linux with Sparc, and I couldn’t quite wrap my head around them.
But yesterday I decided to try again. I burned a Debian Sarge SPARC CD and started the installation.
The key to success installing an “obsolete” Debian release is to know in advance to use http://archive.debian.org to start your sources in /etc/apt/sources.list and to configure the network manually.
For both of these tasks, using the installer script will trip you up. Both to configure the network and set up apt, you need to use the shell option and create them from the console (you are root at this point).
First I set up my network for DHCP, doing it with the usual configuration files and shell commands (details later). You then must skip this step in the installer, otherwise your changes will be overwritten.
The same with apt. None of the mirrors in the installer still have Sarge around. You need to use the Debian Archive mirrors and enter the proper sources line in sources.list. Again, going through this in the installer will erase what you’ve done. Once you have the network configured and running, you need to add your /etc/apt/sources.list information, then update the sources with either aptitude update or apt-get update (I use aptitude whenever possible).
Once I had the network running and the sources set, I was able to proceed with the installation. To get around the partitioning question, I let the installer do the work and chose the “one big partition” option, which utilized the whole of my 30+ GB drive.
The funny thing about Sarge as opposed to Etch, Lenny and Squeeze is that the system reboots once the base install is done, and adding a user account and the software selection (desktop, mail server, print server, etc.) occurs after that reboot instead of before.
I chose the “desktop” software selection, and that meant 700+ packages. They continued installing into the night. It looked like there were both GNOME and KDE in the mix.
I probably should have stuck with the minimal installation, then tried to dist-upgrade to Etch and then started adding packages (I can’t imagine sticking with GNOME on this 50 MHz box; GNOME was slow as sludge in Solaris 9 on this hardware).
But I’m just seeing if and how this all works at this point.
I’m not terribly confident that X will work, but X works out of the box on this hardware in OpenBSD (I should have saved a copy of xorg.conf … damn). There are some xorg.conf files on the Internet from other 32-bit Sparc users of Linux, so I should be able to hack it together.
Once I get in front of the box today, I’ll see how the Sarge installation went and whether or not I have a bootable machine.