Installing SunPCI 1.3 software on Solaris 10: x86 PC single board computer in a SPARC machine

The SunPCI single board computer is an interesting piece of hardware. This was a self-contained x86 PC on a single card that could be installed in Sun Ultra machines, that along with supporting software allowed you to install any operating system that required x86 hardware and run it on your Sun SPARC machine alongside whatever you were natively running on SPARC, such as Solaris.

Rather than x86 emulation, this approach provided a real x86 CPU and everything you’d expect in a typical PC compatible machine, all on a single card.

I recently picked up a Sun Ultra 60 and was lucky that it came with a SunPCI card. After I did a fresh Solaris 10 install, I needed to find the SunPCI software and drivers which didn’t come with Solaris 10. I Googled for a while and found a link to an FTP site that had the SunPCI software… trouble is this was a couple of months ago, and I’ve since gone back to try and find the same site to include a link but I think the site has recently gone down…

The official product manuals are still available and can be downloaded from Oracle here:

https://docs.oracle.com/cd/F24621_01/index.html

Getting started with the install steps, I cd’d into the folder after I’d untar’d it, and then ran pkgadd -d to start the install:

After the install completed I got this error that the SunPCI driver was not installed:

cd into /opt/SUNWspci and run ./sunpci – this tells you to run sunpcload to load the drivers:

This error about not finding the .2100 driver files is mentioned in a few posts, and most suggest (like here) to just symlink the missing filename to the same corresponding named .280 files like this:

Now it starts up and prompts to create a new C: disk image:

Create a disk large enough for whatever you’re going to install:

Booting up the card, you can see the hardware specs from the BIOS screens as it boots up – this is a v1 (I think) SunPCI board with and AMD K6 at 300MHz:

The mounted cd-rom drive appears in the SunPCI machine as drive R:, so cd’ing into the root of the Windows 95 cd install cdrom here, and run setup.exe to start the install:

Windows 95 starts running!

After Windows 95 install, install the SunPCI drivers for Windows 95, these are to support the onboard video, etc on the SunPCI card :

At this point I have Windows 95 running on my SunPCI card! Apparently you can either run with a monitor connected directly to the VGA output on the board, or run within Solaris in a window sharing the same display. I haven’t tried the dedicated monitor option yet, I’ll look into this next!

Possibly my oldest source code, Sinclair BASIC from 1983 (and my original ZX Spectrum manual)

As everyone is receiving their shiny new ZX Spectrum Next computers from the successfully funded Kickstarter (that I’m kicking myself now for not backing), I’ve dug up my original copy of my ZX Spectrum BASIC Programming manual from 1983.

The ZX Spectrum was my first home computer, on which I had my first experience of programming. 37 years later, I’m a software developer still coding every day, and still fascinated with software development.

Although flipping through the manual itself is a historical treasure trove, there are a couple of pages which are possibly my first snippets of source code:

I’ve no idea what this was that I was working on (a question and answer game of some kind?), but it’s weird looking back at what was quite possibly some of the first code I wrote, 37 years ago.

Other hand written notes that are interesting, it looks like I was keeping a wanted list of games:

I don’t remember getting a joystick interface until much later, but I was keeping notes on available interfaces at the time. 16GBP for a Kempston joystick interface? Wow!

Plus some notes for a few games, Lords of Midnight, and some other games that I can’t remember playing:

Waiting now for the promised next production run of Nexts, and this time round I definitely plan to get one!

Replacing a failed CD-ROM in a Sun Ultra 60

The CD-ROM drive in the Sun Ultra 60 that I recently picked up from ebay lasted long enough to get an initial install of Solaris 10 installed, and then the tray refused to stay closed. I picked up a replacement used DVD drive from www.anysystem.com

It came with free plastic ducks. Yay!

One thing I’ve noticed is that used retro computer gear is often shipped with far more care and with better packing than new gear – good job on the packing anysystem.com:


Here’s a side view of what the Sun Service Manual for the Sun Ultra 60 calls the ‘Removable Media Assembly’, or RMA:

Here’s the front view before removing the face plate:

The front plate is removed by squeezing the left and right sides then it pops off. Remove the screws seen here on the front left and right:

… and then the whole RMA section slides out:

Undo the 2 screws on the left and right of the CD-ROM drive, remove the cables at the back and then slide it out of the assembly. Here’s the CD drive out, and the new DVD drive inserted:

RMA pushed back into place and front plate re-attached. Done!

NVRAM replaced in Sun Ultra 60, but no longer booting

I picked up a “new” (new old stock most likely since I don’t think these chips are still manufactured, and haven’t been for 10+ years) NVRAM timekeeper chip since the one in the Sun Ultra 60 I picked up cheap on ebay was dead. Luckily it seems to still have charge and is keeping the host id and mac address values between power off/on, so that’s great.

To reprogram the hostid and mac address that are stored in the NVRAM memory, following the guide here which seems to be the definite source for reprogramming Sun NVRAMs, I used the following steps to reconfigure the new chip. The value of 80 on line 2 is the machine type for Ultra models:

1 0 mkp
80 1 mkp
8 2 mkp
0 3 mkp
20 4 mkp
c0 5 mkp
ff 6 mkp
ee 7 mkp
0 8 mkp
0 9 mkp
0 a mkp
0 b mkp
c0 c mkp
ff d mkp
ee e mkp
0 f 0 do i idprom@ xor loop f mkp

The odd thing now is I’m running into this issue that I didn’t see before:


I’m not going to type in all this text so it’s searchable, but here’s the text for almost the same error (same issue, different version of Solaris perhaps?) :

Hardware watchdog enabled svc.configd: smf(5) database integrity check of:    
/etc/svc/repository.db
failed. The database might be damaged or a media error might have prevented it from being verified. Additional information useful to your service provider is in:
/etc/svc/volatile/db_errors
The system will not be able to boot until you have restored a working database. svc.startd(1M) will provide a sulogin(1M) prompt for recovery purposes. The command:
/lib/svc/bin/restore_repository
can be run to restore a backup version of your repository. See
http://sun.com/msg/SMF-8000-MY for more information.
Requesting System Maintenance Mode
svc.configd exited with status 102 (database initialization failure)

If I could get to a single user logon prompt then I could follow these instructions to repair, but the above error is just looping continuously, so I’m unable to do the repair.

When I first installed Solaris 10 from CDs, I got through the first couple of disks and then the cd drive would just eject any disk inserted, and won’t stay closed. I managed to complete the install by copying across ISO disk images and completing the install from those.

Since I can’t get a physical install cd to stay in the drive, I’m not sure I can boot recovery, so I’m kinda stuck. I think it’s time to pick up a replacement cdrom drive (might as well get a dvd drive) otherwise I’m kinda stuck in the water with this machine at this point.