Sunday, 25 July 2021

HP-UX 11i v1 (32-bit PA-RISC) on QEMU - System Information

HP 9000 Family

In the early 1980s Hewlett-Packard (HP) introduced the HP 9000 family (Wikipedia), the initial offerings were re-badges of existing workstation lines featuring machines based on the Motorola 68000 and HP FOCUS processors. In 1991 the HP 9000/700 series was introduced, based on HP's Precision Architecture RISC processor (HP-PA or PA-RISC) (Wikipedia). The earlier 32-bit PA-RISC 1.0 processors had appeared in HP's mainframe and server systems back in the mid-1980s, but this was the first appearance of PA-RISC in a workstation line, and used the improved PA-RISC 1.1 processors. This marked the final stage in the consolidation of HP's non-x86 computer lines on to a single processor architecture. In 1996 HP introduced its first systems using the 64-bit PA-RISC processors, including the HP Visualize C160 and C180 workstations (both model 9000/780).

HP-UX 11i CDE logon screen in QEMU

Other than some early systems, and some systems based on the acquired technologies from Apollo Computers (these could also run Apollo Domain/OS), the HP 9000 line shipped running versions of HP's UNIX operating system: HP-UX (Wikipedia). Initially based on AT&T UNIX System III, and later UNIX System V, HP-UX was a major commercial UNIX from the 1980s through the 2000s. The rise of the open source UNIX-like operating systems and the market reception of Itanium (IA-64) servers would ultimately see HP-UX relegated to a maintenance role, with the last release being HP-UX 11i v3 in 2007, the last update in 2020, and support ending on PA-RISC in 2021 and on IA-64 in 2025.

QEMU

Emulates a HP 9000/778/B160L , normally known as a HP Visualize B160L workstation (HP Visualize B132L, B160L, B180L PA-RISC Workstations - OpenPA.net).

Emulated system specification:

  • CPU: 1x PA-7300LC at 250 MHz (32-bit PA-RISC)
  • RAM: default 512 MiB, up to 3.0 GiB (hardware supported up to 1.5 GiB)
  • Disk controller(s): SCSI C895 Fast Wide LVD (Symbios Logic 53c895 chipset)
  • Network controller(s): Ethernet (DEC Tulip 21142/43)
  • Graphics: HPA208LC1280 aka. Artist.

Since the B160L is based on a 32-bit PA-RISC 1.1 processor, the latest version of HP-UX that can be used is HP-UX 11i v1 (see HP-UX Unix Operating System for PA-RISC - OpenPA.net), later versions only support 64-bit PA-RISC and Itanium systems.

Monday, 5 July 2021

Linux for PA-RISC (32-bit) on QEMU - System Information

HP PA-RISC

In the mid-1980s Hewlett-Packard (HP) introduced the first version of its Precision Architecture RISC processor (HP-PA or PA-RISC) (Wikipedia) in its mainframe and server product lines. In 1991 the HP 9000/700 series was introduced based on the improved PA-RISC 1.1 processors. In 1996 HP introduced its first systems using the 64-bit PA-RISC 2.0 processors, including the HP Visualize C160 and C180 workstations (both model 9000/780).

In the 1990s PA-RISC was one of the main RISC processors seen in UNIX workstations, along with AXP Alpha, PowerPC/POWER, SPARC and MIPS. The phasing out of the PA-RISC systems, in favor of Itanium (IA-64) based HP Integrity systems (Wikipedia) during the 2000s mean there is an interest in replacing ageing hardware with emulation options.

As well as the proprietary UNIX from HP (HP-UX), PA-RISC systems can also run the Linux, NetBSD and OpenBSD open source operating systems.

Linux on PA-RISC

The Linux on PA-RISC project added support for PA-RISC system starting with Linux 2.6, and the Debian and Gentoo Linux distributions have support for PA-RISC.

While official support for PA-RISC ended with Debian Linux 5 (lenny), the Debian for PA-RISC port does provide an un-official  network installation CD image for the current release. However the current Debian Linux for PA-RISC ports repository is for Debian Linux "unstable" (sid), which can cause problems with installation.

For the purposes of this exploration I'm going to use the Debian Linux 5 (lenny) distribution DVD, this means the results presented here will be easily reproducible. For those curious about PA-RISC Debian Linux 10, there is a pre-made disk image at Qemu - Linux PARISC Wiki that might help.

Sunday, 27 June 2021

HP Tru64 UNIX on AlphaVM-Free - System Information

AlphaVM-Free

A commercial Alpha AXP system emulator from EmuVM, the AlphaVM family of system emulators provide a means to emulate members of the Tsunami family of Alpha based systems from Compaq and HP. Mainly targeted at providing a migration option for existing Alpha systems running OpenVMS or Tru64 UNIX, allowing existing applications to be moved to newer, and potentially more efficient, hardware. A free version of AlphaVM (AlphaVM-Free) was offered as an evaluation and hobbyist product complementing the supported commercial offering (AlphaVM-Pro). Apparently due to licence abuse (see The sad state of Alpha emulators (for OpenVMS) - Raymii.org) the free version has been since replaced with a low cost option (AlphaVM-Basic).

To have a look at the emulator's capabilities and how well it manages to run HP Tru64 UNIX, I've setup a legacy AlphaVM-Free system in a Debian Linux 10 (buster) virtual machine and installed HP Tru64 UNIX 5.1B. Since all versions of AlphaVM are related the other versions will show similar behavior, although there is some additional flexibility with tuning the emulation available in the commercial product.

Note that AlphaVM requires the CMPXCHG16B instruction to be available on the host. In my case this meant I had to update the VirtualBox configuration for the Debian Linux 10 host virtual machine to allow access to this instruction (see virtualbox.org: View topic - hot to enable CMPXCHG16B instruction).

Friday, 25 June 2021

Linux for SPARC64 on QEMU sun4u - System Information

Linux for SPARC

The SPARC processor (Wikipedia) was the third processor to be supported in the Linux kernel (after x86 and Alpha) back in the mid 1990s. In his 1997 M.Sc. thesis: "Linux: a Portable Operating System", Linus Torvalds discussed the integration of Alpha and SPARC into the Linux kernel and the challenges of developing a portable operating system.

Looking for early Linux distributions supporting SPARC finds:

  • RedHat Linux 4.0 released 3-Oct-1996: 2.0.18 kernel supporting sun4c and sun4m.
  • RedHat Linux 6.0 released 26-Apr-1999: 2.2.5 kernel supporting sun4c, sun4m and sun4u
  • Debian Linux 2.1 (slink) released 9-May-1999: 2.0.35 kernel for sun4c and sun4m, and 2.2.1 kernel for sun4u

These Linux distributions were targeted at Sun's SPARC systems and did not support SPARC systems from other vendors, unless they were clones of Sun's systems.

In 1987 Sun Microsystems introduced its first 32-bit based SPARC systems, and Sun introduced its first 64-bit SPARC (UltraSparc) systems in late 1995 with the Ultra 1 and Ultra 2 workstations and their server variants, the Ultra Server 1 and Ultra Server 2.

The 64-bit SPARC specification had been released by SPARC International in 1993 and HAL Computer Systems (Wikipedia), a subsidiary of Fujitsu, brought the first SPARC64 workstations to market in 1995, with the release of the HALstation 300 series systems.

Monday, 21 June 2021

Linux for Alpha on AlphaVM-Free - System Information

AlphaVM-Free & Alpha Linux

The AlphaVM family of system emulators from EmuVM, provide a means to emulate members of the Tsunami family of Alpha based systems from Compaq and HP. Mainly targeted at providing a migration option for existing Alpha systems running OpenVMS or Tru64 UNIX, this emulator is also capable of running Linux for Alpha.

The Alpha (Wikipedia) was the first non Intel x86 platform to have support integrated into the Linux kernel back in the mid 1990s. Linus Torvalds discusses the integration of Alpha and SPARC into Linux and the challenges of developing a portable operating system in his 1997 M.Sc. thesis: "Linux: a Portable Operating System". While the retirement of Alpha systems by Compaq and HP means the remaining hardware is aging, and Linux has been ported to many more systems since, there are still some use cases for Linux on Alpha. But moving away from potentially unreliable and increasingly uncommon hardware has become very desirable. One option for accomplishing this is using a system emulator.

The AlphaVM system emulator is one such possibility and a free version of AlphaVM (AlphaVM-Free) was offered as an evaluation and hobbyist product. This complemented the supported commercial offering (AlphaVM-Pro) which provides increased capabilities and full support. Apparently due to licence abuse (see The sad state of Alpha emulators (for OpenVMS) - Raymii.org) the free version has been since replaced with a low cost option (AlphaVM-Basic).

To have a look at the emulator's capabilities and how well it manages to run Linux, I've setup a legacy AlphaVM-Free system in a Debian Linux 10 (buster) virtual machine and installed Debian Linux 5 (lenny) from the distribution DVD.

Note that AlphaVM requires the CMPXCHG16B instruction to be available on the host. In my case this meant I had to update the VirtualBox configuration for the Debian Linux 10 host virtual machine to allow access to this instruction (see virtualbox.org: View topic - hot to enable CMPXCHG16B instruction).