Last Updated: Wednesday March 21 2001
So I decided to install Solaris on my SparcStation 20. I had a copy of Solaris 7 from their Free Solaris deal about 4 years ago or so. Sun now has copies of Solaris 8 available for download here free of charge (but registration required).
I got a 2GB Seagate hard drive with a SCA connector from eBay for about $20. Plugging it in was pretty easy; you just remove the mounting hardware from the old drive and screw it into the bottom threads on the drive with four screws.
A Solaris timeline, as well as many other important bits of information, can be found in the Sun FAQ here.
One of the nice things about Sparc hardware (and a lot of non-x86 hardware in general) is that you don't have to worry about BIOS limitations and the other problems that make operating system installation difficult. Getting the Solaris CD to boot was almost ridiculously easy; you just stick the CD in the drive, hit STOP-A (or L1-A), and type "boot cdrom" at the prompt.
My other SS20 is using the only Sun CDROM drive that I had, so I ended up using a generic Toshiba 12X drive (which was a good idea it turns out; the stock Sun drive is only 4X :/). The connectors are the same as for PC SCSI hardware: 50 pin data, and 4 pin molex power connectors. The drive had to be set to SCSI ID 6 before the boot environment would recognize it as a valid drive, though.
I did my installation through the serial port using a (yes, I have one) WYSE model 150 terminal in VT100 emulation mode. The Sun serial ports are female for some odd reason, so I had to use a 25 pin cable with male connectors on either end to connect the null modem cable from the terminal to the SS20's serial port. The Sun serial ports are DTE, and use the standard 25 pin RS232 pinout.
After the OS loads, it asks you for your terminal type, locale settings, and network information. My installation bombed out halfway through because the disklabel on the drive was invalid. After seeing a typical UNIXy "core dumped" message, I poked around a little bit. There is a disklabel program, and simply running it seems to initialize the disk table. I had to type "verify" instead of print, but other than that it felt a lot like a typical BSDish disklabel program.
After it finishes copying the software, it prompts you for the root password, then it runs a getty on the port and you can log in.
The shell seems to be a bourne variant, although export TERM=vt100 doesn't work. Hmm. "man sh" tells me to look for set -a, which tells me that the equivalent command is TERM=vt100 set -a TERM.
The default environment variables are:
Of course, the backspace key doesn't work by default...
Shutting the system down with shutdown -h now doesn't work. The equivalent command is shutdown -g 0 -y -i 5, which puts the system into single user mode immediately and then tries to kill power to the system.
If you just want single user mode, you should use shutdown -g 0. The -y is optional, and disables the system from prompting you for confirmation.
The man pages all have an "attributes" section, which I guess describes meta characteristics of the command described in the man page. The attributes section is described fully in the attributes(5) man page. Among other things, Sun's OS versioning numbers scheme and how it relates to interface compatibility is defined in the man page.
After installing Solaris 7 again on my other SS20 (the one with the SX VSIMM for graphics installed), I log in to the system using their xdm-like widget. I get a choice of either a CDE or OpenWindows desktop. CDE crashes and drops me back to the login widget, so I guess it's OpenWindows for now.
They pop up a very nice introduction to a GUI environment right at first, right down to how to use the mouse and clicking and stuff. There is also a HotJava window with a plea to register.
The shell tool makes me very unhappy. Backspace doesn't work by default, although it works fine in vi. Their default shell also doesn't have any kind of completion that I can find, and the usual GNU readline commands (C-a, C-e, C-r) don't work.
The HotJava web browser has been EOLed by Sun. No wonder, since it only supports HTML 3.2 and no CSS. Besides, we have Mozilla now. Sun has Mozilla packages available for download, but I have to install some "mandatory" patches first. The "unzip" command is present, fortunately.
To install the patches, I use the patchadd command: patchadd DIRNAME. patchadd doesn't seem to calculate the dependancies automatically, so I have to wade through messages that look like "this patch requires patch 100678-03" to get the entire patch set (33MB compressed!) installed.
The network configuration is broken at first. I have to edit /etc/resolv.conf and add the following lines:
domain prime.mip nameserver 172.16.0.2
so that it can talk to my nameserver to do DNS. I can't test it with the host or nslookup commands, which seem to be missing, so I try to ping out and it doesn't work. Hmm.
After poking around some more, I find that /etc/nsswitch.conf needs to have the word "dns" prepended to the "files" keyword on the hosts line.