Skip to content

OpenVMS installation guide

Remy van Elst edited this page Apr 30, 2024 · 14 revisions

Here is a guide for Linux users with some tips on how to install OpenVMS successfully. If you have some experience with installing OpenVMS, you can skip the section "Installing OpenVMS" and the following ones.

Obtaining the OpenVMS installation media

Currently you have only one option how to get the installation media for free, which is the VSI Community License program. Fill out the form here and you'll get an e-mail with login credentials to the VSI SFTP server.

Login into the server and download the file named ALPHA0842L1.ZIPEXE from it. The name of the file and its format may confuse you, but although it's a self-extracting archive for OpenVMS Alpha, it can be extracted normally using unzip or an archive manager on any operating system, extracting ALPHA0842L1.ISO from it.

Alternatively if you have the ALPHA084.ISO from the now concluded HPE Hobbyist Program, you can use that (upgrade to 8.42L1 is possible if you decide to later).

Building AXPbox

Pre-built releases are provided here: https://github.com/lenticularis39/axpbox/releases - but compiling yourself is recomended to get the latest code and features. If you haven't build AXPbox already, we recommend you compiling with Clang for better performance. Also install SDL if you want to use the emulated Cirrus VGA adapter and libpcap if you want to use networking before building. Then you can configure and build AXPbox similarly to this:

$ mkdir build && cd build
$ cmake .. -DCMAKE_BUILD_TYPE="Release" -DCMAKE_C_COMPILER="clang" -DCMAKE_CXX_COMPILER="clang++" -DCMAKE_CXX_FLAGS="-O3 -march=native"
$ make -j$(($(nproc) + 1))

On Windows you can use Visual Studio, but you must select the Visual Studio Cmake generator instead of Ninja (the default):

image

Configuring AXPbox

Create a folder where the configuration file, the ROM files and the disk image will reside. For the purpose of this tutorial we'll also expect that the axpbox executable is in your PATH. Then change into this directory and invoke the configuration utility:

$ axpbox configure
We are now going to set up an initial configuration file for the Emulator.
This file will be saved as es40.cfg in the current directory.

For more detailed information to the current question, answer '?'.
Do you want to have a GUI? (none,SDL,X11) [none]:

It's better to install without GUI, since the keyboard emulation can be buggy.

How much RAM memory do you want to emulate? (32M,64M,128M,256M,512M,1G,2G,4G,8G) [256M]:

256 MB is enough for the installation of OpenVMS.

Where can the SRM ROM image be found? [rom/cl67srmrom.exe]:

You will download the SRM ROM image later, so you can just keep the defaults.

Where should the decompressed ROM image be saved? [rom/decompressed.rom]: 
Where should the Flash ROM image be saved? [rom/flash.rom]: 
Where should the DPR EEPROM image be saved? [rom/dpr.rom]:
How many CPU's do you want in the system? (1-4) [1]:

One CPU is enough for the installation - running with more can be buggy.

Do you want the ICACHE on the CPU's enabled? (yes,no) [no]: no

OpenVMS doesn't require the use of icache.

Do you want to skip memtest on SRM start? (yes,no) [no]: yes

This is a hack that skips the memtest part of the boot process. It should work with this setup.

What should the reported speed of the CPU's be in MHz? (10-1250) [800]: 
What telnet port should serial 0 listen? (1-65535) [21264]: 
What program should be started automatically for serial 0? [putty]:
What arguments should the program use to connect to the serial port? [telnet://localhost:21264]:
What telnet port should serial 1 listen? (1-65535) [21265]: 
What program should be started automatically for serial 1? [putty]: none

The first serial port is used as the system console. Using PuTTY for it is probably the best choice, since it handles OpenVMS without glitches. The second one isn't needed - it will be removed later.

Do you want a floppy controller in your system? (yes,no) [no]:

There's no use for the floppy controller.

Do you want to add any disks to the IDE controller? (none,0.0,0.1,1.0,1.1) [none]: 0.0
How should disk0.0 be emulated? (file,device,ramdisk) [file]: 
What file should disk0.0 use?: disk.img
Should disk0.0 be a disk or a cd-rom device? (disk,cd-rom) [disk]: 
Should disk0.0 be a read-only disk? (no,yes) [no]: 
Would you like to set a disk model number?: 
Would you like to set a revision number?: 
Would you like to set a serial number?:

Add the system disk to the IDE controller (the file will be created later).

Do you want to add any disks to the IDE controller? (none,0.1,1.0,1.1) [none]: 0.1
How should disk0.1 be emulated? (file,device,ramdisk) [file]: 
What file should disk0.1 use?: /data/installation-disks/VMS/ALPHA8.4/ALPHA0842L1.ISO
Should disk0.1 be a disk or a cd-rom device? (disk,cd-rom) [disk]: cd-rom
Would you like to set a disk model number?: 
Would you like to set a revision number?: 
Would you like to set a serial number?:

Add the installation ISO to the IDE controller (adjust the path to the file according to its location on your machine).

Would you like to add another PCI card to the system? (none,nic,scsi,wide scsi) [none]: 
Where would you like printer output to go?:

The configuration file is now generated (it is saved into the current directory as es40.cfg). You can now open it in your favorite editor and make some changes to it:

sys0 = tsunami
{
  memory.bits = 28;
  rom.srm = "rom/cl67srmrom.exe";
  rom.decompressed = "rom/decompressed.rom";
  rom.flash = "rom/flash.rom";
  rom.dpr = "rom/dpr.rom";

  cpu0 = ev68cb
  {
    speed = 800M;
    icache = true;
  }

  serial0 = serial
  {
    port = 21264;
    action = "putty telnet://localhost:21264";
  }

  serial1 = serial
  {
    port = 21265;
    action = "putty telnet://localhost:21265";
  }

  pci0.15 = ali_ide
  {
    disk0.0 = file
    {
      file = "disk.img";
      cdrom = false;
      read_only = false;
    }

    disk0.1 = file
    {
      file = "/data/installation-disks/VMS/ALPHA8.4/ALPHA0842L1.ISO";
      cdrom = true;
      read_only = true;
    }

  }

  pci0.7 = ali
  {
    mouse.enabled = false;
    vga_console = false;
  }

  pci0.19 = ali_usb
  {
  }
}

Remove the second serial (it's not needed for the installation and you would have to connect to it for AXPbox to start the emulation). At the end, your configuration file should look like this:

sys0 = tsunami
{
  memory.bits = 28;
  rom.srm = "rom/cl67srmrom.exe";
  rom.decompressed = "rom/decompressed.rom";
  rom.flash = "rom/flash.rom";
  rom.dpr = "rom/dpr.rom";

  cpu0 = ev68cb
  {
    speed = 800M;
    icache = true;
  }

  serial0 = serial
  {
    port = 21264;
    action = "putty telnet://localhost:21264";
  }

  pci0.15 = ali_ide
  {
    disk0.0 = file
    {
      file = "disk.img";
      cdrom = false;
      read_only = false;
    }

    disk0.1 = file
    {
      file = "/data/installation-disks/VMS/ALPHA8.4/ALPHA0842L1.ISO";
      cdrom = true;
      read_only = true;
    }

  }

  pci0.7 = ali
  {
    mouse.enabled = false;
    vga_console = false;
  }

  pci0.19 = ali_usb
  {
  }
}

Creating the disk image and downloading the ROM image

Now you need the disk image to which OpenVMS will be installed:

$ truncate -s 5G disk.img

Then the SRM has to be downloaded from the internet and saved to the path specified in the configuration file:

$ mkdir rom && cd rom
$ wget http://raymii.org/s/inc/downloads/es40-srmon/cl67srmrom.exe
$ cd ..

Installing OpenVMS

Start the virtual machine:

$ axpbox run

Some output will appear in the terminal and a PuTTY window with the serial console should open, showing the SRM loading. After it finishes checking the system, the firmware prompt should appear:

AlphaServer ES40 Console V7.3-1, built on Feb 27 2007 at 12:57:47
P00>>>

Here you can run various commands, for example show the devices:

P00>>>show device
dqa0.0.0.15.0              DQA0                       disk.img
dqa1.1.0.15.0              DQA1               ALPHA084 2L1.ISO
dva0.0.0.1000.0            DVA0

You can see that the drive with the installation CD is called DQA1. Now boot from it and wait until the OpenVMS installation menu appears (if you use the HP version, you also have to enter the time and date before it):

P00>>>boot dqa1
(boot dqa1.1.0.15.0 -flags 0)
block 0 of dqa1.1.0.15.0 is a valid boot block
reading 1230 blocks from dqa1.1.0.15.0
bootstrap code read in
base = 200000, image_start = 0, image_bytes = 99c00(629760)
initializing HWRPB at 2000
initializing page table at ff56000
initializing machine state
setting affinity to the primary CPU
jumping to bootstrap code


    OpenVMS (TM) Alpha Operating System, Version V8.4-2L1
                    Copyright 2016 VMS Software, Inc.





    Installing required known files...

    Configuring devices...



    ****************************************************************

    You can install or upgrade the OpenVMS ALPHA operating system
    or you can install or upgrade layered products that are included
    on the OpenVMS ALPHA distribution media (CD/DVD).

    You can also execute DCL commands and procedures to perform
    "standalone" tasks, such as backing up the system disk.

    Please choose one of the following:

        1)  Upgrade, install or reconfigure OpenVMS ALPHA Version V8.4-2L1
        2)  Display layered products that this procedure can install
        3)  Install or upgrade layered products
        4)  Show installed products
        5)  Reconfigure installed products
        6)  Remove installed products
        7)  Find, Install or Undo patches; Show or Delete Recovery Data
        8)  Execute DCL commands and procedures
        9)  Shut down this system

Enter CHOICE or ? for help: (1/2/3/4/5/6/7/8/9/?)

Enter 1 to start the installation. A message with patch notes may appear before the next prompt. :

Enter CHOICE or ? for help: (1/2/3/4/5/6/7/8/9/?) 1
...
Do you want to INITIALIZE or to PRESERVE? [PRESERVE]

Since we're doing a new installation, we want to initialize the hard drive. As you have seen in the SRM prompt, the hard drive's device name is DQA0:

Do you want to INITIALIZE or to PRESERVE? [PRESERVE] INITIALIZE


    You must enter the device name for the target disk on which
    OpenVMS ALPHA will be installed.

Enter device name for target disk: (? for choices) DQA0

Enter volume label for target system disk: [ALPHASYS]

    The target system disk can be initialized with On-Disk Structure
    Level 2 (ODS-2) or Level 5 (ODS-5).  (? for more information)

Do you want to initialize with ODS-2 or ODS-5? (2/5/?)

ODS-5 supports longer file names, and unless you want to mount the disk in a OpenVMS VAX system, it should be the better choice.

Do you want to initialize with ODS-2 or ODS-5? (2/5/?) 5

Do you want to enable hard links? (Yes/No/?) Yes


    You have chosen to install OpenVMS ALPHA on a new disk.

    The target system disk, DQA0:, will be initialized
    with structure level 5 (ODS-5).
    Hard links WILL be enabled.
    The disk will be labeled ALPHASYS.
    Any data currently on the target system disk will be lost.

Is this OK? (Yes/No) Yes

    Initializing and mounting target....

    Creating page and swap files....

Now some standard questions regarding your system configuration follow - there's no need to describe them in detail here. A question whether to register PAKs now follows:

...
    If you have Product Authorization Keys (PAKs) to register,
    you can register them now.

Do you want to register any Product Authorization Keys? (Yes/No) [Yes]

You can register the PAKs later, and if you have a hobbyist license, it's easier to it that way:

Do you want to register any Product Authorization Keys? (Yes/No) [Yes] No

After this, a few questions on extra software follow. Then you'll enter the configuration phase and next, you are asked a final question before the execution phase starts. Here you need to wait a while after the installation completes. If you get an access violation error during the execution phase, restart the installation and try again (the error is random - repeat it until it doesn't happen); if you get it after it, you can safely continue with booting the virtual machine from the hard drive.

Do you want to review the options? [NO]

Execution phase starting ...

The following products will be installed to destinations:
    VSI AXPVMS AVAIL_MAN_BASE V8.4-2L1     DISK$ALPHASYS:[VMS$COMMON.]
    VSI AXPVMS CDSA V2.4-320A              DISK$ALPHASYS:[VMS$COMMON.]
    VSI AXPVMS DWMOTIF V1.7-F              DISK$ALPHASYS:[VMS$COMMON.]
    VSI AXPVMS DWMOTIF_SUPPORT V8.4-2L1    DISK$ALPHASYS:[VMS$COMMON.]
    VSI AXPVMS HPBINARYCHECKER V1.1-A      DISK$ALPHASYS:[VMS$COMMON.]
    VSI AXPVMS KERBEROS V3.1-152A          DISK$ALPHASYS:[VMS$COMMON.]
    VSI AXPVMS OPENVMS V8.4-2L1            DISK$ALPHASYS:[VMS$COMMON.]
    VSI AXPVMS SSL V1.4-502A               DISK$ALPHASYS:[VMS$COMMON.]
    VSI AXPVMS SSL1 V1.0-2JA               DISK$ALPHASYS:[VMS$COMMON.]
    VSI AXPVMS TCPIP V5.7-13ECO5F          DISK$ALPHASYS:[VMS$COMMON.]
    VSI AXPVMS TDC_RT V2.3-1220            DISK$ALPHASYS:[VMS$COMMON.]
    VSI AXPVMS VMS V8.4-2L1                DISK$ALPHASYS:[VMS$COMMON.]

Portion done: 0%

If you are installing the VSI version, you may get this error:

Portion done: 0%...10%

%PCSI-E-OPENOUT, error opening DISK$ALPHASYS:[VMS$COMMON.][SYSHLP]HELPLIB.HLB; a
s output
-RMS-E-FNF, file not found
%PCSI-E-OPFAILED, operation failed
Terminating is strongly recommended.  Do you want to terminate? [YES] NO

%PCSI-E-OPENIN, error opening DISK$ALPHASYS:[VMS$COMMON.][SYSLIB]DCLTABLES.EXE;
as input
-RMS-E-FNF, file not found
%PCSI-E-OPFAILED, operation failed
Terminating is strongly recommended.  Do you want to terminate? [YES] NO

This is not unique to AXPbox, it happens in AlphaVM, too - just ignore it. When the installation is finished, you'll get the same menu as in the beginning (possibly after pressing Enter a few times).

Portion done: 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%
%PCSI-I-PRCOUTPUT, output from subprocess follows ...
% - Execute SYS$MANAGER:TCPIP$CONFIG.COM to proceed with configuration of
%   HP TCP/IP Services for OpenVMS.
%
Portion done: 100%
...
    The installation is now complete.

    When the newly installed system is first booted, a special
    startup procedure will be run.  This procedure will:

        o  Configure the system for standalone or OpenVMS Cluster operation.
        o  Run AUTOGEN to set system parameters.
        o  Reboot the system with the newly set parameters.


    You may shut down now or continue with other operations.


  Process AXPVMS_INSTALL logged out at  3-OCT-2020 18:49:46.21

Press Return to continue...

    ****************************************************************

    You can install or upgrade the OpenVMS ALPHA operating system
    or you can install or upgrade layered products that are included
    on the OpenVMS ALPHA distribution media (CD/DVD).

    You can also execute DCL commands and procedures to perform
    "standalone" tasks, such as backing up the system disk.

    Please choose one of the following:

        1)  Upgrade, install or reconfigure OpenVMS ALPHA Version V8.4-2L1
        2)  Display layered products that this procedure can install
        3)  Install or upgrade layered products
        4)  Show installed products
        5)  Reconfigure installed products
        6)  Remove installed products
        7)  Find, Install or Undo patches; Show or Delete Recovery Data
        8)  Execute DCL commands and procedures
        9)  Shut down this system

Enter CHOICE or ? for help: (1/2/3/4/5/6/7/8/9/?)

Now shut down the system:

Enter CHOICE or ? for help: (1/2/3/4/5/6/7/8/9/?) 9

    Shutting down the system

Registering license PAKs

To use OpenVMS without limitations you have to register your license PAKs. Since you don't have access to TCP/IP services at this point because of the missing license, you have to use another method for transferring the keys to the VM. It's possible to copy and paste the license file with some effort, but as of now it's buggy (probably something in serial/telnet implementation), so we recommend you create an ISO, assign it to the VM, mount it, copy the license file to the hard drive, set the correct file format and execute the file.

If you use linux, you can create an ISO on the command line with genisoimage:

# create a folder for the script
mkdir license
# copy the license script into that folder
cp ALPHA_COMMUNITY_LICENSE_PAK_SEP_2020.COM license
# generate an ISO of that folder
genisoimage -V license -o license.iso license

Output:

Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
175 extents written (0 MB)

In AXPbox, add the image to the config file (es40.cfg):

  pci0.15 = ali_ide // or pci0.3 = sym53c810 
  {
       disk0.1 = file
       {
         file          = "license.iso";
         read_only     = true;
         cdrom         = true;
       }
  }

In OpenVMS,

mount over/id=dqa1 
copy dqa1:[0,0]license.com []
set file license.com/attribute=(rfm:STM)
@license.com

(Or mount dka100 if you use SCSI instead of IDE)

After the PAKs are loaded, you can delete the file:

delete license.com;1

(WIP)