How do you feel about this article? Help us to provide better content for you.
Thank you! Your feedback has been received.
There was a problem submitting your feedback, please try again later.
What do you think of this article?
Vintage UNIX laptop gets fitted with a SCSI-to-SD convert and a fresh O/S install.
In part one of this series, we took a first look at a vintage Tadpole SPARCbook 3, a rather rare third-generation RISC processor-powered UNIX laptop that is coming up for thirty years old. In this post, we now cover the assembly and configuration of a SCSI bus to SD card adapter, before proceeding to install a similarly vintage copy of the Solaris operating system.
Since the SPARCbook uses a smaller 2.5” form factor SCSI drive, we couldn’t use the same SCSI2SD board as used with the SPARCstation IPX; instead, a somewhat smaller version was needed and fortunately, this exists in the form of a design intended for use with Apple Powerbook laptops. However, while some vendors offered assembled boards, these all appeared to be out of stock and the only option available was to purchase a kit of parts and assemble this.
The design is based around a Cypress PSoC5LP in QFP100 package, which is supplied pre-programmed., but the source code is provided on GitHub, along with the PCB design files.
The QFP100 lead pitch is fairly small at 0.65mm and I have to admit that, as someone who in recent years has been doing much less assembly and doesn’t have an enormous amount of experience hand-building SMD, I was concerned that I might make a mess of this. But in any case, with flux and solder wick at the ready, decided to push on.
Unfortunately, I did create a few shorts and furthermore, lifted a few leads. However, fortunately, I was able to hand it over to my colleague, Callum, who has more experience in SMD rework and likely better eyesight also. Hence with some assistance, these issues were resolved, leaving just a few pins remaining shorted, which were all connected to a ground plane in any case.
Next, the other ICs were fitted, along with passives and SD card socket. The kit came supplied with both Mini and Micro USB sockets, with the former being fitted.
Ready for testing.
Unfortunately, it appears as though the board must still have had one or more shorts under the PSoC, as when it was fitted in the SPARCbook it causes the
probe-scsi OBP command to return an error. The board could be programmed using
scsi2sd-util, which meant that the PSoC was alive and at least USB connection was operational, but something was amiss with the SCSI bus pins.
Hence what you can see above is a completely new build using a second kit of parts. Sometimes that’s just the way it goes. It may have been possible to remove the PSoC, fit a new one and program this, with this route saving some money. However, at this stage in proceedings, it was decided better to just start afresh, with the benefit of nice new QFP100 pads.
The lesson here is to practice technique if you’ve not assembled an SMT board with fiddly parts in quite some time — and in my case, to also invest in reading glasses!
Above can be seen the SCSI2SD board with flex PCB and connector attached, fitted inside the bottom half of the caddy and with a plastic bag covering the PCB, so as to prevent against this shorting out on the EMC screening as it’s inserted into the SPARCbook. The reason for not fully reassembling the caddy at this point being that the plastic is very fragile indeed and retaining tabs can easily break during disassembly. Hence best to save this for until after it’s been fully tested.
The Powerbook variant is seemingly based on an older v5.x SCSI2SD design and so the utilities used with the v6 board fitted in the IPX could not be used. Hence the software utility sources for use with pre-v6 boards were cloned and built.
The exact same drive parameters were used in configuring the SCSI2SD as previously used with the SPARCstation IPX project, which results in a 2GB drive that the Solaris operating system will recognise. However, this time three such drives were configured, at SCSI IDs 3, 4 and 5, meaning filesystems located on one or both of the latter could be mounted onto the first for additional space. Alternatively, these drives could be installed with a different version of Solaris or another operating system altogether.
Above can be seen the configuration for the second 2GB drive, with the SCSI ID incremented, start sector offset and serial number incremented. With three such drives this leaves the possibility of later configuring a fourth, which could be an emulated CDROM, should we have an image of one that we’d like to use and not have to first burn this to a CDR.
It appears as though the earliest O/S release supported by SPARCbook 3 hardware is SunOS 4.1.3-u1, which corresponds to Solaris 1.1.1 Fortunately, we had media for this and so it was decided to install the venerable old release, rather than something more recent — but as of today, still quite ancient — such as Solaris 2.6.
Frustratingly, the first attempt stalled when it came to disk labelling. Suspecting that this might somehow be related to the O/S version, a Solaris 2.2 install was attempted next. This appeared more promising, as with version 1.1.1 it only seemed to detect the first drive, but for some reason, all three drives were detected as having a size of zero.
After much head-scratching and actually going back and re-reading the SPARCstation IPX post, it became apparent that we had missed the SCSI2SD configuration step where the config is saved as XML, two drive parameters not available in the GUI are then updated using a text editor and the file is read back into the GUI, before finally flashing the board once again.
After refitting the SCSI2SD board and booting from CDROM once again we were then able to proceed all the way through installation. However, upon restarting and booting from disk we were treated to a kernel panic and the system restarted itself. Not good.
Tadpole did distribute patch sets for various Solaris releases and it’s quite possible that the panic might be resolved with one of these patches, but it would presumably mean having to boot a recovery miniroot system and then find a way to load patches.
Given that Solaris 1.1.1-u1 is the very first release supported on the SPARCbook 3, it was decided to next try Solaris 2.2 again, since it’s possible that this would be better-supported out-of-the-box.
The Solaris 2.2 installer ran without any issues and after about 1.5 hours we had a complete install.
Upon rebooting and logging in to our freshly installed system, it was then possible to run UNIX commands.
It would appear that, much like the previous Solaris 1.1 install on the SPARCstation IPX, the Solaris 2.2 operating is not Y2K compliant. Hence we have another system which will have to live in the past, unless there are patches available to address this.
It also looks as though patches or drivers will be needed in order to run OpenWindows, as when an attempt is made to start this, the X11 server exits after a brief delay.
Now that we have the SPARCbook fitted with a SCSI2SD board and three emulated drives configured, it will be much more convenient for experimenting with different Solaris versions and patch sets etc. Since in addition to having three drives to install to, the SD card can be removed and quickly and easily backed up to an image file.
Further work is going to be required in order to get a graphical windowing environment up and running, plus there is also software that can be installed to add support for the PCMCIA slots and other laptop functionality, which Solaris does not provide native support for.
Finally, the hunt is still on for a SPARCbook battery pack — dead or alive — and if we manage to track one down or make any other interesting progress, there may be another future update.