Subject: "Tru64 Unix"
I recently got an interest in old Unix systems. I donāt know why but thereās something so intriguing about the enormous workstations that powered the 90ās internet. Whether its Sunās Solaris or SGIās Irix, all of them had their own set of quirks that made them unique.
One that doesnāt get a lot of mention is DEC's Alpha lineup. Iāve recently been fascinated by these computers and want to share a part of it with you guys. Tru64 is a product from DEC who are the creators of the Alpha CPU architecture. They made beastly computers for their time. One such example is the EV6, a processor released in 1998, which had 4 Cores each running at a whopping 833 MHz.
These machines were built to accommodate the growing computing demands of the early internet era. The time when giants like Amazon and Microsoft were just rising to power. The OS comes with multiple discs providing the software needed to get your application up and running.
Emulation Irritation
So Alpha CPUs arenāt easy to emulate. Shocker. Most of the free solutions out there are subpar or just outright donāt work. A lot of them arenāt updated for newer hardware and Windows updates break a lot of the workarounds that some of these software need to work. Qemu would be the first emulator to come to mind but the core for it hasnāt implemented some of the proprietary firmware code that Tru64 requires.
There are a handful of emulators available currently but most are paid commercial options. AlphaVM was one such product. I was graciously provided an evaluation copy for it and everything worked fine on the install.
The only downside was that I couldn't get display output on AlphaVM. You would have to configure networking so you can remote desktop through the display server. No matter how hard I tried though, I couldn't get it to work between my host machine and Tru64.
While I was researching, I stumbled across a brand new Github project called 'es40' and it felt like a miracle. It emulated a S3 Trio64 GPU so you can get direct output and the best part? It's open source. No licensing issues whatsoever. Granted, it is still in development and you can run into unintended errors but from my experience, things went without a hitch.
Setting Up Tru64
This was pretty easy. The whole set-up is done mainly through command line. A serial connection through PuTTY is established. I emulated a ES40 server with a single core and 256MB of RAM. I ran the JIT copy of es40 emulator and it worked pretty nicely. It wasn't super fast but I was impressed it was even running, especially with the display output.
Tru64 was pretty easy to configure all things considered. I decided to rock with the quick set-up. There were two main things I had trouble with and those are PAKs and NTP. Tru64 is commercial software if you didnāt know. It wasnāt open source so it required Activation Keys. I thought this was going to be annoying but thankfully, archive.org had some stored.
What is the legality of this? Iām not sure. HP isn't going to kick down your door because you emulated some 20 year old computer that they don't maintain anymore. Tru64 is abandonware at this point and I donāt think there is any real harm in emulating it. I wonāt link to any specific files but you can search it up and find it easily if you so desire.
Another problem I had was with the NTP protocol. For some reason, entering any NTP server to timekeep caused the set-up to hang for me. I donāt think there are any timeout systems for failing processes so it will infinitely hang. Just be careful to skip it during the install.
If the setup did hang after, you can hard reset the emulator. You can boot it up again to Hard Disk and it will hang during boot. Press press Ctrl + C each time the system freezes while booting and you can skip that one process alone.
Networking Hiccups
Networking, especially with older devices is such a fuss. es40 uses npcap to monitor packets and distinguish the traffic coming out of the emulated server. I donāt have terrific experience with Networking. I only really know basic networking and don't know much about tools like Npcap.
These tools are needed for enabling something called promiscuous mode on your NIC. It allows your NIC to capture packets that are addressed to the emulator. The problem is, the drivers for most WiFi cards, especially on Windows, block this mode unless they are in something called āmonitoringā mode. However, wired NICs (Ethernet cards) basically have this feature built in and easy to access so itās not even a problem for them.
The reason why Iām explaining all this was because I spent the better half of an evening to try and get all this to work. I failed in my attempt though but I'm sure someone better than me can get all of this to work.
The Not-So Common Desktop Environment
Ok. Maybe the heading is a lie. The Common Desktop Environment was the de facto standard interface for most if not all the Unix systems (excepting Irix). Getting the emulator to run CDE was the biggest goal for me. Thereās something so unique about it that I canāt quite put my finger on.
CDE runs on top of the existing X11 Server. Anyone even with a lick of experience in Linux ricing will immediately know what I'm talking about. X11 lets apps provide drawings and the server manages the screen and user interactions. The cool part about it is that you can pipe the X11 display out through a network and use the computer remotely which is pretty cool.
I love how different the interfaces were on operating systems back then. Things were so diverse compared to the more minimalist rounded corners of today. Not that it is an inherently bad thing but it killed creativity for ease-of-use and legibility. This tier of computers just wasnāt available to the public so anybody who had access to it had to know their way around the CLI. The CDE desktop was just a complementary feature.
CDE featured a pretty Serif fonts and gorgeously detailed wallpapers for what was 1994 or so. The aesthetics are pretty much unmatched and I wish I could get more GUI applications to show off but unfortunately, I couldn't load anything since networking was a bust. The splash screen at boot up 'dthello' is my favourite. The cyan blue background is so calming.
AdvFS
Tru64 offers two file systems during set-up. It offers the default Unix file system as well as the Advanced File System, shortened to AdvFS. It offers some of the most resilient file system capabilities of itās time. It had a lot of forward facing features that have only been implemented much later by other operating systems, especially consumer-grade products.
It was released in the mid-to-late 90s while other operating systems only implemented similar features in the early 2000s. AdvFS supported journaling for fast recovery of files, a feature that was only implemented in MacOS in 2002. AdvFS also supported the quick creation so you can restore the computer in case of failure.
Another impressive feature it supported was the defragmenting of hard disks while there were active users. It was pretty much the precursor to more modern file systems such as ZFS and BtrFS which tend to focus on the same set of features. These ensure data safety especially needed in servers for storage or running an application.
T.A.M.P Stack (and a small history lesson)
Outside of the installation discs, Tru64 also comes with multiple other discs that provide software to run on the system. A lot of these include more programmer oriented software such as a Java 1.X runtime and RedHat GNUPro packages that contain gcc and other tools for compiling C and C++ code. Translators for other languages could be ported over as well through third-party packages.
My biggest interest was with the āXAMPā stack. These came in the 4th Disc āSources for Open Source Components.ā It is pretty much the quintessential application to run as it is very accurate for itās time. The Internet was just starting to grow and everybody wanted a slice of it. Large companies like Sun Microsystems and Silicon Graphics were pretty much kings when it comes to making fast computers.
These companies sold both the hardware and software which entails high costs, both upfront and ongoing. Therefore, many turned to open-source software such as Apache for hosting web pages, MySQL for databases and PHP for backend code. Linux was becoming a rising star, providing the reliability of enterprise software while being totally free. Windows was finally transitioning to the NT kernel, allowing for server-grade reliability on what is commodity hardware.
All of this lead to the slow decay of specialized unix computing. Intel and AMD were both releasing faster chips year after year and that pretty much became the nail in the coffin for specialised RISC architectures.
Clustering
Clustering is one of Tru64's strongest advantages. Each and every deviceās storage would be part of a collective file system. Each node in the cluster would share the load. Special PCI cards were needed to allow fast interconnects between devices to ensure proper pooling.
In a way, it is kind of a precursor to modern RDMA technologies. Both bypass restrictions from the operating systems and talk to the hardware directly. Storage can be pooled together but CPU and other memory resources were independent to each machine. It is much smaller in scale compared to RDMA though, with only 6-8 computers being available for clustering.
Other Unix Systems at the time supported similar features but they were far inferior. IBMās AIX allowed for the copying of contents from a failing node to a working one. Others from Sun and HP would experience failures even if one of the system in the cluster went down, defeating the point of clustering. TruCluster employed a lot of robust high availability features which made it very ahead of its time.
Unfortunately, es40 doesnāt support this feature since it doesnāt have the necessary PCI cards emulated to connect the SCSI controllers. Therefore, I canāt actually show it to you but I thought it was an interesting enough topic to finish this article on.
My Thoughts
I really loved exploring this rabbit-hole of an operating system. I always loved weird and obsure software and this was no exception. As an avid Linux user, there is a world of difference between Tru64 and most modern distros. However, a lot of things felt very familiar and I was even shocked thinking about how certain software existed even back then.
This was one of the most interesting articles I've written in a long time. I loved doing research and finding manuals and CD Boxes and other stuff that were associated with it. I dug through the depths of the internet to find out more about this strange little operating system. I hope to leave some of the configuration files on my Github when I find time so others can also follow suit.