gekk.info « articles

Getting Started with Solaris 2.6

Important: This page is not entirely about emulation! Although the first part is, most of this is actually applicable if you have a physical Sun machine with Solaris 2.x on it and want to get some applications or GNU utilities onto it.

Note: This document took 48 hours of experimentation to produce. I may have forgottten how I did certain things, or typoed filenames, or rebuilt my VM in the middle of it. You will need to apply a lot of critical thinking in any case to make this work.

If you like my work, consider tossing me a few bucks. It takes a lot of effort and payment helps me stay motivated.

Preamble

Hello! If you are like me, you may have always been fascinated with the concept of microcomputer Unixes, like Solaris, IRIX, etc. but not sure how to actually experience one. Maybe you even had a Sun machine at some point and no idea what to do with it other than boot it up and type "ls."

Fortunately, it's now possible to emulate a Sparc machine fast enough and with enough hardware to get a reasonable impression of using a real one, and a number of interesting (though not platform-exclusive) commercial software packages are available, so this is much easier to do now without wrangling SCSI CD drives and so on.

If you want to set this up from scratch, you can follow the instruction on this page here: https://learn.adafruit.com/build-your-own-sparc-with-qemu-and-solaris?view=all

To save you a lot of time and frustration however, I have prepared a copy of QEMU 4.2.0 with a preinstalled Solaris 2.6.5 (AKA SunOS 5.6) which is ready to use on Windows immediately.

Just download it from Internet Archive (here), extract it, and run sun.bat. If you're on another platform, install a QEMU for that platform, move over sparc.qcow2 and look at the .bat file - it should be obvious what to change to make it run.

Once you have the machine started, you can log in with these accounts:

User: sol  / solaris26
Root: root / rootpass

The image as provided is absolutely stock with no added software or modifications other than the addition of the 'sol' user; this is more or less exactly what you would see on a brand new Sparcstation 5 in 1996, as I understand it.

If you are used to Linux you will run into some hitches fairly quickly trying to use the GUI or command line, since Unix does things a little different; see the "Quirks" section for tips about this.

It goes without saying that the machine is not going to be quick. A real Sparcstation was probably a little faster, but even on a very modern computer it's tough to emulate at full speed. There's also no sound, unfortunately.

In this doc I will try to give you enough info to muddle through some Unixing. You should probably be fairly familiar with Linux/BSD to start since I will be leaving out some implicit steps that are just too obvious for me to remember to document. Sorry :( But hopefully this is mostly self-explanatory.

Starting Points

After starting up the machine, log in as sol and you'll find yourself in the CDE desktop environment or "workspace." Explore the workspace bar at the bottom to find some programs, control panels, etc.

Obviously a lot of things will require a terminal, in the Unix style. Read everything under "Quirks" to learn some important differences between this and modern Linux, as well as some other general things you should know.

Programs

You can find some (but not all) preinstalled programs by simply right clicking on the desktop and looking under Programs.

You should probably launch Performance Meter and leave it open in a corner so you can get an idea of how busy the system is, since a lot of programs quietly do things in the background without any obvious indication.

A lot of other programs are in the workspace panel menus.

Go down to the "Programs that mostly work" section to get started installing software. This doc will walk you through the larger points of installing several commercial software packages you can find on Winworld, Internet Archive, etc.

Keep in mind that in all cases the general experience is very "wild west" - you're given very little guidance by the vendor on how to start installs, where software should be installed, or even how to launch it once it's installed.

Other than Staroffice I've found no app that actually creates a shortcut in the GUI menu; for the rest, I have to dig down into their installation folders and look around in 'bin' and hope to find something that looks program-y.

Network

The machine has network access, complete with DNS, but ping does NOT work - this is a QEMU limitation, it will not pass ICMP unless you change network "backends."

You can use network services right away, although you'll find the builtin tools and applications are nearly useless on the modern web - telnet will work, for instance, but you don't have a useful web browser, SSH, etc. Later steps in this doc will help you get wget, a slightly newer web browser, and some other things.

If you know of any plain-HTTP (no S) and plain-HTML (and i mean *plain*) websites, you can launch the Web Browser app from the programs menu. It's slow as molasses and extremely limited, so you're probably better off getting Netscape installed - see instructions further down - although it also has no HTTPS.

For just retrieving files, the wget (and probably the curl) in the GNU utilities is going to be faster and more reliable, and if you want an "actual" browser, links might be ideal. Again, none of these will speak modern HTTPS; browsing a modern website is impossible on this OS.

When you've figured out CDE for the most part, try OpenWindows. Like modern Linux and the Gnome/KDE/XFCE/etc. split, Solaris had two desktop environments.

You can reach OpenWindows by going to the options button on the login screen, then Sessions. It's an entirely different experience from a past era; try it!

Handling CDROMs in QEMU

To get any software onto this machine you'll probably need to load from CD images. Here's how to do that.

  1. With QEMU running you should see a menubar. Click View
  2. Select "compatmonitor0". That is the QEMU "monitor" which lets you enter commands to change the machine state while running.
  3. Type info block
  4. The line beginning scsi0-cd2 is the CD; if there's anything in it, you'll see the filename
  5. If there is a CD inserted, you probably won't be able to change it without ejecting it
  6. Open a terminal inside of Solaris and type "eject"; if you get no message, it worked; go back to the monitor
  7. To insert a disk:
    1. Put the ISO in the qemu folder
    2. In the monitor, type change scsi0-cd2 filename.iso
    3. You can also mount a physical CD by just entering the drive letter e.g. D:. This is useful if the file was an MDS or other incompatible image, because you can mount those with an image loader
  8. Go back to "SUNW,tcx" from the View menu
  9. The CDROM should have popped up in the file browser; you can now use it.

Inserted CDROMs show up under /cdrom by their disc label, e.g. /cdrom/Wabi_2_1. For some reason the solaris install media never disappears from here; who knows why.

Note: There is an "eject" command in the QEMU monitor, which you might be tempted to use so you can e.g. delete an ISO without switching to another. However, if you use this, the emulated machine will never see another CD until you restart. So don't do that.

Quirks

Loading files with HTTP / Miniweb

One way to get files into the VM without any extra software is to use a plain HTTP server. Anything on Internet Archive is available via HTTP - just copy the download link, remove the S, and you can load it in the built in web browser per the below instructions.

For more flexibility you can set up a local plain-HTTP web server. Miniweb (https://sourceforge.net/projects/miniweb/) is one that works on Windows - extract the folder, run the exe, and anything you put in the htdocs folder will be accessible from within the VM.

Suppose your computer's IP is 192.168.1.15:

  1. Put bash.tar.gz in miniwebs htdocs
  2. From within the VM, launch Web Browser
  3. Type http://192.168.1.15:8000/bash.tar.gz in the address bar
  4. Wait for the page to load, click Save As, and pick a location.

Installing GNU tools (recommended)

Obviously we don't want to just turn this into a boring Linux machine, but let's face facts - in 1996 you were probably loading most of your software from CDs, tapes, floppies, etc. and you don't really have any of that available to put in this machine. If you have .tar.gz files from websites you want to install, it's a huge pain.

The basic Solaris 2.6.5 is a data island - there's no HTTPS support, the browser is ancient, even the FTP client is incompatible with modern FTP servers. You can try to install Netscape, but you'll find out that the installer is gzipped and you have to get that somewhere else.

The basic shell is also infuriating, with no command history or tab completion. Immersion in the technology of the time is one thing, but come on - you don't have time for this crap! Install bash! And wget, and gzip, self care!!

You could maybe obtain the source to the GNU utilities and compile them but personally that sounds like hell on earth to me and the compiler tools in Solaris are... different.

Fortunately, there are precompiled binaries of tons of GNU software from a project called sunfreeware. The main site is basically paywalled now, however, I found a mirror of the collection and uploaded it to Internet Archive. You can find that archive here or you can hit the original mirror here to find packages for other solaris versions.

Auto-Install

I've put together a CD ISO (sun26gnu.iso) with several packages that I think you will absolutely be grateful for (nano, wget, curl, links...), and a couple that are essential (gzip, less...). You can install these manually from /gnu on the CD (per the "manual installation" process below) or just run the script to install them all automatically:

  1. Mount the ISO
  2. Open a terminal and su
  3. csh /cdrom/sun26gnu/gnu/installgnu. (note the trailing period)
  4. This will take a while and will stop a couple times - answer "y" to any questions
  5. When finished, follow the "enabling bash" section below
  6. Remember that none of the utilities will work until you add /usr/local/bin and sbin to your PATH

Manual Installation

If you want to install packages individually (this is useful for all Solaris packages, not just GNU):

  1. Either locate the file you want on my CD image, or download it from the sunfreeware collection on Internet Archive
  2. pkgadd -d (filename) all
  3. e.g. pkgadd -d /cdrom/sol26gnu/bash-4.1-sol26-sparc-local all
  4. Press enter at the prompt
  5. Wait for install to complete
  6. Installs all go to /usr/local/bin or sbin

You should know that dependencies are not automatically resolved, so you won't know things are missing until you launch the installed app. Run the program after install and if it spits out an error about a missing library, try to find a matching package in the collection, install it, and try again.

SSH does not appear viable without some wizardry, because Solaris 2.6 includes no /dev/random.

Enabling bash

If you install bash and you want it to be your shell, do the following:

  1. Right click on the desktop, go to Programs, App Manager
  2. Start Admintool
  3. Locate your user e.g. sol and double click it
  4. Under Login Shell, select Other, then type in /usr/local/bin/bash
  5.  Click OK
  6.  *DO NOT* update root yet - if you get it wrong, you'll be locked out of the system completely
  7. Right click on the desktop and Log Out, then log back in as sol
  8. Open a terminal. You should get a bash prompt and have tab completion and command history working
  9. If this worked, repeat the process to update root. Otherwise every time you do su you'll be back on sh, and that sucks

Enabling sudo

If you install sudo, remember that sudoers is in /usr/local/etc

Programs that mostly work

SimCity

https://archive.org/details/RareSimcity

Simcity was ported to Unix at one point, and here it is, pretty much exactly identical to the original as I recall. It's a limited-time trial, so you can't play a full game.

  1. You will need unzip and gzip from the GNU utilities to extract the files
  2. cd /export/home/sol
  3. You can get this from IA in a messy zip file or just copy it off my GNU tools ISO:
    1. cp /cdrom/sun26gnu/apps/simcity_2_14_solaris_tar.gz .
  4. gzip -d SimCity-2.14-Solaris.tar.gz
  5. tar xvf SimCity-2.14-Solaris.tar
  6. cd SimCity
  7.  ./SimCity
  8. This is an unlicensed trial so apparently your city will explode after 5 minutes

Staroffice 5.2

https://archive.org/details/staroffice52

Staroffice became OpenOffice. It sucks, but it's a complete office suite. Run it if you want.

  1. Mount CD
  2. Open a terminal and su
  3. cd solaris/patches/solaris26
  4. ./installpatch .
  5. Wait a long time
  6. cd ../../staroffice52
  7. ./setup
  8. Use all default settings
  9. It will take a long time
  10. When finished it will appear to exit; it's not done. Wait for the Adabas D installer to launch
  11. When that part is finished, log out (don't just restart workspace manager!) and log back in
  12. There will now be a Staroffice icon at the far left of your workspace bar; click it to launch
  13. If you get an error about a missing "sofficerc" file, fix permissions:
    1. Open a terminal
    2. su root
    3. cd /export/home/sol/
    4. chown -R sol *
    5. This will reassign ownership of all files in your homedir to you
    6. Now try relaunching

Netscape 4.06

https://archive.org/details/netscapecommunicator406std

  lets go nets baby love da nets eyyyyy

Remember that Netscape 4 has no modern SSL support, so you're limited to plain HTTP sites, and the FTP language used by modern servers seems to be different as well so you may have trouble reaching those in the browser as well.

However, this is a particularly convenient way to get files onto your VM - see the bit about MIniweb elsewhere in this document. If you just dump files in the Miniweb htdocs, then pull up your host PC's IP in netscape (port 8000), there's your files.

  1. You will need gzip to install; follow notes below on obtaining that
  2. Mount ISO
  3. From a terminal: cp /cdrom/communicator_406/unix/sunos551/sparc/comm406.tar /export/home/sol/
  4. tar xvf comm406.tar
  5. cd communicator-v406.sparc-sun-solaris2.5.1
  6. ./ns-install
  7. Follow the prompts - default install location is /opt/netscape
  8. When install is complete, execute: /opt/netscape/netscape

Corel Draw 3.5

https://winworldpc.com/product/corel-draw/35-unix

Corel Draw eventually became a pretty competent Adobe Illustrator/Photoshop competitor but this version's not quite there. All the same, you can do a lot of image manipulation with this suite, and it appears to work fine.

  1. Mount ISO
  2. Open a terminal and su to root
  3. cd /cdrom/drw35egunix
  4. ./install.cd
  5. Change install folder to /opt/corel3.5
  6. Enter solaris as platform
  7. Press enter on a blank line to continue
  8. Accept prompts to continue
  9. When complete, cd /opt/corel3.5/corel/solaris_sparc
  10. For some reason the installer doesn't finish a couple steps that you'll have to do manually
    1. cp libwix.so /lib/
    2. Type the following exactly as shown:
      cat >> /export/home/sol/.profile
      CORELHOME=/opt/corel3.5/corel
      export CORELHOME

    3. Press Ctrl+D
  11. Log out and log back in
  12. Open a terminal again
  13. cd /opt/corel3.5/corel/solaris_sparc
  14. Type ls
  15. Everything starting with corel is a program. Execute with e.g. ./corelpaint

Wordperfect 6

https://winworldpc.com/product/wordperfect/60-unix

Wordperfect is a seminal word processing suite. It's a big install and very complex so I haven't tested much of it.

In particular I'm not sure if the licensing element is worked out - the ISO in question doesn't appear to be cracked in any way, and it has a complete "license manager" system service, yet it accepted a nonsense CD key ("asd"). So maybe this will work for a while and then stop working, who knows.

  1. Insert disc
    1. You probably shouldn't be root. If you are, it might set up the licensing service to start automatically. If you want that, run as root, but honestly it just seems like extra trouble to me. You can run the licensing service on demand when you start the app if you install as a normal user.
    2. If you have problems, just run the installer as root, and when it's done, do chmod -R sol /opt/wp60
  2. From a terminal, do /cdrom/corel_wpunix/install.wp
  3. Wait a long time
  4. Select Solaris2
  5. Accept the eula
  6. Default settings (GUI and text, etc) probably OK
  7. Install path is not OK: use /opt/wp60
  8. For the serial number, put in gibberish - I used asd
  9. Enter yes to each question (ignoring errors); e.g. licensing, terminal selection, printer drivers
  10. WP will start installing - it takes a very long time to get to 1% and then speeds up
  11. When complete the terminal will hang open with a message saying to "change directory to (wherever)/wp50/wpbin and run .xwp or .wp" - you can close this window when ready
  12. If you didn't run the installer as root, the license manager won't be set to autostart (do you really want it to anyway?) so you'll need to start it by hand
    1. su to root
    2. /opt/wp60/shbin10/wplicense -s # WP60
    3. If the above fails, check the path and make sure it's where you installed; otherwise it should say the license manager is started
    4. exit to return to normal user mode
  13. /opt/wp60/wpbin/xwp
  14. The program should launch
  15. The default colors may be messed up (grey background in your document instead of white) - if this happens, you just need to restore a default color scheme:
    1. In the second (smaller) window in the upper right, go to preferences, then colors
    2. Select "WP white" from the list and hit OK
    3. Restart the program
  16. Process some words!

Wabi 2.1

https://archive.org/details/SolarisWabi_21

Wabi is a Windows compatibility layer that, more or less, installs a complete copy of Windows 3.1 in your Sun machine. I found it unstable and quirky, but it's also laughably hideous; you should really install it and tinker around.

  1. Mount Wabi ISO
  2. Open terminal
  3. su
  4. pkgadd -d /cdrom/wabi_2_1/Wabi_2.1/sparc/pkgs all
  5. Select 2 for a "heavy" install
  6. For the "parent Answerbook directory" give /opt/
  7. Answer yes to every prompt
  8. Install will complete. Enter 'q' if needed to exit
  9. Type eject in a terminal
  10. You will need a CD ISO with the entirety of the Windows 3.1 install files in it. You can create this yourself:
    1. From your normal OS, download "Windows 3.1 (Retail) (3.5-1.44mb)" from https://winworldpc.com/product/windows-3/31
    1. Extract all images into one folder (overwriting as needed)
    2. You should now have a folder with a ton of files, like SETUP.EXE and ARIAL.TT_ - NOT in subdirectories, but all in one big folder
    3. Using CDBurnerXP or some other CD authoring program, put all files in the root of a CD image
    4. Name the disc "win31" - you will have to figure out how to do this in your authoring program
    5. Save it as an ISO
  11. Mount the Windows 3.1 ISO you've created
  12. Start wabi: /opt/SUNWwabi/bin/wabi
  13. Ignore the registration prompt
  14. When prompted for the Windows install files, click Browse
  15. Browse to cdrom/Win31 and you should see setup.exe on the right side
  16. Click OK and proceed and Windows will be installed
  17. When the install is complete you'll get a Windows program manager. But you actually should close this immediately (you might have some trouble - go to the File menu and press X on your keyboard if the mouse is acting up) and let it restart, because it isn't quite done installing.
  18. After the restart, Windows is now properly running, for whatever that's worth.

DOOM

http://archive.org/sundgadoomv1.8

This is a perfectly serviceable vanilla Doom port that runs at full speed, although it has no sound under current QEMU limitations.

  1. From a terminal:
  2. mkdir doom
  3. cd doom (you want to do this because the tarball has no subdirectory)
  4. wget http://archive.org/download/sundgadoomv1.8/sundgadoomv1.8.tar.gz
  5. gzip -d sundgadoomv1.8.tar.gz
    1. If that gives error about the file not being the right format, then just do tar xvf sundgadoomv1.8.tar.gz
  6. mv sndserver nothanks (this is because qemu has no sound, so we have to get rid of the sound server or the game will crash)
  7. ./sunxdoom -2 to launch the game at double res. -3 will be nearly fullscreen
  8. The included wad is the shareware. Drop doom.wad or doom2.wad in there for the full version.

Adobe Acrobat Reader

You can find this in the 'acrobat' folder on the Framemaker 7.1 CD (mentioned further down). It seems to work fine.

Internet Explorer 5 / Outlook Express

It's IE5 and OE. You know what you're in for. You need to install a kernel patch to make this work.

Install System Patches

  1. Mount sun26gnu.iso
  2. cp /cdrom/sun26gnu/patches/2.6_Recommended.tar.z /export/home/sol/2.6_Recommended.tar.Z
    1. NOTICE THE CHANGE IN CAPITALIZATION. The Z in the second filename has to be uppercase.
  3. cd /export/home/sol/
  4. uncompress 2.6_Recommended.tar.Z
  5. tar xvf 2.6_Recommended.tar
  6. cp /cdrom/sun26gnu/patches/106391-01.tar.Z
  7. uncompress 106391-01.tar.Z
  8. tar xvf 106391-01.tar
  9. Type poweroff to shut down the system and wait until QEMU exits
  10. Start QEMU again
  11. Once you're at the login screen, go to Options and select textmode session
  12. Press enter to get a login prompt; log in as root
  13. Type init 1
  14. Wait a long time for the system to go to singleuser mode
  15. When prompted, enter the root password
  16. cd /export/home/sol/2.6_Recommended/105181-39
  17. ./installpatch .
  18.  Wait a very long time, agreeing to prompts periodically
  19. cd ../105633-64, then ./installpatch .
  20. cd ../105591-20, then ./installpatch .
  21. cd /export/home/sol/106391-01
  22. ./installpatch .
  23. When all finished, type poweroff to close and restart QEMU again

By the way, the 2.6_Recommended folder is a huge rollup that Sun released. If you want to do the whole thing, instead of going just to 105181-39, just run ./install_cluster. This takes about two hours.

Install IE / OE

Now you can do the actual install.

  1. You will need gzip to make this work; see the GNU Tools section
  2. You can get the IE5 archive from my tools ISO, or from Internet Archive:
    1. From CD: cp /cdrom/sun26gnu/apps/ie5setup_sunos5.gz
    2. From IA: wget .......
  3. gzip -d ie5setup_sunos5.gz
  4. chmod +x ie5setup_sunos5
  5. ./ie5setup.sunos5
  6. Follow the prompts with the default options
  7. Launch IE5: /usr/local/microsoft/bin/iexplorer
  8. Launch OE: /usr/local/microsoft/bin/oexpress

Lotus Notes

https://archive.org/details/lotusnotesdominorelease45unix

Lotus Notes preceded Microsoft Exchange / Outlook in the genre of "absolutely ghastly enterprise groupware horrorshow"; there are literally countless tales of the agonies it imposed on its users despite acres of organizations living and breathing to the beat of its drum.

  1. The installer is VERY weird. You use spacebar to cycle through options and tab to proceed
  2. The default settings are usually fine
  3. I accidentally deleted it and it takes forever to install so I forgot where the bin files are. You can find them somewhere in /opt/lotus/bin
  4. Good luck figuring out the app. Notes is notoriously a bureaucratic disaster
  5. It might be possible to actually use it as an email client, if you hate yourself

Programs that don't quite work

MAE

Macintosh Application Environment does not work, but may work in a future QEMU, so I'm leaving my instructions here for future reference. Besides, these are perfectly applicable on a real Sparcstation, which should work with no problems.

There are two versions of MAE I'm aware of, both on Internet Archive. Both hard crash the system and will corrupt your disk if you aren't careful, so I don't recommend trying this.


Version 1.0 - meant for a very old SunOS; crashes right after the window first appears. Includes a bunch of software demos
Version 3.0 - meant for a somewhat newer Solaris; crashes even quicker.

  1. For version 3, wget the .tar.gz from Internet Archive. For Version 1, just mount the CD, cd /cdrom/mae, and skip to the second part below
  2. gzip -d (filename).tar.gz
  3. tar xvf (filename).tar
  4. cd (filename)
  5. gzip -d solaris.tar.gz
  6. cd solaris

  7. From terminal, cd /cdrom/mae
  8. su to root
  9. ./INSTALL.SH
  10. Accept the license
  11. Press enter
  12. Type 'custom' if you're installing 1.0 and want the demos; otherwise just hit enter. These steps assume you entered custom.
  13. Default paths should be fine for each program

For version 3, you'll need to type all the following:
cat > /opt/apple/license.dat
FEATURE MAE3.0 AppleMAE 1.0 1-jan-0000 uncounted 85A3314BE100097B0A4D HOSTID = ANY
Press enter, then press CTRL+D

Now you can try to launch MAE: /opt/apple/bin/mae
Congratulations, you crashed your QEMU!

Adobe Framemaker

https://archive.org/details/framemakerunix

  1. mount CD
  2. from terminal, cd /cdrom/adobe_framemaker
  3. ./read.cd
  4. get through license agreement
  5.  pick an install directory like /opt/framemaker
  6.  at the "basic" or "custom" menu, pick "custom" if you want the example files
  7.  select 1
  8.  select 1
  9.  select 5
  10.  select B, B
  11.  select N
  12.  proceed with install - it will take a long time
  13.  when finished you'll be asked some questions; you probably want to select "user choice" for the Maker vs Structured question, and decline the rest of the questions
  14.  you'll be returned to the menu, select Q to quit
  15.  You'll need to set up licensing. Run /opt/framemaker/bin/fmsetupfls
  16.  Accept the defaults
  17.  For Company Name put whatever you want
  18.  Type add 1069-2235-2674-8084-6879-0288
  19.  Type done and agree to save
  20.  Agree to start the license server
  21.  If the message "License server is ready" appears, you're good to go.
  22.  Type /opt/framemaker/bin/maker
  23.  Nothing will seem to happen. Wait a bit and Framemaker will start to start, give a mode selector, then a splash screen, then die. Can't find any error logs

If this was interesting to you, or if you did something interesting with it, email me: articles@gekk.info

If you like my work, consider tossing me a few bucks. It takes a lot of effort and payment helps me stay motivated.

List of Articles