/Solaris_8_x86_VM

Install and configure Solaris 8 x86 on VirtualBox (as a hobby)

Primary LanguageShell

pretty 
Guide

This (hobby) project list the steps that I've used to build a Solaris 8 x86 virtual machine in VirtualBox.
This guide was built from a number of sources that provided pieces of the puzzle, but not the complete picture of installing Solaris 8 x86 in VirtualBox.

Contents

Introduction

I've spent many years developing software in the Sun SPARC architecture, first on the SPARCstation 1 (Sun 4/60) up through the Sun Ultra 1 and 2. Those Sun systems were my first real taste of Unix and 32-bit computing.
I remember that a SPARCstation IPX was not fast enough to decode mp3 files. 1152x900 8-bit color was state-of-the-art graphics (24-bit frame buffers were available, e.g. cgtwelve, but they were: expensive, very slow, and not all of the software supported the 24 bit visuals).
There's some interesting reading about framebuffers here.

Once in a while, I need to do something in this olde OS, and using a virtual machine makes it easy. But, building the virtual machine had its challenges from:

  • finding installable ISO images,
  • finding recommended patches,
  • finding pre-built packages, and
  • making Solaris a little more GNU/Linux-like and "fixing" some broken things in the OS and the patches.

The process took longer than I expected but after getting things to actually work was pretty satisfying and fun.

Not Covered In This Guide

  • Graphics beyond VGA/SVGA (640x480 or 800Γ—600 4-bit color depth)
    Looks like it may be possible (and may be non-trivial). I just haven't looked into it yet; probably ties in with Guest Additions.
    Currently, I just ssh into the VM from my Fedora Desktop (running KDE) and when I actually need the Solaris 8 graphical desktop, the resolution and color depth are okay for my purposes.
    Sadly, all of the links for a third party SVGA driver are dead.
  • Guest Additions:
    Shared clipboard, drag and drop, seamless mode, shared folders from host system, and theoretically better graphics
    I haven't looked into it at all.

Acknowledgements and Attribution

I searched many dozens of sites for answers, the major sites are listed in these steps...
TODO :: This document is incomplete; someday I'll finish the last minor details.

What’s NEW πŸ”₯    πŸ”

Disclaimer    πŸ”

Software is provided "as is" and "with all faults." THE AUTHOR makes no representations or warranties of any kind concerning the safety, suitability, lack of viruses, inaccuracies, typographical errors, or other harmful components of SOFTWARE in this guide. There are inherent risks and dangers in the use of any software, and you are solely responsible for determining whether this SOFTWARE in this guide is compatible with your equipment and other software installed on your equipment. You are also solely responsible for the protection of your equipment and the backup of your data, and THE AUTHOR will not be liable for any damages you may suffer in connection with using, modifying, or distributing this SOFTWARE in this guide.

πŸ’₯ There are likely many bugs, errors, incomplete and missing features and documentation.

System & Software Requirements    πŸ”

RPMFusion’s VirtualBox

  • The VirtualBox version is 4.3.32-1 (rpmfusion-free on Fedora 21 x86_64, 4.1.13-100.fc21.x86_64).
    I've had later versions of VirtualBox crash and burn with some VMs I've built in the past. It's a problem because as far as I know, it's not possible to easily have multiple versions of VirtualBox installed on the same machine (like you can do with the gcc compiler collection, e.g.). There might be a way, but I haven't tried it and this version runs all of my VMs fine (although the creature comforts added in later versions are nice, but the VMs don't work).
  • September 2021 - The VM runs under the latest Fedora 34 release and VirtualBox (that is, after upgrading my Fedora release to Fedora 34 the Solaris 8 VM built from this guide ran without a hitch on the latest VirtualBox release).
  • Linux 5.13.13-200.fc34.x86_64
  • VirtualBox-6.1.26-2.fc34

Solaris 8 x86

  • The Solaris 8 x86 ISOs are available on archive.org.

    sample
    You should download all of the Solaris 8 x86 ISO images:
πŸ’Ώ Filename md5sum πŸ““ Notes
sol-8-u7-ia-v1.iso c243aa080e4c503f60cca48a8fd54e47 Boot with this image
sol-8-u7-ia-v2.iso 6c63bcbbf9e92ed946f1435f6bb89e5f 2nd install image
sol-8-u7-lang-ia.iso 6164e7e2d24f2291689f2b1f82fccc0b Optional languages image
sol-8-u7-install-ia.iso 91029b86d9eb130a73d83e7a67a817df This ISO image is
not used in these steps.
  • These ISOs can build a Solaris installation with the following characteristics after all of the steps have been performed in this guide (from /etc/release):

    Solaris 8 2/02 s28x_u7wos_08a INTEL

Everything up to this point (and following these steps) will allow you to build a working Solaris 8 x86 virtual machine. Networking should be fine (manual steps are necessary to configure the network). If you've selected SoundBlaster 16 as the Audio Controller in VirtualBox, you can listen to that nostalgic Sun cowbell sound (cat /usr/demo/SOUNDS/sounds/cowbell.au > /dev/audio) once again. But you'll be missing many tools that are taken for granted in a modern Linux system, for example:

  • a C compiler (Solaris 8 did not even ship with the K&R C compiler),
  • the ssh suite (the pseudo-devices /dev/random and /dev/urandom do not exist), and of course
  • the lack of any of the modern tools, e.g. openssl, openssh, and gnu tools are a notable examples.

Solaris 8 x86 Recommended Patch Cluster(s) & 112439-02

Sadly http://sunsolve.sun.com [sic] no longer exists, and finding patches can be difficult. While it's nicest to apply all of the recommended patches, the most important patch is 112439-02 which provides the pseudo-devices /dev/random and /dev/urandom.

It's best if you're able to find the Solaris 8 x86 recommended patch cluster and install the cluster for best results.

Next, either find and install the patch 112439-02. That patch is also included in the J2SE Solaris 8 x86 recommended patch cluster if you want to install that cluster in addition to the regular recommended patch cluster.

Pre-compiled Solaris 8_x86 Binaries

This is really a deal breaker for a usable system if you're unable to find any prebuilt packages.
Fortunately, tgcware is there to the rescue! I can't stress enough what a tremendous help and time-saver this was. There's a good selection of tools assembled (with various versions of some of the tools) and each package that was prebuilt is listed with its name, brief description, and its md5sum checksum.
This guide includes a simple script for getting the prebuilt binaries from tgcware.

Getting Started    πŸ”

This guide includes some package install scripts to help smooth the process and perform some task that are minor enhancements or missing in the original. It is recommended that you review each script and make any changes suited to your particular environment or needs. The scripts are named as 001-gzip.sh, etc., so that ls 0*.sh will list all of the scripts.

1. Download the Solaris 8 x86 ISO Images

Use your browser or use wget to get the ISOs, e.g.

2. Download the Solaris 8 x86 Recommended Patch Cluster(s)

After you have downloaded the necessary cluster patch and 112439-02, make a copy of the files and uncompress all of the files. It will make the process easier and the install scripts provided assume that the packages are uncompressed.

3. Download the tgcware Prebuilt Packages

This guide provides a simple installation script for acquiring the pre-built packages from tgcware.

  • Run the script get_tgcware.sh -h for usage instructions.

The packages selected are meant as a starting point to build the Solaris 8 x86 VM with a basic/sane configuration, e.g.:
bash, vim, gcc, and the openssl/openssh suite are installed along with other basic tools.
Please feel free to change anything to your specific requirements/tastes.

All of the packages from tgcware are .gz files except for the gzip package (for obvious reasons).
Like with the patch files, copy and uncompress all of the pre-built software files.

4. Review the bashrc and vimrc dot-file Templates and 0*.sh Scripts

I've include some of my simple shell and vim hacks to get things started.
Put a copy of those files in the same location as all of the other files and the 0*.sh scripts as well.

5. Building the "tools" CD πŸ’Ώ

I decided, after a few install iterations, the easiest thing to do was to create an ISO image containing all of the packages and scripts used to build the system.
Note, you don't actually need to burn a CD, just use whatever software to create a CD image file that can be mounted in VirtualBox. I used K3b. Solaris 8 will automatically detect when the ISO image is mounted through VirtualBox (unless it's in single user/maintenance mode).

VirtualBox Configuration    πŸ”

It's easier to show all of the screenshots of the VirtualBox setting that were used with notes as needed to clarify the process. After building the new machine (setting its name, memory, and hard drive), use these screenshots to perform the final setting that are needed. Items that are not show are settings that don't affect the outcome (e.g., whether the Shared Clipboard is enabled, etc.)

General

  • General setting
    Ensure the 32-bit version is selected.

System

  • Notice that the floppy disk is unchecked from the Boot Order: list, and
    2 gigabytes is pretty generous for these old architectures...
    System settings

  • I configured a 2 CPU system. I'm not sure how many CPUs Solaris 8 x86 supports.
    It's trivial to add CPUs to the system after it's built and see if they're seen by the Solaris 8
    kernel after the system is rebooted.
    Systen settings
    Based on What's New in Solaris 8 Operating Environment, Solaris 8 x86 will support 32 Gbytes of
    memory using PAE if you want to go above a 4 gigabyte memory configuration.

  • Systen settings

Display

  • I don't know if Enable 3D Acceleration actually helps (doesn't hurt, though).
    I believe Solaris 8 x86 ships with OpenGL 1.3, but I'm not sure how well integration is with VirtualBox.
    The video memory size is just a guess and should be okay.
    Display settings

Storage

  • Install/mount the Solaris 8 media sol-8-u7-ia-v1.iso, this is the boot media.
    Storage settings

Audio

  • You can configure the VM to support audio. I'm not 100% what this is as far as number of channels or bits.
    Audio settings

Network

  • Ensure that the adapter type is set PCnet-PCI II (Am79C970A) (others may work, I haven't tried).
    Multiple adapters should work, but the network will require a different configuration (I believe)
    and this guide does not cover those steps.
    Network settings

Serial Ports

  • No serial ports were configured.

USB

  • Enabled -- USB is supported according to the documentation.

Shared Folders

  • No folders are configured.

Installing: First Boot    πŸ”

It's suggested that you read through these steps before booting the VM for the first time.
This is where a few non-obvious steps are taken to ensure a good build.

  • Start the virtual machine. You should see a brief booting screen followed by the following screen --
    First Boot 01
    Press F2 to continue the booting process.
    The Scanning Devices screen with a text-based progress bar will be displayed.
                incomplete device list

❗❗ Review the Identified Devices screen.

  • firstBoot-002
    Ensure that it looks as close to this as possible and that none of the expected devices are missing or
    "generically" identified (notice the missing ADS Sound Blaster and PCI: Ethernet controller entry). ↙️
                incomplete device list
    If the Identified Devices screen looks like the above, then the most likely cause is that there's an incorrect
    setting in the VM. Power off the VM and review the above settings screens πŸ†™.
    After making any changes, boot the VM again and ensure it's correct.

  • If everything looks okay, then press F2 to the next steps of the booting process.
                incomplete device list

  • After the driver is loaded the Boot Solaris screen appears.
    Navigate using the arrow keys, then press SPACE to select the CD device to boot Solaris 8.
    firstBoot-002
    Press F2 to boot Solaris 8 and start the installation.

  • After the driver is loaded the Boot Solaris screen appears.
    select-interactive

    Select 1. Solaris Interactive and press ENTER to boot the kernel.
                incomplete device list

  • Perform the installation - select the language, etc. (only the interesting screens will be shown).
    firstBoot-002

    install-001
    Press F2 to continue the installation.

  • You'll need to tell the installer about the video device.
    A lot of steps are necessary to get a usable video configuration.
    install-002
    Press F2 to continue the installation.

    install-002
    Press F2 to continue the installation.

Window System Configuraton    πŸ”

πŸ“· It's recommended that you take a snapshot of the VM here...

  • Video Device Selection There are a lot of video devices listed, unfortunately only the first two are available.
    I selected the second option just to get a little more useable screen (even with the panning).
    install-002
    Press F2 to continue.

  • Monitor Type Selection
    I think any MultiFrequency monitor will work, just pick the first.
    install-002
    Press F2 to continue.

  • Screen Size Selection
    Any size should work, I selected a 17-inch.
    install-002
    Press F2 to continue.

  • Virtual Screen Resolution Selection
    Because panning was selected, select the panning size.
    install-002
    Press F2 to continue.

  • kdmconfig:: View and Edit Window System Configuration
    The installer will allow you to continue.
    install-002
    Press F2 to continue.

  • kdmconfig:: Window System Configuration Test
    Make sure everything works.
    test-001
    Press F2 to perform the display test.

    test-002

  • If you see the above image, then the Window System Configuration was successful.
    Note, not all of the colors work (agree with their label), but this is how it looks.
    If the display doesn't work, appears to hang, or is incorrect you can wait about 20 seconds and the screen will revert to the View and Edit Window System Configuration screen.
    If everything looks fine, click in the VM's window and scroll to the big rounded Yes button to start the Solaris Install Console.

Solaris Install Console    πŸ”

πŸ“· It's recommended that you take a snapshot of the VM here...

  • The installation from this point requires the use of the mouse and follow the images. no changes
    Click Continue.
    no changes
    Click Continue.
    no changes
    Click Continue.
  • Enter the VM's hostname.
    no changes
    Click Continue.
  • Enter the VM's IP address for the network device.
    Note that the address must agree with the network configuration that the bridged adapter is connected to on the host.
    no changes
    Click Continue.
    no changes
    Click Continue.
  • Enter the appropriate Netmask.
    no changes
    Click Continue.
    no changes
    Click Continue.

Confirm the Network Settings    πŸ”

  • Confirm the setting and click Continue.
    confirm

    Kerberos Security Settings (not used)
    no changes
    Click Continue.
    no changes
    Click Continue.

Select Name Service    πŸ”

  • Select None and press RETURN.
    confirm

    confirm
    Click Continue.

Select the Time Zone    πŸ”

  • Nothing special in this section, just follow the prompts and set to your preferences...

Solaris Interactive Install    πŸ”

  • Click Continue.
    confirm

  • Select Geographic Regions
    I selected everything, but choose to suit you tastes... confirm
    Click Continue.

  • Select Software
    Select Entire Distribution plus OEM support; it's ensures you'll have everything needed for the system. confirm
    Click Continue.

  • Select Disks
    The installer should have pre-selected c0d0,
    Click Continue.
    confirm
  • Click Auto Layout.
    confirm
  • You can split up the OS filesystem layout here if you want, but this is the simplest approach.
    Click Continue.
    confirm

Customize the File System    πŸ”

  • The default provided by the installer is too small and won't accomidate the prebuilt software, etc.
    Click Customize.

    confirm

  • Solaris FS history, FYI
    For long forgotten reasons (at least I don't remember πŸ˜‡), every vendor had their own particular
    way of dealing with file systems on hard drives. Sun microsystems was no different. A Sun hard drive
    is split into 8 partitions and each partition is generally "hard-wired" with a specific use. As a good
    rule of thumb, you should not change their meanings. In simplist terms:

    • the root / filesystem should be installed on partition 0;
    • the swap filesystem was partition 1; and
    • partition 2 always mapped to the whole drive (don't change this value).
      This is generally used when the whole drive is a single partition.

    These should not be changed unless you have a very specific need to do so. Partitions 3 through 7
    were freely configurable, and usually partition 7 contained the /export/home filesystem.

  • Start by shrinking the /export/home filesystem to 100 MB.
    This will stop the installer from complaining when you increase the size of other partitions.
    Generally, this guide requires about 1.5GB in the root filesystem, but if you want to add
    additional packages and tools, you'll need to size it accordingly.
    Below are the setting that were used for this VM.
    When you are satisfied, pan down and press OK, and then press Continue. confirm

  • Mount Remote File Systems?
    Nothing to do here, so press Continue.

πŸ“· It's recommended that you take a snaphot of the VM here...

  • Review the Configuration
    Review your configuration and press Begin Installation to install Solaris 8 x86. reviw

Select Auto Reboot and the Installation Will Begin...

       reviw
       ...right after you click the OK in one more information box after the above dialogue πŸ˜‰.

Some Installation Caps:

  • The installation to the first reboot takes about Β½ hour or so. Your mileage may vary...
    cap  cap

Installing: Reboot    πŸ”

  • Solaris Device Configuration Assistant
    After the first part of the installaton has finished, the system is rebooted to the
    Solaris Device Configuration Assistant.
    Rebooted screen
    Press F2 to continue with the device identification.

Enable DMA Fix    πŸ”

  • Solaris disables DMA and this makes disk access noticably slower in the VM.
    Enable DMA using the following steps (starting from the Identified Devices screen):
    firstBoot-002
    Press F2 to load the ata.bef driver.

  • At the Boot Solaris screen, press F4 to enter the Boot Tasks screen.
    Select View/Edit Property Settings and press F2.
    reboot-002

  • Select the ata-dma-enabled Entry
    Navigate to the ata-dma-enabled entry, press SPACE (or 'X') then press F3 to edit its value to "1".
    Change DMA property
    After entering "1", press F2 twice, then press F3 to return to the Boot Solaris screen.

  • Boot Solaris (2nd time)
    Now we're ready to boot from the hard drive.
    Select the DISK: device and press F2 to boot from the newly installed Solaris 8 VM. Select DISK boot device

Launcher Issue Fix    πŸ”

On systems with a limited display (like the VM in VirtualBox), there's an annoying Launcher bug where
the GUI will fail and leave the system in a reboot only state. We'll fix that in maintenance mode in order
to get past this step and finish the installation.

  • At the <<< Current Boot Parameters >>> screen and at the Select (b)oot or (i)nterperter:
    prompt, enter b -s and press RETURN to boot into maintenance mode.

  • There's no root password set yet, so just press RETURN to get to a shell prompt.

  • Enter vi /etc/init.d/webstart and look for the line CUI=.
    Change the line to read CUI=yes. Save the file and quit the editor.

  • Enter exit to leave the shell to continue the boot into multi-user mode.

  • Root password
    After the VM boots (and after the RPC timed out message appears), enter the Root password and confirm.

  • Mount the Second CD
    Since the installation is not complete, the installer will ask where the media is for the 2nd CD. Enter 1
    and press ENTER. The installer will always eject the current media and prompt you to insert the CD/DVD
    for the Solaris 8 Software 2 of 2 (2/02 Intel Platform Edition).
    Use the VM's VirtualBox Setting to eject the current CD media and mount the sol-8-u7-ia-v2.iso media.
    insert DISK #2
    The message "Reading Solaris 8 Software 2 of 2 (2/02 Intel Platform Edition)..." will be displayed.

  • Finish the installation following the prompts. No special steps are necessary, pretty straightforward.

Reboot after the installation is complete.    πŸ”

  • Press RETURN to reboot!
    REBOOT!





<style type="text/css"> h1 {font-family: "Comic Sans MS", Arial, Helvetica, sans-serif; color: #0000F0;} h2 {font-family: "Comic Sans MS", Arial, Helvetica, sans-serif; color: #0000D0;} h3 {font-family: "Comic Sans MS", Arial, Helvetica, sans-serif; color: #0000D0;} </style>

okay

πŸ“· It's recommended that you take a snaphot of the VM here...