A vintage hardware habit can be hard to break. I was cleaning up my basement, trying to figure out what was broken and what wasn’t. I put what seemed to be two hopeless SPARC machines (an IPC and IPX) in the junk pile. I just couldn’t stay away from the junk pile, though. One thing led to another, and I ordered some replacement parts. Soon I had a working IPX with 64MB RAM and a 2GB hard drive.
It had been a long time since I last tinkered with a SPARC, and times had changed. The IPX belongs to the sun4c family of machines, a family that was last supported by Solaris 7. So, the IPX could not run Solaris 8. I could load it up with Solaris 2.6 or 7, but that would be boring. Plus, I was motivated to have a computer that I could use to experiment with the Sun ONE Starter Kit, which requires Solaris 8. So, I went on a quest to find a cheap SPARC that would run Solaris 8.
It wasn’t long before I came across an eBay auction for a SPARCclassic X, which I picked up for $7.49. However, according to the Sun Hardware Reference, this SPARC may not have been much more than a doorstop:
SPARCclassic X (4/10) CPU: 501-2079/2262/2313 Notes: Essentially the same as SPARCclassic, but intended for use as an X terminal (?).
A Simple Promotion
As it turns out, there is a simple way to turn it into a SPARCclassic (you don’t even need to open the case to do this). See the SUN NVRAM/hostid FAQ for complete details. The changes directed in that document were simple enough to follow, which left me with this (excerpted from the Sun Hardware Reference):
SPARCclassic (SPARCclassic Server)(SPARCstation LC) (4/15) Processor(s): microSPARC @ 50MHz, 59.1 MIPS, 4.6 MFLOPS, 26.4 SPECint92, 21.0 SPECfp92, 626 SPECintRate92, 498 SPECfpRate92 CPU: 501-2200/2262/2326 Chassis type: lunchbox Bus: SBus @ 20MHz, 2 slots Memory: 96M physical Architecture: sun4m Notes: Sun4m architecture, but no Mbus. Shares code name "Sunergy" with LX. Uniprocessor only. 1.44M 3.5" floppy. Soldered CPU chip. Onboard cgthree framebuffer, AMD79C30 8-bit audio chip. Takes pairs of 4M or 16M 60ns SIMMs. First supported in SunOS 4.1.3c.
Not bad, except I didn’t have any 60ns memory or a Sun monitor. I did have some IPX memory, which runs at 80ns. Although it’s slow, it works. As for the monitor, I am lucky enough to own a Vigra VGA (not SVGA!) framebuffer, which enables me to plug a SPARCstation into a PC monitor (at 800×600, 8-bit color, and some terrible refresh rate I don’t even want to think about). But it worked out of the box without the need for special drivers.
Over the years, I have installed different versions of Linux and Solaris on SPARC hardware, but I was always limited by the small (1-2GB) disks that I could afford. Not this time, I decided. I found a 9 GB 50 pin SCSI drive for sale at Other World Computing, a great dealer for Macintosh Hardware. I had no idea whether this drive, an IBM UltraStar 2XP 7200RPM, would work in my system. As it turns out, it worked, and worked great. This hard drive seems to be available in 50-pin, 68-pin, and 80-pin configurations, so if you find one for sale, make sure you are getting the right variant (the 50-pin variant works in the SPARCclassic).
The SPARCclassic X does not come with any cables for attaching a hard drive, so I borrowed cables from the IPX. However, the screws for mounting a hard drive are not the same as those used for the IPX, so I had to improvise by using two screws from the IPX to mount the drive flush left in the case, and then using two slightly longer screws to attach the other side. I could have used an external case, and avoided the whole problem of mounting the drive inside the SPARCclassic.
Once I had my 9GB drive installed, I downloaded the Solaris 8 ISO images and burned them to CD-ROMs using a Windows PC. Then, I rummaged through my collection of junk until I found a CD-ROM drive that could boot a SPARCstation.
The hard drive required a low-level format so that the Solaris installation could bootstrap itself. To perform the format, I started the Solaris installation, and then got a root shell at my earliest convenience (I could probably have used
boot cdrom -s at the firmware prompt to get into single-user mode). In the root shell, I used the
format utility to low-level format the drive. This took several hours!
Solaris 8 Goes Up
Installation of Solaris 8 was smooth but slow because I had a slow (1x or 2x) CD-ROM drive and I used the graphical installation. I don’t know of any way to force it into text-mode installation other than to perform the installation over the serial console. The complete installation took most of a day - the good news is that, after the initial steps of the installation, I only needed to swap CD-ROMs occasionally.
Due to a limitation of either Solaris or the SPARCclassic firmware, I had to put the / partition in the first 2GB of the hard drive. Otherwise, the system would not boot after I complete the installation (and yes, I learned this the hard way).
By default, Solaris does not come with a C compiler. This was easy to remedy; the Solaris Freeware CD-ROM includes GNU C and many other nice tools that should be familiar to Linux and BSD users. I downloaded and installed the CD, which includes a nice graphical installer. Since the Solaris Freeware CD-ROM didn’t include everything I wanted, I occasionally turn to SunFreeware for more precompiled packages.
X Here, X There
By this time, the poor refresh rate and low resolution of the Vigra framebuffer was getting to me, so I decided to switch to a remote X login. From my Windows PC, I was able to log into my Solaris desktop by using the Cygwin XFree86 Server with the command
/usr/X11R6/bin/XWin -broadcast. I downloaded xwinclip so I could cut and paste between Windows and my X Window session. My complete X startup script on the Windows side is:
#!/bin/sh /usr/X11R6/bin/XWin -broadcast & sleep 10 export DISPLAY=192.168.0.25:0 /usr/X11R6/bin/xwinclip &
That connects me to the X display manager running on the SPARCclassic and also starts xwinclip on the same display. However, xwinclip interferes with my ability to keep an active highlighted region in some programs (such as Netscape), so I sometimes kill xwinclip when I’m not switching back and forth between my X Window session and Windows applications.
This little SPARCclassic runs well, but it’s slow. I recently ordered a used SPARCstation 10 with a 60mhz CPU that I hope will run much faster. The SM41, SM51, and SM61 SPARC 10 CPUs all include a large (1MB) cache that makes a huge difference. I don’t plan to abandon the SPARCclassic, though; I’ll probably set it up as a NetBSD, OpenBSD, or Linux system. It’s been my experience that free operating systems support older hardware better than proprietary counterparts (that’s because there is no significant motivation to phase out support for older hardware).
Some links for vintage SPARC enthusiasm:
Do you have trouble throwing away old systems? Do you get a sense of satisfaction when you save a 20mhz system from the landfill?