Tru64 Unix On A DEC Alpha PWS 500au


A while ago I got a DEC Alpha Personal Workstation 500au off Ebay so I could learn VMS. After being disappointed with VMS I decided to try Tru64 Unix 5.1A. The reason I'm making this file is because I've read a bunch of stuff on the net about how Tru64 5.1A cannot be installed on the PWS, so I figured since I did it I'd post my information so others can get it working too and benifit from my knowledge of it.

The Setup

Well, VMS was never able to boot from an IDE CDROM drive and I believe would only install on a SCSI harddrive, so I was kinda worried the CDROM drive I had would go to waste if I installed Tru64. Luckily I was wrong :). Tru64 Unix had absolutely no problem booting and installing from an IDE CDROM.. err actually a DVD+-R/W drive. Here is my complete setup:

  • DEC Alpha Personal Workstation 500au (both SCSI and IDE) 500MHz Alpha -march=ev56
  • SRM based/Firmware is 7.2-1 March 6, 2000
  • NEC DVD+-R/W model ND-2510A 2.15 (IDE/ATAPI)
  • IBM DDRS-39130D DC2A - ~9 gigabyte SCSI harddrive
  • Matrox Millenium Video Board (unsupported by Tru64 so I only get 640x480 16 colors)
  • 256MB RAM

The Boot Process

Anyone who has a DEC Alpha probably knows this already, but just incase... when you turn on the PWS, if you have the SRM boot prompt you can type: show dev. This will give a list of devices on your system, some of them you can boot from. On my system it will show my harddrive as dkc0.0.0.1009.0 and my cdrom drive as dka0. So to boot Tru64 from the CDROM to install it, I put the CD in the drive and typed: boot dka0

After the system was installed, to boot it I simply type: boot dkc0

The install of Tru64 is actually pretty simple so I don't think I need to explain it.

License Issues

I guess Tru64 requires licenses to have more than one user on the system. SCO Unixware 7 is also like this unfortunately. I found this out after making an account on the box for me and my friend. When we tried to telnet in, it would complain, "Too many users logged on already". To get around this I installed an SSH daemon called Dropbear. Luckily Tru64 comes with a CC compiler which is actually pretty decent for compiling opensource stuff. I was able to compile Dropbear after doing a couple tricks :).

First of all, Dropbear wants zlib. The zlib that comes with Tru64 5.1A (this btw is from 2001 I believe) is very old. So first I downloaded the source code for zlib from, compiled, and installed it. After that I typed the following commands in order to update the old zlib and make the .h files findable (I struggled with getting dropbear's ./configure script to find them and then gave up):

mv /usr/lib/libz.a /usr/lib/libz.a.bak ln -s /usr/local/lib/libz.a /usr/lib/libz.a ln -s /usr/local/include/zconf.h /usr/include/zconf.h ln -s /usr/local/include/zlib.h /usr/include/zlib.h

Dropbear then compiled. When I did make install, it refused to install the dirs. So I had to do the mkdir's and chmod them 755 by myself. I then went into the Makefile and commented out the lines that make the dirs such as: #$(INSTALL) -d -m 755 $(DESTDIR)$(bindir)

Yeah, that's sad. But here is the sadder part (get ready to laugh at me). When I was creating the keys for RSA and DSA keys for Dropbear, it bitched that it couldn't access /dev/random to create random numbers for the keys. I wasn't sure if /dev/random is just not a feature of Tru64 and didn't feel like googling around to figure out where it if it even existed (there isn't much Tru64 info on the net.. at least not like Linux, FreeBSD, or even Solaris) so I typed: ln -s /dev/zero /dev/random. Pretty sad eh? Well it works and this computer is inside my network so security is no problem for me anyway :).

The GNU Compiler

One of my goals of having a Tru64/Alpha box is to benchmark it against other computers like the Sun Netra with different compilers. So anyway, I figured I might as well install the GNU C compiler and see if it's faster than Tru64's CC. Unfortunately binutils would not compile with CC so I had to install GCC first. I tried GCC, 2.8.0, 2.95.3, 3.0.4, 4.1.0, and 3.4.6. GCC 3.4.6 was the only one that would compile with CC. After installing it, GCC 3.4.6 was able to compile binutils. I'm currently trying to get GCC 3.4.6 to compile GCC 4.1.0.

Copyright 1997-2023 - Michael Kohn