Solaris-era marketing graphic — stylized “Solaris” wordmark on a split blue-and-white background with a sunburst clock motif

This README covers the Solaris 2.6 images I host on my site oldsilicon.com. This text also appears in the README file in the root directory of the image.

I make these images available to help classic workstation enthusiasts get old hardware running more easily. Installing older OS versions can be time-consuming, so the goal of these prototype images is to simplify the process, allowing you to get started quickly and then customize as needed.

Below, you’ll find a checklist of tasks to get your machine up and running on your network.

If you end up compiling useful tools and utilities not included in these images, please consider contributing them back to my project for inclusion in future versions.

Machines with a Solaris 2.6 image available

Each machine below has its own per-machine image (hostname and install tuning vary) on its page:

Security notes

These are very old operating systems. An installation of any of them wouldn’t last a minute on the Internet without being hacked, so they should only be used behind a NAT cable modem, firewall, or similar device. Most of these images don’t use passwords by default, so be cautious and add a password after getting the system running for basic security.

I host a SHA1 hash on my site to verify the image you downloaded before booting it.

Since the SHA1 will become invalid once you boot the image, it’s a good idea to verify it right after downloading. If you got this image from another website, I would caution you that one of these images could easily host some code that could infiltrate your home network. Be safe and download a new copy from oldsilicon.com.

For the verification procedure on Mac and Windows, see Image Security and Checksums.

How to use this image

This image was taken from my ZuluSCSI SD card. The OS installation was from a CD-ROM image, and modified as described below. I use Zulu RP2040s because they are a bit faster, but I’m sure other devices will work fine as well. Format the SD card to ExFAT and place the image on the card. None of the images require a special Zulu.ini file, but I encourage you to leave the final part of the name of the image _512.img as it tells the Zulu to use 512-byte blocks.

This image should also work on a SCSI2SD if you bit-copy it and configure the card ahead of time. It should work on an actual hard disk, though I haven’t tested this.

Root

There are two accounts on the image: root and user. The root account has no password.

Solaris 2.6 won’t let you telnet into the root account, so if you are telnetting in, telnet into the user account, then su to root.

The user account is a prototype that you can rename and use as needed. The user account by default has a password of user.

Root shell

I’ve compiled tcsh from source, and it’s located in /usr/local/bin. The root account uses this as its default shell. If you want to change the root shell, use the usermod commands to change the shell.

Telnet

You can telnet into the system using the user account after changing the IP address.

Many modern machines present themselves as xterm-256color. You can add a definition to termcap if you like. The .cshrc file in both accounts remaps the terminal to xterm for common terminals I log in from, but you can adjust this as needed.

Networking setup

This image is set up for my home network, so you’ll need to make some changes for it to work on yours. It’s currently set to 192.168.7.x on the 192.168.7.x network, with my DNS server at 192.168.7.90.

To adapt this image to your environment, you will need to change the following files:

  • /etc/hostname.XX — Replace with the hostname you are giving the machine.
  • /etc/defaultrouter — Replace 192.168.7.1 with your gateway router.
  • /etc/hosts — Update with your desired workstation IP, name, etc.
  • /etc/netmasks — Replace my network with yours.
  • /etc/resolv.conf — Update with your nameserver IP and optionally your search domain.

CDE environment

Solaris 2.6 uses the CDE xdm login mechanism. Both accounts were set up to use CDE rather than OpenWindows. I’m sure it’s easy to change them to OpenWindows but you’ll have to google that.

Xserver config

Both accounts have a custom CDE menus script in ~/.dt/dtwmrc. In addition, a custom script to start the Xserver is located in /etc/dt/config/Xservers. The last line has been modified to increase the keyboard repeat rate and repeat onset. To adjust, edit the ar1 and ar2 values in the last line of the script, or remove the two values for the default slow response.

GNU utilities, compilers, and useful apps

I’m functional at vi but it’s never been my favorite. I’ve installed my old standby uemacs (microemacs) in /usr/local/bin. If it’s good enough for Linus Torvalds it’s good enough for me (torvalds/uemacs).

I built and compiled many common GNU utilities, as well as gcc and g++ up to version 2.95. These are 1990s-era compilers but work great. It was a multi-day effort to get this compiler suite working.

The full /usr/local/bin listing:

autopoint          gcc                pullconfig
base64             gcj                pushconfig
basename           gcjh               pwd
bash               gcov               rdjpgcom
bashbug            gettext            readlink
bunzip2            gettext.sh         recode-sr-latin
bzcat              gettextize         reset
bzcmp              groups             rgview
bzdiff             gunzip             rgvim
bzegrep            gview              rm
bzfgrep            gvim               rmdir
bzgrep             gvimdiff           rnano
bzip2              gvimtutor          rsync
bzip2recover       gzexe              runcon
bzless             gzip               rview
bzmore             head               rvim
c++                hexedit            screen
c++filt            hostid             screen-4.0.3
captoinfo          iconv              sed
cat                id                 seq
chcon              idn                sha1sum
chgrp              infocmp            sha224sum
chill              infotocap          sha256sum
chmod              install            sha384sum
chown              irc                sha512sum
chroot             irc-20060725       shred
cjpeg              ircbug             shuf
cksum              ircflush           sleep
clear              ircio              sort
comm               jcf-dump           sparc-sun-solaris2.6-gcc
cp                 join               split
cpp                jpegtran           stat
csplit             jv-scan            stty
curl               kill               sudo
curl-config        less               sudoedit
cut                lessecho           sudoreplay
date               lesskey            sum
dd                 libpng-config      sync
ddrescue           libpng12-config    tac
df                 link               tack
dir                links              tail
dircolors          ln                 tcsh
dirname            logname            tee
djpeg              ls                 test
du                 lsof               tic
echo               lynx               timeout
env                make               toe
envsubst           md5sum             top
eview              minigzip           touch
evim               minigzip64         tput
ex                 mkdir              tr
expand             mkfifo             true
expr               mknod              truncate
factor             mktemp             tset
false              msgattrib          tsort
fmt                msgcat             tty
fold               msgcmp             uname
funzip             msgcomm            uncompress
g++                msgconv            unexpand
g77                msgen              uniq
                   msgexec            unlink
                   msgfilter          unprotoize
                   msgfmt             unzip
                   msggrep            unzipsfx
                   msginit            uptime
                   msgmerge           users
                   msgunfmt           vdir
                   msguniq            view
                   mv                 vim
                   nano               vimdiff
                   ncurses5-config    vimtutor
                   ngettext           vs
                   nice               wc
                   nl                 wget
                   nohup              who
                   od                 whoami
                   paste              wrjpgcom
                   pathchk            wserv
                   pinky              xgettext
                   pr                 xxd
                   printenv           yes
                   printf             zcat
                   protoize           zcmp
                   ptx                zdiff
                                      zegrep
                                      zfgrep
                                      zforce
                                      zgrep
                                      zipgrep
                                      zipinfo
                                      zless
                                      zmore
                                      znew

Troubleshooting

If your machine boots very slowly, see Why is my Disk Image boot so slow? — most cases come down to first-boot RPC timeouts from an unconfigured network, a defective SD card, or a non-contiguous image on the card.

Finally, help

If you find this image helpful and you end up compiling more software using it, please let me know! I would love to keep adding to the image and re-releasing it.

Enjoy!

Addendum

The .cshrc shipped with both accounts does not include /usr/ccs/bin in PATH. That directory holds ar (and other bundled Solaris build tools), so if you plan to compile code you’ll likely want to add it:

set path = ( $path /usr/ccs/bin )