>I’ve got my HP 9000 Model 340 booting over the network from an HP 9000 Model 705 in Cluster Server mode and I’ve learned some very unsettling things about HP-UX and its filesystem.
>Boot-up video at the end of the blog, where I play a bit of the original version of Columns.
The "context dependent filesystem" concept is a bit trippy, but I think it's a pretty neat solution to "some systems need a their own version of a file, other files ought to be universal".
Thanks for this. Brings back so many memories of the long hours spent in computer rooms with HP 9000s and RS/6000s back in the 90s. Seeing that SAM interface made me shiver :)
It's great that there are folks like you preserving this history
Nowadays NetBSD offers something similar to "context depended filesystem", i.e. a special form of symbolic links that can points to different locations, according to wide range set of attributes: from domainname via machine_arch to gid.
IMHO, HP-UX had hands down best written man pages I've ever seen any UNIX commercial or free. And I've been working quite many with.
All man pages were well written, nicely formatted easy to read and almost all came with often valuable examples giving quick enough understanding to check usage most often. That has been absolutely the thing that I've missed other *nix systems since.
But there are too many things were done so nicely and made it nice to maintain with HP-UX that it's not worth trying to remember and list all. But unfortunately shell environment was not match to convenience GNU tools Linux had from beginning. That is without making effort to install (read: compile from source for quite long time) those HP-UX if that was allowed. With university computing center that no problem, but telco side it was big nono -- not without getting product owner permission first :/
But just an example Ignite-UX was one of my favourites with HP-UX. The simplicity using a one simple command with few options bootable DAT tape that could then be used to either recover whole running fully functional system or clone that developed system first to staging lab and then up to production with ease was great time saver major upgrades and migrations. None of the Linux bare metal backup systems I've tested have been able to recover exactly same disk layouts, usually LVM part is poorly done. As has been VmWare p2v migration tools also btw.
That Linux LVM that Sistina did first before Red Hat bought them, is implemented quite exactly what HP-UX had for some time then.
My significant experiences on HP-UX were HP Vault, one the very first approaches of doing containers in UNIX, and going through 32 bit to 64 bit transition.
My first thought, upon reading that these were being given away, and seeing "Cambridge" was that they should go to the "Centre for Computing History".
I've been trying to visit this place with my daughter for 4 (or more?) years now, every time we've been in the area (roughly once per year), I forget that it isn't open on Mondays (which is the day we typically have a couple of hours before leaving the area), walk up to the doors only to realise (again) I've made the same mistake, and my daughter and I walk away disappointed.
If it's the model I'm thinking of, it's basically a 9000/712. An easy way to get a PA-RISC workstation from someone who doesn't realize what it actually is. :)
Oh my! Thanks for the memories - HPUX was my first workstation class unix operating system (sili-g's were too expensive). I remember downloading and compiling gcc on hpux. THe ideas of compiling a compiler with itself blew my mind!
Oh hey, a 9000/340 in the Cambridge area. Almost certainly that originated with the university's Engineering department, who back in the 1990s got rid of a lot of these machines that they had been using as X terminals. My notes say they had six diskless workstations to each server, and kept the monitors to use with the replacement machines, which would explain why this person's 9000/340 has no disk or monitor.
Some truly terrible quality pictures of the one I used to own are at https://www.chiark.greenend.org.uk/~pmaydell/hardware/tiroth... (I have long since disposed of it). Some of the people who got the machines had a play around with getting Linux booting on them. Amazingly some of that code is still in the kernel, eg drivers/net/ethernet/amd/hplance.c so it might even still work ;-)
The IT dept installed and compiled tons of software for the various systems and AFS had an @sys string that you would put into your symbolic link and then it would dereference to the actual directory for that specific system architecture.
My university was similar (SGI, HP-UX, IBM AIX, Sun, Linux, SCO), but they used NFS to mount home dirs local to the computer clusters, which wasn't as cool because it wasn't possible to mount home dir volumes remotely like an AFS campus. They also, unfortunately, used original NIS which could easily extract all password hashes of all users with a simple `getent passwd`. I proceeded to run John The Ripper against a dump of everyone and found 60 passwords in 30 seconds, including several tenured professors.
Those were the days when portability and longevity were important and there wasn't as much of a monoculture or incompatible code/language features churn.
It's not, it's way more simplified as 9p is as close to platonic ideal of Unix I/O turned into RPC as possible, whereas AFS included considerable infrastructure for example to efficiently distribute larger read-only datasets.
You could, partially, achieve something similar by layering multiple services in plan9, but often it would mean switching over to a different protocol at some point.
Context Dependent Filesystems were one of those weird, wonderful experiments in Unix' early days that never ultimately escaped its home world. Every vendor Unix had a few. HP were true engineers in those days, so HP-UX had more than a few. But the general corporate attitude toward sharing and standardization was very different. "We want to be standards-based, but we also need some special sauce to differentiate us from the competition."
For example, HP-UX was a BSD-based Unix implementation that tried very very hard to pretend it was UNIX System V (R2/R3). "No, no really! I'm not one of that university kids!" But BSD was a far better foundation, vastly better networking etc., so that's what it was underneath.
Unix of the era was billed as a multi-user shared system, but it wasn't always great at that. It desperately lacked much of the quiet robustness and workhorse-ness of the proprietary minicomputer OSs of the day (e.g. VMS, AOS, HP's own MPE). No vendor did more to fill that gap and make multi-workload a workaday reality. HP added a fair-share scheduler (FSS), the first multi-system high availability clustering in Unix (MC/ServiceGuard), and scores of refinements along the way. As a result, in practice HP-UX was admirably hardened, and it ran more users and more concurrent competing jobs per system than any other Unix system could. Often by a wide margin.
In ~1995 HP doubled down on FSS with Process Resource Manager (PRM), which could guarantee various "shares" (weighted priorities) of total machine resources. First commercial Unix ancestor to today's containers. In production ~6 years before BSD jails and Virtuozzo, ~10 years before Solaris Zones, ~18 years before Docker/Linux containers, and ~20 or more years before container were mainstream production vehicles.
Unfortunately for HP, its workstations (the ones OP acquired) weren't nearly as popular with universities and developers as Sun Microsystems', so you tended to find HP-UX in commercial production—larger servers, more workload, but smaller numbers. And thus smaller ability to promote its innovations or be selected because of them.
Hat tip to steely-eyed missile man Xuan Bui and the many unsung engineering stars of HP in the Unix era.
>Unfortunately for HP, its workstations (the ones OP acquired) weren't nearly as popular with universities and developers as Sun Microsystems', so you tended to find HP-UX in commercial production—larger servers, more workload, but smaller numbers. And thus smaller ability to promote its innovations or be selected because of them.
Columbia University during the 1990s was a SunOS/Solaris shop (and, before then, VAX <https://www.columbia.edu/cu/computinghistory/>). My first year, AcIS (Academic Information Systems, IT for faculty/students) set up a single computer lab in the engineering building <https://cuit.columbia.edu/computer-lab-technologies/location...> with HP workstations. Although they booted into HP-UX and its Motif window manager, MAE provided Mac emulation and, in practice, was usually used because most students were unfamiliar with X Window, of course.
The boxes used the same Kerberos authentication as the Sun systems, so I presume I must have been using context-dependent filesystems for binaries when logging into the systems locally, or when I chose to remote log into one specifically from elsewhere (just for novelty's sake; I preferred the Sun cluster, or the Sun box dedicated to staff use).
MAE—the raison d'etre for the HP boxes—was slow and unstable, and by the time I graduated Macs, I believe, replaced HP, which made the lab consistent with what most of the other computer labs had.
20 comments
[ 3.3 ms ] story [ 55.0 ms ] thread>I’ve got my HP 9000 Model 340 booting over the network from an HP 9000 Model 705 in Cluster Server mode and I’ve learned some very unsettling things about HP-UX and its filesystem.
>Boot-up video at the end of the blog, where I play a bit of the original version of Columns.
It's great that there are folks like you preserving this history
For details see https://man.netbsd.org/symlink.7 - section Magic symlinks at very end of manual.
All man pages were well written, nicely formatted easy to read and almost all came with often valuable examples giving quick enough understanding to check usage most often. That has been absolutely the thing that I've missed other *nix systems since.
But there are too many things were done so nicely and made it nice to maintain with HP-UX that it's not worth trying to remember and list all. But unfortunately shell environment was not match to convenience GNU tools Linux had from beginning. That is without making effort to install (read: compile from source for quite long time) those HP-UX if that was allowed. With university computing center that no problem, but telco side it was big nono -- not without getting product owner permission first :/
But just an example Ignite-UX was one of my favourites with HP-UX. The simplicity using a one simple command with few options bootable DAT tape that could then be used to either recover whole running fully functional system or clone that developed system first to staging lab and then up to production with ease was great time saver major upgrades and migrations. None of the Linux bare metal backup systems I've tested have been able to recover exactly same disk layouts, usually LVM part is poorly done. As has been VmWare p2v migration tools also btw.
That Linux LVM that Sistina did first before Red Hat bought them, is implemented quite exactly what HP-UX had for some time then.
My significant experiences on HP-UX were HP Vault, one the very first approaches of doing containers in UNIX, and going through 32 bit to 64 bit transition.
I've been trying to visit this place with my daughter for 4 (or more?) years now, every time we've been in the area (roughly once per year), I forget that it isn't open on Mondays (which is the day we typically have a couple of hours before leaving the area), walk up to the doors only to realise (again) I've made the same mistake, and my daughter and I walk away disappointed.
We'll make it one day!
Some truly terrible quality pictures of the one I used to own are at https://www.chiark.greenend.org.uk/~pmaydell/hardware/tiroth... (I have long since disposed of it). Some of the people who got the machines had a play around with getting Linux booting on them. Amazingly some of that code is still in the kernel, eg drivers/net/ethernet/amd/hplance.c so it might even still work ;-)
My university in the 1990's had hundreds of Unix workstations from Sun, HP, DEC, IBM, SGI, and Linux.
It was all tied together using this so everything felt the same no matter what system you were on.
https://en.wikipedia.org/wiki/Distributed_Computing_Environm...
https://en.wikipedia.org/wiki/Andrew_File_System
The IT dept installed and compiled tons of software for the various systems and AFS had an @sys string that you would put into your symbolic link and then it would dereference to the actual directory for that specific system architecture.
https://docs.openafs.org/Reference/1/sys.html
https://web.mit.edu/sipb/doc/working/afs/html/subsection7.6....
"On an Athena DECstation, it's pmax_ul4; on an Athena RS6000, it's rs_aix31" and so on.
Those were the days when portability and longevity were important and there wasn't as much of a monoculture or incompatible code/language features churn.
You could, partially, achieve something similar by layering multiple services in plan9, but often it would mean switching over to a different protocol at some point.
* https://en.wikipedia.org/wiki/HP-UX
11.0 was released in 1997, with latest 11.31 going EOL 2025-12-31.
For example, HP-UX was a BSD-based Unix implementation that tried very very hard to pretend it was UNIX System V (R2/R3). "No, no really! I'm not one of that university kids!" But BSD was a far better foundation, vastly better networking etc., so that's what it was underneath.
Unix of the era was billed as a multi-user shared system, but it wasn't always great at that. It desperately lacked much of the quiet robustness and workhorse-ness of the proprietary minicomputer OSs of the day (e.g. VMS, AOS, HP's own MPE). No vendor did more to fill that gap and make multi-workload a workaday reality. HP added a fair-share scheduler (FSS), the first multi-system high availability clustering in Unix (MC/ServiceGuard), and scores of refinements along the way. As a result, in practice HP-UX was admirably hardened, and it ran more users and more concurrent competing jobs per system than any other Unix system could. Often by a wide margin.
In ~1995 HP doubled down on FSS with Process Resource Manager (PRM), which could guarantee various "shares" (weighted priorities) of total machine resources. First commercial Unix ancestor to today's containers. In production ~6 years before BSD jails and Virtuozzo, ~10 years before Solaris Zones, ~18 years before Docker/Linux containers, and ~20 or more years before container were mainstream production vehicles.
Unfortunately for HP, its workstations (the ones OP acquired) weren't nearly as popular with universities and developers as Sun Microsystems', so you tended to find HP-UX in commercial production—larger servers, more workload, but smaller numbers. And thus smaller ability to promote its innovations or be selected because of them.
Hat tip to steely-eyed missile man Xuan Bui and the many unsung engineering stars of HP in the Unix era.
Columbia University during the 1990s was a SunOS/Solaris shop (and, before then, VAX <https://www.columbia.edu/cu/computinghistory/>). My first year, AcIS (Academic Information Systems, IT for faculty/students) set up a single computer lab in the engineering building <https://cuit.columbia.edu/computer-lab-technologies/location...> with HP workstations. Although they booted into HP-UX and its Motif window manager, MAE provided Mac emulation and, in practice, was usually used because most students were unfamiliar with X Window, of course.
The boxes used the same Kerberos authentication as the Sun systems, so I presume I must have been using context-dependent filesystems for binaries when logging into the systems locally, or when I chose to remote log into one specifically from elsewhere (just for novelty's sake; I preferred the Sun cluster, or the Sun box dedicated to staff use).
MAE—the raison d'etre for the HP boxes—was slow and unstable, and by the time I graduated Macs, I believe, replaced HP, which made the lab consistent with what most of the other computer labs had.