"Linux Gazette...making Linux just a little more fun!"

Checking Out SPARC-Linux with SLXT

Grab a bargain SPARC

By John Little

There are lots of Sun SPARCstations coming onto the second-hand market, or even being given away for free, nowadays. The attractions of a SPARC are numerous. The graphics resolution of a typical SPARCstation is 1152x900 (either monochrome, 8-bit or 24-bit colour), all machines have built-in ethernet controllers and all come with on-board SCSI.

Unfortunately, there are also a couple of drawbacks. It's not unusual for these machines to come onto the market with only very small internal disks (dual 100MB or a single 200MB is fairly common), or even minus disks completely and, as anyone who has bought one recently will tell you, SCSI disks are still more expensive, megabyte for megabyte, than their IDE cousins.

There's also a SPARC-Linux specific problem, commonly referred to as the "IPC slowdown bug" which, as the name suggests, plagues some of the low-end Sun4c architecture machines, especially the IPC, SPARCstation 1 and 1+ models. This doesn't affect all machines (which is one of the reasons that a fix is proving difficult to find), but on those which it does, even simple operations such as an "ls /etc" can take several minutes. It's the computing equivalent of that nightmare which everyone has had at one time or another where you're trying to run away from something horrible, through waist-deep, sticky treacle.

So, if your SPARCstation comes without a disk, or you load SPARC-Linux and your machine proves to be one of the ones susceptible to treacle, what can you do?

Don't panic!

All is not lost. SPARCstations make excellent Xterminals. As already mentioned, they come equipped for the job with on-board ethernet and high resolution graphics. Even the most treacle-bound IPC will provide adequate performance for most users when served by an i386 level machine and absolutely stunning performance when served by a machine of Pentium-level performance. The secret is, of course, that application processing is offloaded onto the server, while the SPARCstation runs only a cut-down kernel and the Xserver process. This is basically a SPARC-Linux implementation of Seth Robertson's Xkernel package. The principal of operation is the same, but the binaries, libraries and code are 100% Linux (it is important to note here that there's no Sun code included in the package, so you do not need a Sun "Right To Use" software licence to run the SPARC-Linux Xterminal package).

NOTE - People are frequently confused by the Xterminal concept and the fact that when they log-in to an Xterminal they find themselves in a shell on the server. Perhaps the easiest way to understand it is to think of the Xterminal as simply being a display attached to the server (which, in effect, it is) and of the Xterminal hardware as being a remote video card.

The SLXT package contains a SPARC-Linux, network-bootable kernel for sun4c and sun4m architectures, as well as scripts to automate the installation process and the administration of Xterminal clients. The scripts are Linux specific, but the package can be installed manually (on virtually any system which provides tftpboot and X support) in about ten to fifteen minutes by an experienced system administrator. The author has run SPARC-Linux Xterminal clients from Solaris servers, as well as from a variety of Linux machines.

Because the kernel is cut down, it will run quite happily on a machine which has only 12MB of main memory (an 8MB machine will boot, but will eventually crash with "out of memory" errors). In fact, because the system only runs the kernel and Xserver processes, any more than about 24MB of main memory is wasted, as it will never be accessed. The kernel is small because it does not contain any disk or floppy drivers. This also means that the SPARC-Linux Xterminal package can be booted on an existing, diskfull machine with no fear of accidentally overwriting the filesystems, thus making it possible to have the same machine boot, say, Solaris from an internal disk, or come up as an Xterminal when booted over the net. Of course, at around 2.5MB, the SLXT package is also much easier to download than the full SPARC-Linux distribution if you just want to check whether your system will run the Linux kernel.

Booting SLXT

Before you can boot your SPARC client machine, you'll need to make a note of the ethernet address (the add_xterm administration script will ask for this information). This is visible, along with information on the boot PROM revision and memory size, immediately after the power on selftest has completed. Your machine will probably be set up to boot directly from disk, so you may need to hold down the "Stop" and the "a" keys simultaneously to prevent the ethernet address from scrolling off the screen (this key sequence is commonly referred to as an "L1-A" in Sun circles because the "stop" key is also the first key on the left-hand keypad of a Sun keyboard).

After entering the ethernet address and choosing a hostname and IP address for your client, add_xterm will update the configuration files and the ARP and RARP caches on your server. You can then boot your SPARC client using "boot net" (from the "ok" prompt), or "ble()" (from the ">" prompt), depending upon which revision of boot PROM your machine has.

The most common question asked about the SLXT boot process is "Why does it take so long to boot?".
The answer is that the machine is downloading a complete kernel image from the server and then executing it, unlike a normal SunOS or Solaris boot, where the bootstrap reads in a second-stage loader, which in turn downloads the kernel. Be patient! Once the kernel is downloaded, the time taken to start the Xserver process and display a login prompt is very much shorter than the rest of a typical SunOS/Solaris boot. You'll need to be very quick to catch a glimpse of the SPARC-Linux, beer-swilling penguin.

More Information

The SLXT package includes a FAQ, a CHANGES file and a package info file. Unfortunately, at the time of writing the version on SunSite had not been updated for some time (the last update, along with dozens of other packages, is still languishing in the Linux/Incoming directory). The latest revision, along with documentation, should always be available from the author's home site at http://www2.gol.com/gaijin/Linux, though.

What do you need to run your SPARC as an Xterminal client?

The gzipped-tar file, for the current version, SLXT_0.5c.tar.gz is approximately 2.5MB and will take up slightly more than 6MB when installed.

Last updated: $Date: 2002/10/09 22:24:23 $.

Copyright © 1998, John Little
Published in Issue 27 of Linux Gazette, April 1998