Linux on a SunBlade 100
[Ben Collins asked that I repost this message to debian-sparc. I've
been deliquent about subscribing, so it's a good time to do both. :-)]
After quite a few aborted attempts, I finally got Linux running on my
SunBlade 100. Here's a brief outline of what worked.
Miles to Go
The SunBlade 100 -- a fairly cool, sub-$1K SPARC-based machine
available from Sun Microsystem's web site -- is a semi-odd
machine, so odd, in fact, that it wasn't until April 2001 that Sun
released a version of Solaris 8 that would run on it unpatched.
Needless to say, it was going to take a fairly bleeding-edge
distribution to get this thing running Linux. I'm most familiar with
Red Hat, but RH is no longer developing for the SPARC, and its older
releases wouldn't work with this hardware.
SuSE recently trumpeted its support for SPARC hardware, so I tried
booting its 7.1 version. Only later did I read that the UltraSPARC IIe
is explicitly *not* supported (yet). Sigh.
I did all the logical Google searches, only to be rewarded with
various postings like "I can't get Linux to boot on my
SunBlade. Anybody had better luck?"
Finally, I got word that someone had successfully gotten Debian to
boot on one of these beasts. To make a long story short, I'm running
the unstable/testing branch of Debian on the machine now, and it
appears to be in pretty good shape. I've had a few oddities (see
below), but overall things work pretty well.
Maintaining an Image
Dave Miller at Red Hat pointed me to Ben Collins' collection of boot
I first tried booting with the then-latest images, found in the
3.0.9-2001-08-10 directory. Those didn't work, so Ben suggested I try
an older set. Bingo. The images in the 2.3.6-2001-06-22/sun4u
directory worked well for me.
There have been problems getting UltraSPARC IIs to boot from a floppy
image, and I didn't want to mess with building a custom ISO using
Ben's boot image, so I went the route of using the 'boot net' feature
in the Sun's PROM. The boot image I grabbed was
Preparing for Boot Net
On my x86 Linux workstation (running Red Hat 7.1), I installed the
tftp-server and rarpd packages and did the work necessary to get them
1. Populate /etc/ethers so rarpd could provide the SunBlade's PROM
with a hostname at boot time. The PROM will report the MAC address
of its primary network card. I copied it and the SunBlade's
hostname into /etc/ethers, e.g.,
(One of the benefits of using a 2.4 kernel is that rarpd can now
run as a user-space daemon. Previously, you had to compile support
for it directly into the kernel.)
2. Move Ben's tftpboot.img file to the /tftpboot directory.
3. Then there's some tricky renaming or symlinking that has to be
done. The Sun's PROM will request a file named after a hex version
of its IP address. If the SunBlade's IP address were 192.168.1.100,
then it would request a file named C0A80164. (Older PROM versions
supposedly added an architecture-specific suffix to that filename,
e.g., C0A80164.SUN4U, but that's not true for SunBlade.)
So I symlinked the tftpboot.img to a hex name:
# cd /tftpboot
# ln -s tftpboot.img C0A80164
4. I updated /etc/xinetd.d/tftp to allow the SunBlade to initiate tftp
connections and then restarted xinetd. I also started up rarpd
Back on the SunBlade, I typed 'boot net' at the PROM prompt. Whoopee!
The SunBlade got its hostname from rarpd on the x86 box (and its IP
address from my local DNS server), found the appropriate boot image,
and started up.
On with Debian
By this time, it was pretty late in evening (maybe early in the
morning, I can't really remember), and my note-taking slacked off
considerably. OK, it slacked off altogether. :-P
I'd never installed Debian before, but I remember thinking that anyone
brave enough to attempt a Linux install on a SunBlade probably
wouldn't have too much trouble with it. It was the usual routine:
partition the disk, confirm the hostname/IP (I couldn't get DHCP to
work at this point), choose a mirror, and install the base packages
over the Internet. The Debian folks ought to be proud of their
Internet installer; it worked as well as its cool FreeBSD counterpart.
On the other hand, using dselect during the installation process was
anything but intuitive. I botched quite a few package installations
before deciding to stick with a very minimal install, figuring I'd get
around to packages when I'd had enough sleep.
The next day, I took a look at apt-get (Hey, Karl! Look, I used
it!). It took me a couple hours to figure it out, but I eventually got
the hang of it. I've since installed about 130 packages, all over the
Internet, and all but one (imagemagick -- which I still can't get to
work correctly in the unstable tree) installed without a hitch.
At this point, the system has been up for only a couple days (I went
out of town two days after completing the installation and powered
down the system while I was gone), but on the whole things are running
smoothly. The exceptions:
* The failure of the imagemagick installation has impaired my ability
to use xfce since it can't figure out how to deal with .xpm
images. Admittedly, however, I'm working with the *unstable* Debian
branch, so I shouldn't expect everything to work flawlessly.
* If I ssh into the SunBlade from another host using a Konsole window
and run grep in such a way that it returns a lot of data, the
Konsole session semi-freaks; the window background stays black no
matter what I do. The only solution is to kill the session, open a
new Konsole window, and log back into the SunBlade. The problem
appears to be specific to grep; I can't duplicate the symptoms by,
say, running cat against a bunch of large text files.
* hdparm won't put the SunBlade's IDE disk into standby mode.
* The ntpd supplied with the ntp package wouldn't work, and I couldn't
get ntp-4.1.0 (compiled from source) to work as a broadcast client,
though it does work when given a 'server' directive in ntp.conf.
A Quick Ending
I ran Solaris on the SunBlade for a few months before I finally got
around to installing Linux. I have no direct benchmarks, but I will
say that Linux *feels* faster than Solaris on this hardware. Only time
will tell whether it's as stable...
-- Paul Heinlein <firstname.lastname@example.org>