0% found this document useful (0 votes)
15 views15 pages

Build Your Own SPARC With QEMU and Solaris

Uploaded by

petermiser365
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views15 pages

Build Your Own SPARC With QEMU and Solaris

Uploaded by

petermiser365
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Build your own SPARC workstation with

QEMU and Solaris


Created by Matt G

https://learn.adafruit.com/build-your-own-sparc-with-qemu-and-solaris

Last updated on 2023-08-29 04:06:42 PM EDT

©Adafruit Industries Page 1 of 15


Table of Contents

Overview 3

Set up QEMU 5

Create a disk image 5

Install Solaris 7

Install Solaris part 2 11

User Setup 13

©Adafruit Industries Page 2 of 15


Overview

Back in the late 80s and through the 90s, Unix workstations were super powerful,
super cool, and super expensive. If you were making 3D graphics or developing
applications, you wanted a high-performance workstation and Sun made some of the
best ones. But unless you worked for a huge company, university, or government,
they were probably too expensive.

More than twenty years later, we have much more powerful and affordable
computers, so let's emulate the old systems and see what it was like to run some of
the coolest computers you could buy in the 90s.

©Adafruit Industries Page 3 of 15


Sun workstations started out running SunOS, based on BSD Unix (like NeXTSTEP), but
in 1991 they replaced it with Solaris, based on Unix System V Release 4 (like AIX and
HP-UX).

The first version of Solaris was actually Solaris 2, and to try and make sense they
went back and named SunOS Solaris 1, but in the operating system it still refers to
itself as SunOS. So Solaris 1 is SunOS 4, and Solaris 2 is SunOS 5, and Solaris 2.6 that
we'll run is SunOS 5.6. Confused yet?

Ignore the naming conventions and just know that we'll run Solaris 2.6 from 1997. For
comparison, at that time a PC would be running Windows 95 and Apple released Mac
OS 8 the same year.

You'll need:

• The latest version of QEMU, for this guide version 3.1.0 worked well.
• A system to run it on - Windows, Linux, or Mac
• Solaris 2.6 ISO
• For added fun, a Sun Type 5 keyboard converted to USB with Drakware's
Sun2USB or DIY with the SPARC keyboard specification and a small Arduino like
the Trinket M0

©Adafruit Industries Page 4 of 15


Set up QEMU

Rather than using a virtual machine to run the x86 version of Solaris, we'll use QEMU
to emulate the actual SPARC hardware used by Sun machines back in the 90s. SPARC
stands for Scalable Processor Architecture and is a RISC (reduced instruction set
computing) design.

For Windows, you can download the latest binary from the QEMU site (). I used the
20190218 build.

For macOS you can use homebrew to install it:

brew install qemu

If you're running Linux, your distribution might have an older version of QEMU so
you'll need to get the source and compile it. That goes a bit beyond this guide so take
a look at the download page () for more info.

Create a disk image


The disk format that QEMU uses is called qcow2. We'll make a 9.1GB disk, that's
plenty to hold Solaris and have a lot of room left over.

qemu-img create -f qcow2 sparc.qcow2 9663676416

Disks in Solaris need to be labelled before they can be used, so we can't install just
yet. First we need to boot into Solaris to format and label the disk we just made.

qemu-system-sparc -M SS-5 -m 128 -drive file=sparc.qcow2,bus=0,unit=0,media=disk -


drive file=solaris_2.6_598_sparc.iso,bus=0,unit=2,media=cdrom,readonly=on

Let's take a look at the options:

qemu-system-sparc - run the emulator for a 32-bit SPARC system

©Adafruit Industries Page 5 of 15


-M SS-5 - emulate a SPARCstation 5

-m 128 - 128 MB of RAM

-drive file=sparc.qcow2,bus=0,unit=0,media=disk - Use our disk image, put it on SCSI


bus 0, unit 0

-drive file=solaris_2.6_598_sparc.iso,bus=0,unit=2,media=cdrom,readonly=on - Use


the Solaris 2.6 ISO as a CD drive, SCSI bus 0, unit 2

Once you run that, the OpenBIOS ROM should start first and bring you to a prompt,
type:

boot cdrom:d -vs

The system should boot into single user mode and bring you to a root prompt (#).
First we run a few commands to prep the system, then we'll format the disk.

# drvconfig
# disks
# format

Solaris only knows about a few specific disk types, so we need to specify our own
geometry.

Specify disk (enter its number): 0


Specify disk type (enter its number): 16

©Adafruit Industries Page 6 of 15


Enter number of data cylinders: 16381
...defaults are fine here...
Enter number of heads: 16
...
Enter number of data sectors/track: 63
...
Enter disk type name (remember quotes): Qemu9G

Now label the disk - it's really easy:

format> label
Ready to label disk, continue? y

All set. Now type q to quit the format utility and type reboot to restart the system. It's
time to install!

Install Solaris
The reboot should take you back to OpenBIOS. Boot from the CD again but this time
into the installer:

boot cdrom:d

©Adafruit Industries Page 7 of 15


Time to install! For the most part, the defaults are fine, but there are a few places
where you'll want to make changes.

When you reach the networking options, pick a hostname and check Yes for
Networked. Use 10.0.2.15 for the IP address, QEMU has its own internal network.

Name service: Other

Part of a subnet: No

©Adafruit Industries Page 8 of 15


Now set the time zone, time, and date. When you get to "Allocate Client Services" just
click Continue. Pick an additional language if you'd like one.

Choose how much you want to install. End User is enough to run it, Developer will let
you build things, and Entire Distribution will just install everything. If you really want
to, you can Customize the installation but it's easy to break things so it's best to stick
with the available software groups.

©Adafruit Industries Page 9 of 15


It should auto-select the available disk for you but if not you can select it and click the
right arrow to add it to the selected disks.

When it asks about preserving data you can click continue. Click Auto Layout and con
tinue, the defaults are fine. Click continue on the remote file systems page.

Now you can review the last few options. If it looks good click Begin Installation.

Make sure you choose Manual Reboot when prompted - we need to change some
settings or else it won't boot.

©Adafruit Industries Page 10 of 15


Once everything is finished you should see "The finish script log `finish log` is located
in /var/sadm/system/logs after reboot." followed by a root prompt (#).

Install Solaris part 2


Now that the installation has finished we need to adjust a few settings to make
everything work, we'll use the console to do it. Below, ^D means push Ctrl+D.

First we'll set the SCSI flags so it'll boot properly.

# cd /a/etc
# cat >> system
set scsi_options=0x58
^D
#

Next we need some network settings. Let's add a default router, the address that
QEMU uses is 10.0.2.2.

# cat > defaultrouter


10.0.2.2
^D
#

Now configure DNS. The nameserver is 10.0.2.3.

©Adafruit Industries Page 11 of 15


By default, Solaris doesn't use a nameserver at all so we need to enable it. The first 3
lines make that change to nsswitch.conf and save it in a new file, replace the old file,
then set the right permissions.

Next we tell it what nameserver to use by adding a line to the resolv.conf file.

# sed 's/hosts:.*files/hosts: files dns/g' nsswitch.conf > nsswitch.conf.new


# mv nsswitch.conf nsswitch.conf.old && mv nsswitch.conf.new nsswitch.conf
# chmod 644 nsswitch.conf

# cat > resolv.conf


nameserver 10.0.2.3
^D

All set! Time to reboot, just type reboot and hit enter.

©Adafruit Industries Page 12 of 15


User Setup

The root account has full access to everything, so it's a very good idea to set a
password. It's also a good idea to set up a normal user account. We'll do that next.

Here's the login screen, go ahead and log in as root with the password you just set.
Once you push enter or click OK, it will ask which desktop environment you'd like. CD
E is the default and a good choice, OpenWindows is the older environment.

©Adafruit Industries Page 13 of 15


Welcome to CDE!

A bunch of windows will open, you can close them all or take a look if you like. The H
elp Viewer will give you an introduction to the CDE desktop.

The panel on the bottom has everything you need, each icon will launch something or
the arrow on top will expand a tray with more things to run. We want to create a new
user, so open up Applications, go to System_Admin, then run Admintool.

©Adafruit Industries Page 14 of 15


Go to Edit, Add, and add a user for yourself. The defaults are fine for most of it. For
the home directory path at the bottom you'll want to use /export/home/youruser. Click
OK, then exit Admintool. Click exit down at the bottom of the panel and OK to log out.
Now you can log in as your new user and the system will prompt you to set a
password. The mouse needs to be in the password window to focus it. Once set you'll
be able to login.

You'll get all the windows opening again, plus one that wants you to register. You can
just click Never Register.

When you want to shut down, click Exit again, then go to Options and Command Line
Login. Press enter to get a console login prompt, login as root, then type shutdown
now. After that you can quit QEMU.

Next time you start you can leave out the CD part:

qemu-system-sparc -M SS-5 -m 128 -drive file=sparc.qcow2,bus=0,unit=0,media=disk

That's it! Enjoy your Solaris system!

©Adafruit Industries Page 15 of 15

You might also like