oldcomp:openvms

OpenVMS notes

This page is mostly a reminder for myself.

I used Peter Hicks's tutorial on setting up OpenVMS on a Raspberry Pi to install SIMH and OpenVMS.

I used Phillip Wherry's tutorial to fill in the gaps – like how to get TCP/IP to start up when the emulated VAX boots.

The VMS-Ports Sourceforge site has some VMS installation hints, including Layered Products.

Post-install optimisation

  • Run @SYS$UPDATE:LIBDECOMP.COM after installation and uncompress the system libraries. This will increase the disk space used by VMS, but also speed up the emulated system.

By default the SYSTEM password will expire every 30 days. On emulated systems, this tends to be quite annoying. AUTHORIZE (UAF) can be used to disable password expiry.

$ MCR AUTHORIZE
UAF> modify system /FLAGS=DISPWDDIC                 Disable checking against password dictionary
UAF> modify system /FLAGS=DISFORCE                  Don't force password changing after expiry
UAF> modify system /FLAGS=DISPWDHIS                 Disable password history checking
UAF> modify system /nopwdlifetime                   No password expiry
UAF> exit

To change a password, use MCR AUTHORIZE MODIFY /PASSWORD. The help page for this command (mcr authorize help mod/pass) is very informative.

$ MCR SYSGEN 
SYSGEN>  USE CURRENT 
SYSGEN>  SET VAXCLUSTER 0 
SYSGEN>  WRITE CURRENT 
SYSGEN>  EXIT 

$ @SYS$UPDATE:AUTOGEN
%AUTOGEN-I-BEGIN, GENPARAMS phase is beginning.
%AUTOGEN-I-NEWFILE, A new version of SYS$MANAGER:VMSIMAGES.DAT has been created.
        You may wish to purge this file.

%AUTOGEN-I-REPORT, AUTOGEN has produced some informational messages which
        have been stored in the file SYS$SYSTEM:AGEN$PARAMS.REPORT.  You may
        wish to review the information in that file.
%AUTOGEN-I-NEWFILE, A new version of SYS$SYSTEM:SETPARAMS.DAT has been created.
        You may wish to purge this file.
%AUTOGEN-I-END, GENPARAMS phase has successfully completed.

$ REBOOT
$ ucx show interface
                                                           Packets
Interface   IP_Addr         Network mask          Receive          Send     MTU
 
 DE0        10.0.0.226      255.0.0.0                2230             2    1500
 LO0        127.0.0.1       255.0.0.0                   3             3    4096

$ SHOW NET

Product:  DECNET        Node:  SIMH                 Address(es):  1.576
Product:  TCP/IP        Node:  simh.homenet.philpem.me.uk Address(es):  10.0.0.2

Starting is easy using a systemd service config file.

I'm trying to figure out how to do shutdown… this may help.

The HP hobbyist licensing scheme has apparently ended, and VAX VMS is no longer supported.

There is an example hobbyist licence (without the keys) on the VCFED forum. This lists the 112 PAK features which a Hobbyist licence would enable.

As they're useless without a licence PAK…

The de.openvms.org Software Product Library Overview is extremely useful for finding software packages, and identifying which Layered Products CD they're on.

The OpenVMS VAX Consolidated Distribution User's Guide (only 11 pages!) explains how to use these CDs.

For example, to install VAX-11 RSX (RSX-11 emulation):

  • Search for RSX in the Library Overview – you'll find it's on CD 4 of the March 2001 software set.
  • Mount disk 4
    • Exit the VAX console telnet session
    • In the SIMH console: attach RQ3 -r VAXBINMAR014.iso then continue
    • Reopen the VAX console telnet session
    • mount/over=id dua3:
  • Install VAX-11 RSX:
    • set def dua3:[RSXA025.DIR]
    • For some reason Polycenter (“product install”) won't install this, so use @SYS$UPDATE:VMSINSTAL RSXA025 DUA3:[RSXA025.KIT]

There is a menu on the CDs which can display and search the index – this can be run with:

DEFINE CD_DIRECTORY DUA3:
RUN CD_DIRECTORY:CDMENU

To switch CDs:

DISMOUNT DUA3:
! Close the VAX console telnet session and switch to SIMH
simh> attach RQ3 -r VAXBINMAR012.iso
simh> continue
! Switch back to the VAX console and reconnect
  • FAQs and useful info:
  • SIMH
    • Press Ctrl-E (if using SIMH native console) to drop back to the emulator. This doesn't work if SIMH is set to host a Telnet session as the console.
    • Ctrl-A – switch between overstrike and insert mode
    • Ctrl-E – move to EOL
    • Ctrl-H – move to beginning of line
    • Ctrl-U – delete from beginning of line to the cursor
    • Ctrl-Y exits without saving
    • Ctrl-Z exits and saves
  • Clear the screen
    • TYPE/PAGE NLA0:
  • Adding new disks
  • Helpful commands to add to the system account's LOGIN.COM
    • $ CLS == “TYPE/PAGE NLA0:”
    • $ SHUTDOWN == “@SYS$SYSTEM:SHUTDOWN 0 SHUTDOWN YES NO LATER NO NONE”
    • $ REBOOT == “@SYS$SYSTEM:SHUTDOWN 0 SHUTDOWN YES NO LATER YES NONE”
    • $ SHUTDOWN1 == “@SYS$SYSTEM:SHUTDOWN”
    • $ SET term/vt100

The SIMH FAQ gives a few ways to do this:

  • Using a pseudo-tape-drive with the ANSIFILES tape format:
    • In SIMH:
      • sim> attach ts0 –f ansifiles Hobbyist-USE-ONLY-VA.TXT,*.exe,
    • In VMS:
      • mount MSA0: SIMH
        %MOUNT-I-MOUNTED, SIMH mounted on _MSA0:
        $ @MSA0:Hobbyist-USE-ONLY-VA.TXT
  • Alternatively create an ISO9660 CD image and mount it

There is one further option available if TCP/IP is configured: enable FTP and use it to upload the files to the VAX.

Text files may need to have their file attributes set in order to be usable by VMS:

  • DIRECTORY/FULL will display the file's attributes.
    • A file transferred in binary mode will likely have the attributes: Fixed 512 byte records.
  • To set the attributes, use:
    • $ SET FILE/ATTRIBUTE=RFM:STMLF for files with LF line endings
    • $ SET FILE/ATTRIBUTE=RFM:STM for files with CRLF line endings

show device will show a list of all devices the system knows about.

  • [000000] is the root directory of a device.
    • DIR SIMH$DUA0:[000000] will show the root directory on device DUA0.
    • DIR [000000] will show the root directory on SYS$SYSROOT and SYS$COMMON
  • [-] is the parent directory
    • SET DEF [-] is equivalent to cd .. in UNIX/Linux or Windows.
Find me on Mastodon
  • Last modified: 2022/04/07 14:44
  • by philpem