Opcom Activate Password Execution

Phillip Wherry
psw-at-wherry-dot-com
Revision 1.5
22 January 2004

  1. Opcom Activate Password Execution Command
  2. Opcom Activate Password Executioner

On this page, you can generate Activation Code for your OP-COM program. This is needed after an installation, or re-installation, and sometimes after installing an update. Please fill out the three textbox below, and then click on the 'Send E-Mail' button. Please copy your computer ID into the following textbox. Please enter your name to the. Click Settings again and then click Activation Parameters. Enter your name and email address and click Save Activation Parameters Optional. If you would like your workshop name, address, telephone number or other details included on any printouts or reports you save in VAUX-COM enter them on the left under Workshop Details. On the Execution Account page, verify that Specify an execution account is selected. Type the new account or password, retype the password, and then click Apply. How to Delete the Unattended Report Processing Account. If you are not using the account, you can delete it to avoid routine account maintenance tasks.

Copyright 2003-4 Phillip Wherry. Permissionto reproduce this document in unaltered form is hereby granted. Allother rights reserved. The most recent version of this document can befound at http://www.wherry.com/gadgets/retrocomputing/vax-simh.html.

Introduction

One of the first minicomputer systems that I worked with extensivelywas a Digital Equipment Corporation's VAX machine. The particularmachine that I used, a VAX 11/730, was at the time (1983) anentry-level minicomputer that cost just under $40,000 (that's just theCPU!) and delivered real-world performance of about 0.15 MIPS. As anote of comparison, the flagship VAX of the time, the VAX 11/780,delivered about 0.5 MIPS for a little over $180,000. (VAX systembenchmarking number are frequently stated in VAX Units of Performance[VUPS], which is a measure of the system's speed relative to theoriginal 11/780; the 11/730 was about 0.33 VUPS compared to the11/780's 1.0 VUPS. Thanks to Brian Foley for providing thisclarification.)

At the time I first began using it, the 11/730 was running the VMS3.3 operating system. VMS('Virtual Memory System') was a multi-user timesharing system ofextraordinary sophistication for the time. Dave Cutler, theoperating system's designer, went on to Microsoft some years later todesign Windows NT (and subsequent NT-derived operating systems). Thefirst version of VMS, version 1.0, hadshipped in 1978, so the operating system wasn't new at the time.The operating system was ported to the Alpha architecture in 1992.Compaq, a computer company that didn't exist until about 25 years afterDigital was founded, purchased DEC in 1998. Compaq and HP merged in2002. Though VAX hardware isn't sold anymore, OpenVMS is stillsupported. Amazingly enough, there's even development work going on: HPhas announced that OpenVMS for Intel's 64-bit Itanium architecture willbe commercially available in 2004!

In any case, I'm not the only person with an interest in thishistoric hardware. A simulator called SIMH, maintained byBob Supnik (who had a pivotal role in the originaldevelopment of a number of Digital's machines, serving at one time astechnical director for the Alpha and VAX groups at DEC), emulates awide range of old hardware. The VAX architecture is one of the manyrepresented.

HP makes OpenVMS available for non-commercial use through itsHobbyist License program. In order to participate in this program, youmust:

  • Join Encompass US (orthe appropriateuser group for your country). There's a free membership availablethat will permit you to participate in the OpenVMS hobbyist licenseprogram, and some paid membership categories with additional benefits.It's interesting to note that this is a long-lived user group; theoriginal Digital Equipment Corporation Users Society (DECUS) was formedin 1961! You'll receive a membership number by email (a process thattakes several days based on my experience).
  • Get a media kit. I ordered the OpenVMS VAXHobbyist Kit 3.0 from Montagar Software and had it about a weeklater. This kit includes OpenVMS 7.3, the most recent (as of thiswriting) release for the VAX architecture.
  • Get software licenses for OpenVMS and the layered products usingthe licenseregistration page. You'll be asked for a hardware serial number atone point in the process; since this really isn't applicable to SIMH,just enter the word NONE. You'll receive license registrationinformation by email. Note that you have to register separately for thebase operating system and the 'layered products' that run on top of it.The license keys expire after a year, but you can simply request a newlicense at the appropriate time to extend the life of the system.

Once you have these items, you can get OpenVMS running atop a Linuxplatform fairly easily. Note that a dedicated platform is recommendedfor serious emulation, as the design of this (and most other) emulatorsensures that the CPU will be busy essentially 100% of the time. Windowsusers should also be able to use most of these procedures, makingappropriate file naming modifications here and there (you'll also needto install the winpcap drivers to get Ethernet working). Here's how Idid it on a Linux box running a stock Debian 3.0 release.

But First, a Disclaimer, a Plea for Help, and a Few Acknowledgements...

I've been successful in making these procedures work in myenvironment. I hope you're able to duplicate my success, but make noguarantees.

Execution

I'd note that it's been over fifteen years since I used a VAX on adaily basis. There are plenty of things that I've forgotten in thattime, and most likely even more things that I never knew. If anyonespots errors in this documentation or has suggestions for better waysto do things, I'd love to hear from you.

Since writing this document, I've gotten helpful feedback from a number of readers; for the most part, the changes they suggested are acknowledged within the text. I'd particularly like to thank Dave Hittner, of the SIMH Ethernet project, for an extensive and helpful set of suggestions that have been incorporated at numerous points within this document. While it wasn't practical to acknowledge each change individually, please know that his efforts have significantly improved the quality of this documentation.

Download and Build the Emulator

First, download a copy of SIMH.The version I used for this documentation is version 2.10-4. Find alocation for this software (I used /home/software) and make a directoryfor it.

emulator:/home/software$mkdir simh
emulator:/home/software$
cd simh

Next, unpack the software. Be careful; unlike most Unix tarballs,this .zip file expands in the context of the currentdirectory rather than creating a named subdirectory underneath. So, besure you're currently in the location where the software should beunpacked; otherwise, if you're not careful, you can wind up with a mess.

emulator:/home/software/simh$ unzip -a ../simhv210-4.zip
Archive: ../simhv210-4.zip
inflating: 0readme_210.txt
inflating: 0readme_ethernet.txt
.
. (lengthy output omitted)
.
inflating: VAX/vax_sys.c
inflating: VAX/vax_sysdev.c

Now, build the VAX portion of the emulator. The build process putsthings in a directory called BIN,and will fail if it doesn't already exist. In order to use Ethernetsupport, you also need to include USE_NETWORKin the build command, as follows:

emulator:/home/software/simh$ mkdir BIN
emulator:/home/software/simh$ makeUSE_NETWORK=1 BIN/vax
gcc -O2 -lm -I . VAX/vax_cpu1.c VAX/vax_cpu.c VAX/vax_fpa.cVAX/vax_io.c VAX/vax_mmu.c VAX/vax_stddev.c VAX/vax_sys.cVAX/vax_sysdev.c PDP11/pdp11_rl.c PDP11/pdp11_rq.c PDP11/pdp11_ts.cPDP11/pdp11_dz.c PDP11/pdp11_lp.c PDP11/pdp11_tq.c PDP11/pdp11_pt.cPDP11/pdp11_xq.c scp.c scp_tty.c sim_sock.c sim_tmxr.c sim_ether.csim_tape.c -I VAX/ -I PDP11/ -DUSE_INT64 -DUSE_NETWORK -lpcap -o BIN/vax

At this point, you've got the basic VAX emulator constructed. Theapplication and its data need a home; I chose /usr/local/vax/bin and /usr/local/vax/data.

emulator:/home/software/simh# mkdir /usr/local/vax
emulator:/home/software/simh# mkdir/usr/local/vax/bin
emulator:/home/software/simh# mkdir/usr/local/vax/data

Opcom

At this point, copy the VAX emulator binary into its new location:

emulator:/home/software/simh# cp BIN/vax /usr/local/vax/bin

The processor boot ROM (from the KA655 processor found in a MicroVAX3900) is included with the SIMH package. Copy this into the datadirectory.

emulator:/home/software/simh# cp VAX/ka655.bin /usr/local/vax/data

In addition to the boot ROM, you'll need a couple of other files toget started. The file cd.isocontains an image of the OpenVMS Hobbyist CD-ROM. Create this using dd or your favorite ISO imageextraction application. If you're using the dd command under Linux, the following command should create the required image (presuming your CD-ROM is named /dev/cdrom; substitute a different name if needed):

emulator:/home/software/simh-data# dd if=/dev/cdrom of=cd.iso

In addition, you'll need an initializationfile to set up the emulator unless you like typing the commandsyourself. The commands below assume that these two files reside in adirectory called /home/software/simh-data.

emulator:/home/software/simh-data# cp cd.iso /usr/local/vax/data
emulator:/home/software/simh-data# cpvax.ini/usr/local/vax/data

The contents of vax.ini should initially be as follows. Edit filepaths as appropriate, of course.

;
; Load CPU microcode
load -r /usr/local/vax/data/ka655.bin
;
; Attach non-volatile RAM to a file
attach nvr /usr/local/vax/data/nvram.bin
;
; This virtual machine has 64M memory
set cpu 64m
;
; Define disk drive types. RA92 is largest-supported VAX drive.
set rq0 ra92
set rq1 ra92
set rq2 ra92
set rq3 cdrom
;
; Attach defined drives to local files
attach rq0 /usr/local/vax/data/d0.dsk
attach rq1 /usr/local/vax/data/d1.dsk
attach rq2 /usr/local/vax/data/d2.dsk
;
; Attach the CD-ROM to its file (read-only)
attach -r rq3 /usr/local/vax/data/cd.iso
;
; Disable unused devices. It's also possible to disable individual devices,
; using a construction like 'set rq2 disable' if desired.
;
set rl disable
set ts disable
;
; Attach Ethernet to a network interface
set xq mac=08-00-2B-AA-BB-CC
attach xq eth0
;
; Now start the emulator
boot cpu

The emulator looks in its startup directory for the initializationfile by default. I don't like having binaries and data in the sameplace, so I added a symbolic link:

emulator# ln-s /usr/local/vax/data/vax.ini /usr/local/vax/bin

Install the OpenVMS Operating System

At this point, the emulator can be started! You do need to do thisas superuser (root), since the Ethernet emulation depends on it. Moreon this detail later.

emulator# /usr/local/vax/bin/vax
VAX simulator V2.10-4
NVR: creating new file
NVR: buffering file in memory
RQ: creating new file
RQ: creating new file
RQ: creating new file
RQ: unit is read only
KA655-B V5.3, VMB 2.7
Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Tests completed.

At this point, boot from the virtual CD-ROM, entering the date andtime when asked.

>>>bootdua3
(BOOT/R5:0 DUA3)
2..
-DUA3
1..0..
%SYSBOOT-I-SYSBOOT Mapping the SYSDUMP.DMP on the System Disk
%SYSBOOT-W-SYSBOOT Can not map SYSDUMP.DMP on the System Disk
%SYSBOOT-W-SYSBOOT Can not map PAGEFILE.SYS on the System Disk
OpenVMS (TM) VAX Version X7G7 Major version id = 1 Minor version id = 0
%WBM-I-WBMINFO Write Bitmap has successfully completed initialization.
PLEASE ENTER DATE AND TIME (DD-MMM-YYYY HH:MM) 19-APR-2003 15:46
Configuring devices . . .
Now configuring HSC, RF, and MSCP-served devices . . .
Please check the names of the devices which have been configured,
to make sure that ALL remote devices which you intend to use have
been configured.
If any device does not show up, please take action now to make it
available.
Available device DUA0: device type RA92
Available device DUA1: device type RA92
Available device DUA2: device type RA92
Available device DUA3: device type RRD40
Enter 'YES' when all needed devices are available: y
%BACKUP-I-IDENT, Stand-alone BACKUP T7.2; the date is 19-APR-200315:48:04.20

At this point, you're running a small 'standalone' operating systemthat's used for backing up and restoring data. Use the command thatfollows to restore the VMS 'save set' from CD-ROM to the first harddisk.

$ backupdua3:vms073.b/save_set dua0:
%BACKUP-I-PROCDONE, operation completed. Processing finished at19-APR-2003 15:51:51.01
If you do not want to perform another standalone BACKUP operation,
use the console to halt the system.
If you do want to perform another standalone BACKUP operation,
ensure the standalone application volume is online and ready.
Enter 'YES' to continue:

At this point, VMS has been copied to your virtual hard disk. Sinceyou have no more save sets to restore at this time, stop the simulationby pressing control-E. Then reboot the virtual machine to continue theinstallation process.

Simulation stopped, PC: 839ABD40 (MOVL(R5),R4)
sim> boot cpu

Once again, the virtual VAX boots:

KA655-B V5.3, VMB 2.7
Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Tests completed.

At this point, we'll be booting from the DUA0 device in the future, so we'll setup the default boot device. If this isn't done, the system attempts to boot from device XQA0, which isn't the behavior we're after. The bootcommand that follows tells the system to boot from the default devicewe just set. Installation proceeds from this point; my answers to theinstallation questions are highlighted below.

>>>setboot dua0
>>>boot
(BOOT/R5:0 DUA0)
2..
-DUA0
1..0..
%SYSBOOT-I-SYSBOOT Mapping the SYSDUMP.DMP on the System Disk
%SYSBOOT-W-SYSBOOT Can not map SYSDUMP.DMP on the System Disk
%SYSBOOT-I-SYSBOOT Mapping PAGEFILE.SYS on the System Disk
%SYSBOOT-I-SYSBOOT SAVEDUMP parameter not set to protect thePAGEFILE.SYS
OpenVMS (TM) VAX Version BI73-7G7 Major version id = 1 Minor version id= 0
%WBM-I-WBMINFO Write Bitmap has successfully completed initialization.
OpenVMS VAX V7.3 Installation Procedure
Model: VAXserver 3900 Series
System device: RA92 - _DUA0:
Free Blocks: 2854566
CPU type: 10-01
* Please enter the date and time (DD-MMM-YYYY HH:MM) 19-apr-2003 15:58
*********************************************************
%SYSTEM-W-TZGMT, your local timezone has defaulted to GMT
%SYSTEM-I-SETTZ, to set your local timezone use:
$ @SYS$MANAGER:UTC$TIME_SETUP.COM
*********************************************************
On MIN or UPGRADE system startup - CLUE is not run.
%%%%%%%%%%% OPCOM 19-APR-2003 15:58:21.21 %%%%%%%%%%%
Operator _OPA0: has been enabled, username SYSTEM
%%%%%%%%%%% OPCOM 19-APR-2003 15:58:21.26 %%%%%%%%%%%
Operator status for operator _OPA0:
CENTRAL, PRINTER, TAPES, DISKS, DEVICES, CARDS, NETWORK, CLUSTER,SECURITY,
LICENSE, OPER1, OPER2, OPER3, OPER4, OPER5, OPER6, OPER7, OPER8, OPER9,OPER10,
OPER11, OPER12
%%%%%%%%%%% OPCOM 19-APR-2003 15:58:21.56 %%%%%%%%%%%
Logfile has been initialized by operator _OPA0:
Logfile is SYS$SYSROOT:[SYSMGR]OPERATOR.LOG;1
%%%%%%%%%%% OPCOM 19-APR-2003 15:58:21.59 %%%%%%%%%%%
Operator status for operator SYS$SYSROOT:[SYSMGR]OPERATOR.LOG;1
CENTRAL, PRINTER, TAPES, DISKS, DEVICES, CARDS, NETWORK, CLUSTER,SECURITY,
LICENSE, OPER1, OPER2, OPER3, OPER4, OPER5, OPER6, OPER7, OPER8, OPER9,OPER10,
OPER11, OPER12
%SYSTEM-I-BOOTUPGRADE, security auditing disabled
%%%%%%%%%%% OPCOM 19-APR-2003 15:58:25.31 %%%%%%%%%%%
Message from user JOB_CONTROL
%JBC-E-OPENERR, error opening SYS$COMMON:[SYSEXE]QMAN$MASTER.DAT;
%%%%%%%%%%% OPCOM 19-APR-2003 15:58:25.34 %%%%%%%%%%%
Message from user JOB_CONTROL
-RMS-E-FNF, file not found
%LICENSE-F-EMTLDB, license database contains no license records
%SYSTEM-I-BOOTUPGRADE, security server not started
%%%%%%%%%%% OPCOM 19-APR-2003 15:58:34.07 %%%%%%%%%%%
Message from user SYSTEM
%LICENSE-E-NOAUTH, DEC VAX-VMS use is not authorized on this node
-LICENSE-F-NOLICENSE, no license is active for this software product
-LICENSE-I-SYSMGR, please see your system manager
%LICENSE-E-NOAUTH, DEC VAX-VMS use is not authorized on this node
-LICENSE-F-NOLICENSE, no license is active for this software product
-LICENSE-I-SYSMGR, please see your system manager
Startup processing continuing...
%SET-I-INTSET, login interactive limit = 1, current interactive value =0
%SET-I-INTSET, login interactive limit = 0, current interactive value =0
If this system disk is to be used in an OpenVMS Cluster with multiple
system disks, then each system disk must have a unique volume label.
Any nodes having system disks with duplicate volume labels will fail
to boot into the cluster.
You can indicate a volume label of 1 to 12 characters in length. If you
want to use the default name of OVMSVAXSYS, press RETURN in response
to the next question.
* Enter the volume label for this system disk [OVMSVAXSYS]: <cr>
* Enter name of drive holding the OpenVMS distribution media: DUA3
* Is the OpenVMS media ready to be mounted? [N] y
%MOUNT-I-MOUNTED, VAXVMS073 mounted on _DUA3:
Select optional software you want to install. You can install one
or more of the following OpenVMS or DECwindows components:
o OpenVMS library - 52200 blocks
o OpenVMS optional - 19000 blocks
o OpenVMS Help Message - 10400 blocks
o OpenVMS Management Station - 20000 blocks
o DECwindows base support - 4400 blocks
o DECwindows workstation support - 23800 blocks
- 75 dots per inch video fonts - (included)
- 100 dots per inch video fonts - 6200 blocks
o DECnet-Plus networking - 80000 blocks
o DECnet Phase IV networking - 800 blocks
Space remaining on system disk: 2854377 blocks
* Do you want to install the OpenVMS library files? (Y/N) y
Space remaining on system disk: 2802177 blocks
* Do you want to install the OpenVMS optional files? (Y/N) y
Space remaining on system disk: 2783177 blocks
The Help Message utility (MSGHLP) provides online explanations
and user actions for OpenVMS messages in place of the hardcopy
OpenVMS System Messages and Recovery Procedures Reference Manual,
which is now separately orderable.
The MSGHLP database file, MSGHLP$LIBRARY.MSGHLP$DATA,
consumes approximately 10400 blocks and will be
placed by default on your system disk in SYS$COMMON:[SYSHLP]
unless you specify an alternate device when prompted.
* Do you want to install the MSGHLP database? (Y/N) y
You can install this database on your system disk in SYS$COMMON:[SYSHLP]
or on an alternate device. If you specify an alternate device, but no
directory, MSGHLP$LIBRARY.MSGHLP$DATA is placed in [HELP_MESSAGE]. When
prompted, take the default of the system disk or specify an alternate
device using this format:
device:[directory]
* Where do you want to install the MSGHLP database?
[SYS$COMMON:[SYSHLP]] <cr>
Space remaining on system disk: 2772777 blocks
The OpenVMS Management Station is a client-server application that
provides OpenVMS system management capabilities through a client
application on a personal computer (PC) running Microsoft Windows.
The server application runs on OpenVMS systems and is automatically
installed as part of the OpenVMS operating system.
This option provides the files used to install the PC client software.
If you want to use the OpenVMS Management Station, you must install
these optional files on at least one OpenVMS system and then use one or
both of them to install the PC client on one or more PCs. There are two
files: TNT030_I.EXE for Intel systems (Windows 95 and Windows NT), and
TNT030_A.EXE for Alpha Windows NT systems.
The OpenVMS Management Station optional files consume approximately20000
blocks and will be placed on your system disk inSYS$COMMON:[TNT.CLIENT].
* Do you want to install the optional OpenVMS Management Station files?(Y/N) y
Space remaining on system disk: 2752777 blocks
You can select DECwindows now, or you can use the DECW$TAILOR utility
to provide or remove DECwindows support after the installation.
Some media, TK50s in particular, can be very slow when tailoring onfiles.
You might want to select DECwindows now and tailor off unwanted fileslater.
NOTE: This kit does NOT contain full DECwindows.
To obtain full DECwindows, you must also install the separate
layered product, DECwindows Motif for OpenVMS VAX.
V1.2-3 is the minimum version of DECwindows Motif for OpenVMS VAX
that can be used with OpenVMS VAX V7.3.
The DECwindows components provided in this kit requires approximately
34400 blocks, broken down as follows:
o DECwindows base support - 4400 blocks
o DECwindows workstation support - 23800 blocks
- 75 dots per inch video fonts - (included)
- 100 dots per inch video fonts (optional) - 6200 blocks
You must select the DECwindows base support option if
- you plan to run DECwindows software, or
- you are installing this kit on
* a workstation or
* an OpenVMS Cluster that contains workstations, or
- you want to provide font files for Xterminals.
If you are installing this kit on a system that includes Xterminals
and you do NOT select DECwindows base support, then you will have to use
the DECW$TAILOR utility to provide font files.
* Do you want the DECwindows base support? (Y/N) n
Beginning with OpenVMS V7.1, the DECnet-Plus kit is provided with
the OpenVMS operating system kit. Compaq strongly recommends that
DECnet users install DECnet-Plus. DECnet Phase IV applications are
supported by DECnet-Plus.
DECnet Phase IV is also provided as an option. Support for DECnet
Phase IV is available through a Prior Version Support Contract.
If you install DECnet-Plus and TCP/IP you can run DECnet
applications over a TCP/IP network. Please see the OpenVMS
Management Guide for information on running DECnet over TCI/IP.
If you plan to install DECnet Phase IV do NOT select DECnet-Plus.
* Do you want to install DECnet-Plus? (Y/N) n
* Do you want to install DECnet Phase IV? (Y/N) n
The following options will be provided:
OpenVMS library
OpenVMS optional
OpenVMS Help Message
OpenVMS Management Station Software -- PC files
Space remaining on system disk: 2752777 blocks
* Is this correct? (Y/N) y
Restoring OpenVMS library save set ...
%BACKUP-I-STARTVERIFY, starting verification pass
Restoring OpenVMS optional save set ...
%BACKUP-I-STARTVERIFY, starting verification pass
Restoring OpenVMS Help Message save set ...
%BACKUP-I-STARTVERIFY, starting verification pass
Restoring OpenVMS Management Station Software -- PC files
%BACKUP-I-STARTVERIFY, starting verification pass
Now registering the OpenVMS operating system in the
POLYCENTER Software Installation product database
The following product will be registered:
DEC VAXVMS VMS V7.3 DISK$VAXVMSV73:[VMS$COMMON.]
The following product has been registered:
DEC VAXVMS VMS V7.3 Transition (registration)
You can now remove the distribution kit from DUA3:.
In an OpenVMS Cluster, you can run multiple systems sharing all files
except PAGEFILE.SYS, SWAPFILE.SYS, SYSDUMP.DMP, and VAXVMSSYS.PAR.
Cluster configuration cannot be done at this time because no network
is present. In order to configure a cluster you must FIRST do one
or both of the following:
o Install DECnet-Plus (or DECnet Phase IV), or
o Execute SYS$STARTUP:LAN$STARTUP.COM by removing the
comment delimiter ('!') from the line
$! @SYS$STARTUP:LAN$STARTUP
in SYS$MANAGER:SYSTARTUP_VMS.COM.
Then configure the cluster by executing the following command:
@ @SYS$MANAGER:CLUSTER_CONFIG
See the OpenVMS System Manager's Manual: Essentials for moreinformation.
Now we will ask you for new passwords for the following accounts:
SYSTEM, SYSTEST, FIELD
Passwords must be a minimum of 8 characters in length. All passwords
will be checked and verified. Any passwords that can be guessed easily
will not be accepted.
* Enter password for SYSTEM: <passwordhere>
* Re-enter for verification: <passwordhere>
%UAF-I-MDFYMSG, user record(s) updated
%VMS-I-PWD_OKAY, account password for SYSTEM verified
* Enter password for SYSTEST: <passwordhere>
* Re-enter for verification: <passwordhere>
%UAF-I-MDFYMSG, user record(s) updated
%VMS-I-PWD_OKAY, account password for SYSTEST verified
The SYSTEST_CLIG account will be disabled. You must re-enable
it before running UETP but do not assign a password.
%UAF-I-PWDLESSMIN, new password is shorter than minimum password length
%UAF-I-MDFYMSG, user record(s) updated
* Enter password for FIELD: <passwordhere>
* Re-enter for verification: <passwordhere>
%UAF-I-MDFYMSG, user record(s) updated
%VMS-I-PWD_OKAY, account password for FIELD verified
Creating RIGHTS database file, SYS$SYSTEM:RIGHTSLIST.DAT
Ignore any '-SYSTEM-F-DUPIDENT, duplicate identifier' errors.
%UAF-I-RDBCREMSG, rights database created
%UAF-I-RDBADDMSGU, identifier DEFAULT value [000200,000200] added torights database
%UAF-I-RDBADDMSGU, identifier FIELD value [000001,000010] added torights database
%UAF-I-RDBADDMSGU, identifier SYSTEM value [000001,000004] added torights database
%UAF-I-RDBADDMSGU, identifier SYSTEST value [000001,000007] added torights database
%UAF-E-RDBADDERRU, unable to add SYSTEST_CLIG value [000001,000007] torights database
-SYSTEM-F-DUPIDENT, duplicate identifier
%UAF-I-NOMODS, no modifications made to system authorization file
%UAF-I-RDBDONEMSG, rights database modified
Creating MODPARAMS.DAT database file, SYS$SYSTEM:MODPARAMS.DAT
* Please enter the SCSNODE name: PSWVAX(this should be the name of yourVAX)
* Please enter the SCSSYSTEMID: 1025
After the installation finishes, you might want to do one or more of the
following tasks:
o DECOMPRESS THE SYSTEM LIBRARIES - To save space, many of the system
libraries are shipped in a chapter of
tye upgrade and installation supplement provided for your VAX computer.
o TAILOR THE SYSTEM DISK - You might want to review the files providedor
not provided during this installation. If you find there are files
you want to remove from the system disk (TAILOR OFF) or files you want
to add (TAILOR ON), use the following utilities to perform the
desired tailoring.
OpenVMS tailoring: $ RUN SYS$UPDATE:VMSTAILOR
DECwindows tailoring: $ RUN SYS$UPDATE:DECW$TAILOR
NOTE: The tailor procedure cannot be used to TAILOR ON or TAILOR OFF
files located on an alternate disk.
Continuing with OpenVMS VAX V7.3 Installation Procedure.
Configuring all devices on the system ...

At this point, it's time to register a license key for VMS. Refer tothe email you received in response to your license request to obtainthe information that's entered below.

If you have Product Authorization Keys(PAKs) to register, you can
register them now.
* Do you want to register any Product Authorization Keys? (Y/N): y
VMS License Management Utility Options:
1. REGISTER a Product Authorization Key
2. AMEND an existing Product Authorization Key
3. CANCEL an existing Product Authorization Key
4. LIST the Product Authorization Keys
5. MODIFY an existing Product Authorization Key
6. DISABLE an existing Product Authorization Key
7. DELETE an existing Product Authorization Key
8. COPY an existing Product Authorization Key
9. MOVE an existing Product Authorization Key
10. ENABLE an existing Product Authorization Key
11. SHOW the licenses loaded on this node
12. SHOW the unit requirements for this node
99. EXIT this procedure
Type '?' at any prompt for a description of the information
requested. Press Ctrl/Z at any prompt to return to this menu.
Enter one of the above choices [1]:1
Do you have your Product Authorization Key? [YES]: <cr>
Use the REGISTER option to add a new license to a license
database. A Product Authorization Key (PAK) provides the product
name and information you need to register the license. You must
enter all the information provided by your PAK exactly as it
appears.
Type '?' at any prompt for a description of the information
requested. Press Ctrl/Z at any prompt to return to the main menu.
Issuer [DEC]: DECUS
Authorization Number []: DECUS-USA-nnnnnn-nnnnnn
Product Name []: VAX-VMS
Producer [DEC]: DEC
Number of Units [1]: 0
Version []: <cr>
Product Release Date []: <datefrom email license info> This date may be in the future; don't worryabout it.
Key Termination Date []: <datefrom email license info>
Availability Table Code []: <cr>
Activity Table Code []: a
Key Options []: NO_SHARE
Include Node []: <cr>
Product Token []: <cr>
Hardware-Id []: NONE
Checksum []: n-cccc-cccc-cccc-cccc
Here is a list of the license information just entered:
Issuer: DECUS
Authorization: DECUS-USA-NNNNNN-NNNNNN
Product Name: VAX-VMS
Producer: DEC
Units: 0
Release Date: 5-APR-2004
Version:
Termination Date: 5-APR-2004
Availability:
Activity: A
Options: NO_SHARE
Token:
Hardware ID: NONE
Checksum: N-CCCC-CCCC-CCCC-CCCC
Is that correct? [YES]: <cr>
Registering VAX-VMS license in SYS$COMMON:[SYSEXE]LMF$LICENSE.LDB...
Do you want to LOAD this license on this system? [YES]: <cr>
%LICENSE-I-LOADED, DEC VAX-VMS was successfully loaded with 0 units

Then exit the license management tool by using option 99 on themenu. You'll be prompted for information about your time zone next;enter the data requested.

Following that, the system will do some autoconfiguration and willthen shut down. The messages tell you that the system willautomatically reboot, but this isn't the case due to the way thesimulator and virtual CPU are currently configured.

Running AUTOGEN to compute the new SYSTEMparameters ...
%AUTOGEN-I-BEGIN, GETDATA phase is beginning.
%AUTOGEN-I-NEWFILE, A new version of SYS$SYSTEM:PARAMS.DAT has beencreated.
You may wish to purge this file.
%AUTOGEN-I-END, GETDATA phase has successfully completed.
%AUTOGEN-I-BEGIN, GENPARAMS phase is beginning.
%AUTOGEN-I-NEWFILE, A new version of SYS$MANAGER:VMSIMAGES.DAT has beencreated.
You may wish to purge this file.
%AUTOGEN-I-NEWFILE, A new version of SYS$SYSTEM:SETPARAMS.DAT has beencreated.
You may wish to purge this file.
%AUTOGEN-I-END, GENPARAMS phase has successfully completed.
%AUTOGEN-I-BEGIN, GENFILES phase is beginning.
%SYSGEN-I-EXTENDED, SYS$SYSROOT:[SYSEXE]PAGEFILE.SYS;1 extended
%SYSGEN-I-EXTENDED, SYS$SYSROOT:[SYSEXE]SWAPFILE.SYS;1 extended
%SYSGEN-I-CREATED, SYS$SPECIFIC:[SYSEXE]SYSDUMP.DMP;1 created
%SYSGEN-I-CREATED, DUA0:[SYS0.SYSEXE]ERRORLOG.DMP;1 created
%AUTOGEN-I-REPORT, AUTOGEN has produced some informational messageswhich
have been stored in the file SYS$SYSTEM:AGEN$PARAMS.REPORT. You may
wish to review the information in that file.
%AUTOGEN-I-END, GENFILES phase has successfully completed.
%AUTOGEN-I-BEGIN, SETPARAMS phase is beginning.
%AUTOGEN-I-END, SETPARAMS phase has successfully completed.
%AUTOGEN-I-BEGIN, REBOOT phase is beginning.
The system is shutting down to allow the system to boot with the
generated site-specific parameters and installed images.
The system will automatically reboot after the shutdown and the
installation will be complete.
SHUTDOWN -- Perform an Orderly System Shutdown
%SHUTDOWN-I-BOOTCHECK, performing reboot consistency check...
%SHUTDOWN-I-CHECKOK, basic reboot consistency check completed
%SHUTDOWN-I-OPERATOR, this terminal is now an operator's console
%OPCOM-W-NOOPCOM, the request was not sent, the OPCOM process is notrunning
%SHUTDOWN-I-DISLOGINS, interactive logins will now be disabled
%SET-I-INTSET, login interactive limit = 0, current interactive value =0
%SHUTDOWN-I-STOPQUEUES, the queues on this node will now be stopped
%JBC-E-OPENERR, error opening SYS$COMMON:[SYSEXE]QMAN$MASTER.DAT;
-RMS-E-FNF, file not found
SHUTDOWN message from user SYSTEM at Batch 16:32:58
The system will shut down in 0 minutes; back up SOON. Please log off.
Reboot system with AUTOGENerated parameters
%SHUTDOWN-I-STOPUSER, all user processes will now be stopped
%SHUTDOWN-I-REMOVE, all installed images will now be removed
%SHUTDOWN-I-DISMOUNT, all volumes will now be dismounted
%OPCOM-W-NOOPCOM, the request was not sent, the OPCOM process is notrunning
%OPCOM-W-NOOPCOM, the request was not sent, the OPCOM process is notrunning
HALT instruction, PC: 8443B709 (MOVB 400(R1),R0)

At this point, the virtual CPU is halted and the simulator is backin control. For now, tell it to boot once again (we'll set the systemup for automatic boot later). You'll get a whole bunch of messages inresponse as the final phase of the system installation/initial bootruns.

sim> bootcpu
KA655-B V5.3, VMB 2.7
Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Tests completed.
>>>boot
(BOOT/R5:0 DUA0)
2..
-DUA0
1..0..
%SYSBOOT-I-SYSBOOT Mapping the SYSDUMP.DMP on the System Disk
%SYSBOOT-I-SYSBOOT SYSDUMP.DMP on System Disk successfully mapped
%SYSBOOT-I-SYSBOOT Mapping PAGEFILE.SYS on the System Disk
%SYSBOOT-I-SYSBOOT SAVEDUMP parameter not set to protect thePAGEFILE.SYS
OpenVMS (TM) VAX Version V7.3 Major version id = 1 Minor version id = 0
%WBM-I-WBMINFO Write Bitmap has successfully completed initialization.
*****************************************************************
OpenVMS VAX V7.3
You have SUCCESSFULLY installed the OpenVMS VAX Operating System.
The system is now executing the STARTUP procedure. Please
wait for the completion of STARTUP before logging in to the
system.
*****************************************************************
%STDRV-I-STARTUP, OpenVMS startup begun at 19-APR-2003 16:36:29.70
%RUN-S-PROC_ID, identification of created process is 00000206
%DCL-S-SPAWNED, process SYSTEM_1 spawned
%%%%%%%%%%% OPCOM 19-APR-2003 16:37:25.92 %%%%%%%%%%%
Operator _PSWVAX$OPA0: has been enabled, username SYSTEM
%%%%%%%%%%% OPCOM 19-APR-2003 16:37:25.96 %%%%%%%%%%%
Operator status for operator _PSWVAX$OPA0:
CENTRAL, PRINTER, TAPES, DISKS, DEVICES, CARDS, NETWORK, CLUSTER,SECURITY,
LICENSE, OPER1, OPER2, OPER3, OPER4, OPER5, OPER6, OPER7, OPER8, OPER9,OPER10,
OPER11, OPER12
%%%%%%%%%%% OPCOM 19-APR-2003 16:37:26.09 %%%%%%%%%%%
Logfile has been initialized by operator _PSWVAX$OPA0:
Logfile is PSWVAX::SYS$SYSROOT:[SYSMGR]OPERATOR.LOG;1
%%%%%%%%%%% OPCOM 19-APR-2003 16:37:26.12 %%%%%%%%%%%
Operator status for operator PSWVAX::SYS$SYSROOT:[SYSMGR]OPERATOR.LOG;1
CENTRAL, PRINTER, TAPES, DISKS, DEVICES, CARDS, NETWORK, CLUSTER,SECURITY,
LICENSE, OPER1, OPER2, OPER3, OPER4, OPER5, OPER6, OPER7, OPER8, OPER9,OPER10,
OPER11, OPER12
%%%%%%%%%%% OPCOM 19-APR-2003 16:37:28.00 %%%%%%%%%%%
Message from user AUDIT$SERVER on PSWVAX
%AUDSRV-I-NEWSERVERDB, new audit server database created
%%%%%%%%%%% OPCOM 19-APR-2003 16:37:28.53 %%%%%%%%%%%
Message from user AUDIT$SERVER on PSWVAX
%AUDSRV-I-REMENABLED, resource monitoring enabled for journal SECURITY
%%%%%%%%%%% OPCOM 19-APR-2003 16:37:28.84 %%%%%%%%%%%
Message from user AUDIT$SERVER on PSWVAX
%AUDSRV-I-NEWOBJECTDB, new object database created
%SET-I-NEWAUDSRV, identification of new audit server process is 0000020C
%%%%%%%%%%% OPCOM 19-APR-2003 16:37:30.91 %%%%%%%%%%%
Message from user JOB_CONTROL on PSWVAX
%JBC-E-OPENERR, error opening SYS$COMMON:[SYSEXE]QMAN$MASTER.DAT;
%%%%%%%%%%% OPCOM 19-APR-2003 16:37:30.93 %%%%%%%%%%%
Message from user JOB_CONTROL on PSWVAX
-RMS-E-FNF, file not found
%%%%%%%%%%% OPCOM 19-APR-2003 16:37:36.07 %%%%%%%%%%%
Message from user SYSTEM on PSWVAX
%SECSRV-E-NOPROXYDB, cannot find proxy database file NET$PROXY.DAT
%RMS-E-FNF, file not found
%%%%%%%%%%% OPCOM 19-APR-2003 16:37:36.49 %%%%%%%%%%%
Message from user SYSTEM on PSWVAX
%SECSRV-E-NOPROXYDB, cannot find proxy database file NET$PROXY.DAT
%RMS-E-FNF, file not found
%%%%%%%%%%% OPCOM 19-APR-2003 16:37:36.52 %%%%%%%%%%%
Message from user SYSTEM on PSWVAX
%SECSRV-I-CIACRECLUDB, security server created cluster intrusiondatabase
%%%%%%%%%%% OPCOM 19-APR-2003 16:37:36.54 %%%%%%%%%%%
Message from user SYSTEM on PSWVAX
%SECSRV-I-SERVERSTARTINGU, security server starting up
%%%%%%%%%%% OPCOM 19-APR-2003 16:37:36.57 %%%%%%%%%%%
Message from user SYSTEM on PSWVAX
%SECSRV-I-CIASTARTINGUP, breakin detection and evasion processing nowstarting up
%SMG-W-GBLNOTCRE, global section not created
-SYSTEM-F-GPTFULL, global page table is full
%%%%%%%%%%% OPCOM 19-APR-2003 16:37:43.71 %%%%%%%%%%%
Message from user SYSTEM on PSWVAX
Warning: DECdtm log file not found(SYS$JOURNAL:SYSTEM$PSWVAX.LM$JOURNAL)
%RMS-E-FNF, file not found
TP server process waiting
%%%%%%%%%%% OPCOM 19-APR-2003 16:37:46.78 %%%%%%%%%%%
Message from user AUDIT$SERVER on PSWVAX
Security alarm (SECURITY) and security audit (SECURITY) on PSWVAX,system id: 1025
Auditable event: Audit server starting up
Event time: 19-APR-2003 16:37:46.33
PID: 00000203
Username: SYSTEM
%STARTUP-I-AUDITCONTINUE, audit server initialization complete
The OpenVMS VAX system is now executing the site-specific startupcommands.
%%%%%%%%%%% OPCOM 19-APR-2003 16:37:49.20 %%%%%%%%%%%
Message from user AUDIT$SERVER on PSWVAX
Security alarm (SECURITY) and security audit (SECURITY) on PSWVAX,system id: 1025
Auditable event: Identifier added
Event time: 19-APR-2003 16:37:49.12
PID: 00000203
Process name: STARTUP
Username: SYSTEM
Process owner: [SYSTEM]
Image name: PSWVAX$DUA0:[SYS0.SYSCOMMON.][SYSEXE]AUTHORIZE.EXE
Identifier name: SYS$NODE_PSWVAX
Identifier value: %X80010000
Attributes: none
%UAF-I-RDBADDMSG, identifier SYS$NODE_PSWVAX value %X80010000 added torights database
%SET-I-INTSET, login interactive limit = 64, current interactive value= 0
SYSTEM job terminated at 19-APR-2003 16:37:53.28
Accounting information:
Buffered I/O count: 1525 Peak working set size: 1799
Direct I/O count: 568 Peak page file size: 4963
Page faults: 4754 Mounted volumes: 0
Charged CPU time: 0 00:01:21.45 Elapsed time: 0 00:01:38.25

Configuring OpenVMS

Congratulations! You're ready to log in for the first time.

<cr>
Welcome to OpenVMS (TM) VAX Operating System, Version V7.3
Username: system
Password: <password youselected above>
Welcome to OpenVMS (TM) VAX Operating System, Version V7.3
$

Bask in the glow of the long-lost DCL '$' prompt for a moment. Some Unix shells may also use thedollar-sign prompt, but it's just really not the same.

On with configuration: let's initialize two additional disks. Thesedisks, like the virtual DUA0, are configured as RA92 disks in thevax.ini file that the simulator uses. It's possible, of course, to useother disk types or to use only the system disk if you'd rather.

$ initializedua1: DATA1
$ initialize dua2: DATA2
$ mount/system dua1 data1
%MOUNT-I-MOUNTED, DATA1 mounted on _PSWVAX$DUA1:
$ mount/system dua2 data2
%MOUNT-I-MOUNTED, DATA2 mounted on _PSWVAX$DUA2:

Since you'll want to do this every time the system boots, you shouldput these commands in the sys$manager:systartup_vms.comsite-specific startup file. Those familiar with VMS editors know thatthere are many shortcuts (search capabilities, the ability to scroll bypages, etc.) that can save time in the editing process. Explanation ofthose capabilities is far beyond the scope of this document, however;you should be able to stumble your way through editing files using thisbasic process:

$ setterm/vt100
$ edit sys$manager:systartup_vms.com

Scroll down within the file until you find a place to insert theseMOUNT commands, then edit the file appropriately. Use Control-Z to saveand exit.

Now, let's add a user to the system. Here's how I added myself.Several notes on this:

  • I'm putting user directories on the DUA1disk. If you're not, make appropriate changes.
  • Every VMS user has to have an octal group and user code (knowntogether as the user identification code, or UIC). I've used 200 for the group and 201 for the user code. UICs (the pairs)should be unique.
  • User accounts are initially disabled, so it's necessary toindicate that the account should be unlocked with /flag=nodisuser.
  • This user has full system privileges, though they're not on bydefault. Omit the /priv=allsection if you just want a normal user.

$ set defsys$system
$ r authorize
UAF> addpsw/password=temp/owner='PhilWherry'/dev=dua1/dir=[psw]/uic=[200,201]/flag=nodisuser/priv=all
%UAF-I-PWDLESSMIN, new password is shorter than minimum password length
%UAF-I-ADDMSG, user record successfully added

This will generate a couple of security audit alarms (you'rereceiving these because you're currently logged in at the system'sconsole). Then exit the user authorization facility application andcreate the user's directory. Once you're done with that, log out of theSYSTEM account.

%UAF-I-RDBADDMSGU, identifier PSW value[000200,000201] added to rights database
UAF> exit
%UAF-I-DONEMSG, system authorization file modified
%UAF-I-RDBDONEMSG, rights database modified
$ create/dir dua1:[psw]
$ set directory/owner=psw dua1:[psw]
$ lo
SYSTEM logged out at 19-APR-2003 16:46:14.91

Now log back in with your newly-created identity. From here, we'llinstall TCP/IP.

Welcome to OpenVMS (TM) VAX OperatingSystem, Version V7.3
Username: psw
Password: <password>
Welcome to OpenVMS (TM) VAX Operating System, Version V7.3
Last interactive login on Saturday, 19-APR-2003 16:44

Enable your privileges (this is the rough equivalent of the su command in Unix).

$ setproc/priv=all

TCP/IP requires more system resources than are available by default,so we need to edit a file called modparams.dat in order to reserve theappropriate resources.

$ set defsys$system
$ edit modparams.dat

Add these lines to the file:

ADD_GBLPAGES=10000
ADD_GBLSECTIONS=100
ADD_NPAGEDYN=800000
ADD_NPAGEVIR=800000
MIN_SPTREQ=6000

Once this is done, we use the AUTOGEN facility to update the system:

$ set defsys$update
$ @autogen getdata shutdown nofeedback
%AUTOGEN-I-BEGIN, GETDATA phase is beginning.
%AUTOGEN-I-NEWFILE, A new version of SYS$SYSTEM:PARAMS.DAT has beencreated.
You may wish to purge this file.
%AUTOGEN-I-END, GETDATA phase has successfully completed.
%AUTOGEN-I-BEGIN, GENPARAMS phase is beginning.
%AUTOGEN-I-NEWFILE, A new version of SYS$MANAGER:VMSIMAGES.DAT has beencreated.
You may wish to purge this file.
%AUTOGEN-I-NEWFILE, A new version of SYS$SYSTEM:SETPARAMS.DAT has beencreated.
You may wish to purge this file.
%AUTOGEN-I-END, GENPARAMS phase has successfully completed.
%AUTOGEN-I-BEGIN, GENFILES phase is beginning.
%SYSGEN-I-EXTENDED, SYS$SYSROOT:[SYSEXE]SWAPFILE.SYS;1 extended
%AUTOGEN-I-REPORT, AUTOGEN has produced some informational messageswhich
have been stored in the file SYS$SYSTEM:AGEN$PARAMS.REPORT. You may
wish to review the information in that file.
%AUTOGEN-I-END, GENFILES phase has successfully completed.
%AUTOGEN-I-BEGIN, SETPARAMS phase is beginning.
%AUTOGEN-I-END, SETPARAMS phase has successfully completed.
%AUTOGEN-I-BEGIN, SHUTDOWN phase is beginning.
The system is shutting down to allow the system to boot with the
generated site-specific parameters and installed images.
You must manually reboot the system after it halts.
.
. (messages deleted)
.
SYSTEM SHUTDOWN COMPLETE - use console to halt system
Infinite loop, PC: 833E50D3 (BRB 833E50D3)
sim>

Once again, use the simulator to restart the virtual machine.

sim> bootcpu

Once the machine restarts, log in again. There's one more parameterto be updated; another reboot will be required.

$ setproc/priv=all
$ r sys$system:sysgen
SYSGEN> SET INTSTKPAGES 20
SYSGEN> WRITE CURRENT
SYSGEN> EXIT
$ @sys$system:shutdown

(For the more-experienced: yes, it is possible to do both AUTOGENand SYSGEN with only one reboot cycle. I thought it better not tocombine the processes for the sake of clarity and generality.)

Opcom Activate Password ExecutionOpcom Activate Password Execution

Note: If you intend to run DECNET Phase IV at some point, you'll also want to set the SCSSYSTEMID parameter by multiplying the DECNET area number by 1024, then adding the DECNET node number. So, to prepare to be node number 3 in DECNET area 2, multiply the area number (2) by 1024, add the node number (3), to get 2051. The command SET SYSSYSTEMID 2051 within the SYSGEN session above would be required to support DECNET. If you're not familiar with DECNET, or have no immediate plans to run it, you may safely ignore this step.

Installing TCP/IP

Boot the machine once again, then log in again; we'll install TCP/IPfrom here.

$ setproc/priv=all
$ mount/over=id dua3:
%MOUNT-I-WRITELOCK, volume is write locked
%MOUNT-I-MOUNTED, VAXVMS073 mounted on _PSWVAX$DUA3:

The /over=id qualifier on themount command tells the operating system to ignore the volume label.This is really important if you don't know the label for the CD-ROMalready. It's inconsistent with the /SYSTEMqualifier, however, so the CD-ROM will be visible only to you and willbe dismounted automatically when you log out.

Change directories to the TCP/IP installation kit.

$ set defdua3:[tcpip_vax051.kit]

Before installing, register and activate the license. The UCXlicense from your layered product email will give you what you need.Note the use of the hyphen command-line continuation characters here.

$ LICENSEREGISTER UCX -
_$ /ACTIVITY=CONSTANT=100 -
_$ /AUTHORIZATION=DECUS-USA-NNNNNN-NNNNNN -
_$ /DATE=<date> -
_$ /ISSUER=DECUS -
_$ /PRODUCER=DEC -
_$ /TERMINATION=<date> -
_$ /UNITS=0 -
_$ /CHECKSUM=N-CCCC-CCCC-CCCC-CCCC
$ license load UCX
%LICENSE-I-LOADED, DEC UCX was successfully loaded with 0 units

Now, launch the installer.

$ productinstall *
The following product has been selected:
DEC VAXVMS TCPIP V5.1-15 Layered Product
Do you want to continue? [YES] <cr>
Configuration phase starting ...
You will be asked to choose options, if any, for each selected productand for
any products that may be installed to satisfy software dependencyrequirements.
DEC VAXVMS TCPIP V5.1-15: Compaq TCP/IP Services for OpenVMS.
(c) Compaq Computer Corporation 2000. All Rights Reserved.
Compaq Computer Corporation
Compaq TCP/IP Services for OpenVMS offers several license options.
Do you want the defaults for all options? [YES] <cr>
Do you want to review the options? [NO] <cr>
Execution phase starting ...
The following product will be installed to destination:
DEC VAXVMS TCPIP V5.1-15 DISK$OVMSVAXSYS:[VMS$COMMON.]
Portion done: 0%...10%...20%...30%...40%...50%...60%...70%...80%...90%
%PCSI-I-PRCOUTPUT, output from subprocess follows ...
% - HELP has been updated. You may purge SYS$COMMON:[SYSHLP]HELPLIB.HLB
%
%PCSI-I-PRCOUTPUT, output from subprocess follows ...
% TCPIP-W-PCSI_INSTALL
% - Execute SYS$MANAGER:TCPIP$CONFIG.COM to proceed with configurationof
% Compaq TCP/IP Services.
%
Portion done: 100%
The following product has been installed:
DEC VAXVMS TCPIP V5.1-15 Layered Product
DEC VAXVMS TCPIP V5.1-15: Compaq TCP/IP Services for OpenVMS.
Check the release notes for current status of the product.

Now, configure TCP/IP...

$ @sys$manager:tcpip$config
Compaq TCP/IP Services for OpenVMS Configuration Menu
Configuration options:
1 - Core environment
2 - Client components
3 - Server components
4 - Optional components
5 - Shutdown Compaq TCP/IP Services for OpenVMS
6 - Startup Compaq TCP/IP Services for OpenVMS
7 - Run tests
A - Configure options 1 - 4
[E] - Exit configuration procedure
Enter configuration option: 1

The most basic options are under option 1: core environment. Theseare the familiar TCP/IP configuration values; alter as appropriate foryour network.

Compaq TCP/IP Services for OpenVMS CoreEnvironment Configuration Menu
Configuration options:
1 - Domain
2 - Interfaces
3 - Routing
4 - BIND Resolver
5 - Time Zone
A - Configure options 1 - 5
[E] - Exit menu
Enter configuration option: 1
DOMAIN Configuration
Enter Internet domain: wherry.com
Enter configuration option: 2
QE0 is the Ethernet device XQA0:
QE0 has not been configured
Compaq TCP/IP Services for OpenVMS Interface QE0 Configuration Menu
Configuration options:
1 - Configure interface manually
2 - Let DHCP configure interface
[E] - Exit menu (Do not configure interface QE0)
Enter configuration option: 1
Enter fully qualified host name: vax.wherry.com
Enter Internet address for vax: 207.196.42.9(note that this address shouldbe different than the emulator machine's address, and should not be inuse on your network)
Enter Internet network mask for vax [255.255.255.0]: <cr>
Enter broadcast mask for vax [207.196.42.255]: <cr>
The following parameters will be used to define the
Internet interface QE0:
Host name: vax
Internet address: 207.196.42.9
Network mask: 255.255.255.0
Broadcast mask: 207.196.42.255
* Is the above correct [YES]: <cr>
Enter configuration option: 3
DYNAMIC ROUTING Configuration
Dynamic routing has not been configured.
You may configure dynamic ROUTED or GATED routing.
You cannot enable both at the same time. If you want
to change from one to the other, you must disable the
current routing first, then enable the desired routing.
If you enable dynamic ROUTED routing, this host will use the
Routing Information Protocol (RIP) - Version 1 to listen
for all dynamic routing information coming from other
hosts to update its internal routing tables.
It will also supply its own Internet addresses to
routing requests made from remote hosts.
If you enable dynamic GATED routing, you will be able to
configure this host to use any combination of the following
routing protocols to exchange dynamic routing information
with other hosts on the network:
Routing Information Protocol (RIP) - Version 1 & 2
Router Discovery Protocol (RDISC)
Open Shortest Path First (OSPF)
Exterior Gateway Protocol (EGP)
Border Gateway Protocol (BGP-4)
Static routes
* Do you want to configure dynamic ROUTED or GATED routing [NO]: <cr>
A default route has not been configured.
* Do you want to configure a default route [YES]: <cr>
Enter your Default Gateway host name or address: 207.196.42.1
207.196.42.1 is not in the local host database.
If you want to enter the default gateway in the local host
database, enter its host name. Otherwise, enter <CR>.
Enter the Default Gateway host name []: <cr>
Enter configuration option: 4
BIND RESOLVER Configuration
A BIND resolver has not been configured.
Compaq TCP/IP Services for OpenVMS supports the Berkeley Internet Name
Domain (BIND) resolver. BIND is a network service that enables clients
to name resources or objects and share information with other objects
on the network.
Before configuring your system as a BIND resolver, you should
first be sure that there is at least one system on the network
configured as either a BIND primary or secondary server for
this domain.
You can specify a BIND server by its address or name;
however, if specified by name, an entry for it must
exist in the TCPIP$HOST database.
You will be asked one question for each server.
Press Return at the prompt to terminate the list.
Enter your BIND server name: 207.196.42.2
207.196.42.2 is not in the local host database.
If you want to enter the server in the local host
database, enter the server name. Otherwise, enter <CR>.
Enter remote BIND server name []: <cr>
Enter next BIND server name: <cr>
Enter configuration option: e

It's worth a little digression at this point to talk about how theEthernet adapter for the VAX is emulated in SIMH. Experts will noticesome significant oversimplification in this section; if you're one ofthose folks, I hope you'll agree that the simplifications don't distortthe underlying message much.

Under normal circumstances, an Ethernet card sends data to theoperating system on which it's running when it receives packetsdestined for its particular MAC (media access control) address. This isa hardware identifier that's supposed to be unique to each Ethernetcard, so you usually don't have to worry about it. It also sends datato the operating system when it receives packets destined for thespecial MAC address FF-FF-FF-FF-FF-FF (the 'broadcast' address). Itignores everything else. This keeps load on the system reasonable,since it can ignore packets on the network that don't concern it.

In order to sort out what packets should go to the VAX emulation,and which packets should go to the emulator machine on which it runs,it's necessary to have the Ethernet card respond to a secondMAC address in addition to its native address. Some cards can be givena list of addresses, but it's certainly not universal. So, the SIMHsimulator puts the network adapter in the colorfully-named promiscuousmode, in which the Ethernet card sends every packet it sees on tothe host operating system and its application (in this case Linux andSIMH). The operating system reacts to the packets destined for thehardware MAC address on the Ethernet card, as always. But the SIMHapplication also gets the packets, and it can choose to react to any ofthem. Since it's looking for an alternate MAC address, the server onwhich the emulator runs and the VAX emulator itself appear to becompletely separate.

There are three consequences to this approach, however:

  • The emulator must be run as root. For security reasons, Linuxwon't permit just any application to put the Ethernet adapter inpromiscuous mode, as it allows snooping on network traffic to and fromthe Linux machine in addition to the traffic of any other machine onthe same Ethernet segment. The security risk posed by this fact isn'thuge, but it is real. To take advantage of this fact, an attacker wouldhave to be able to cause the emulator to malfunction in a way thatgives it undesired access to the underlying Linux machine. Since thiswould generally involve simultaneous successful attacks on both theemulated machine (the VAX) and the Linux server on which it runs, it'sunlikely. But the risk isn't zero, either; the cautious (or paranoid)administrator will likely run the VAX emulation on its own dedicatedmachine.
  • CPU and/or interrupt loading on the Linux server may become aproblem if the Ethernet is very busy. This is because everypacket received by the Ethernet card must be examined by the operatingsystem, rather than only those packets bearing the adapter's MACaddress or the broadcast address. This is often much less of a big dealthat it would appear, however, since the emulator machine is frequentlyconnected to an Ethernet switch. The Ethernet switch will pass throughpackets destined for either the broadcast address or any of the MACaddresses to which the connected Ethernet adapter responds. The neteffect is that all traffic not needed by the server or the emulationrunning on it is filtered out, just as would be the case if theEthernet were not in promiscuous mode. For users running their serversconnected to a hub rather than a switch, however,this may pose a performance problem.
  • It's likely you'll have problems getting the emulator and the environment in which it runs (say, Linux) to communicate with each other on the same machine. The reason for this is simple: the Ethernet card sends a packet out onto the network under one MAC address looking for a MAC address that's actually also served by the same card. By design, Ethernet cards don't receive their own traffic, so the result is that the packet disappears, well, into the ether. If this is a problem, the simplest solution is to put a second Ethernet card into the machine and dedicate it to SIMH; communication between the emulator and its host environment will then take place via the network just as if the emulator were running on a physically separate machine.

Once the core environment is configured, configure client and servercomponents. I recommend enabling FTP and TELNET services as both clientand server applications. Configuring the clients for these applicationswill also enable the servers, as the listing below indicates.

Compaq TCP/IP Services for OpenVMSConfiguration Menu
Configuration options:
1 - Core environment
2 - Client components
3 - Server components
4 - Optional components
5 - Shutdown Compaq TCP/IP Services for OpenVMS
6 - Startup Compaq TCP/IP Services for OpenVMS
7 - Run tests
A - Configure options 1 - 4
[E] - Exit configuration procedure
Enter configuration option: 2
Compaq TCP/IP Services for OpenVMS Client Components Configuration Menu
Configuration options:
1 - FTP Disabled Stopped
2 - NFS Client Disabled Stopped
3 - REXEC and RSH Disabled Stopped
4 - RLOGIN Disabled Stopped
5 - SMTP Disabled Stopped
6 - TELNET Disabled Stopped
7 - DHCP Disabled Stopped
8 - Telnetsym Disabled Stopped
A - Configure options 1 - 8
[E] - Exit menu
Enter configuration option: 1
FTP CLIENT Configuration
Service is not enabled.
Service is stopped.
FTP CLIENT configuration options:
1 - Enable service on this node
[E] - Exit FTP_CLIENT configuration
Enter configuration option: 1
The FTP SERVER is not enabled.
* Do you want to configure FTP SERVER [NO]: y
Enter configuration option: e
Compaq TCP/IP Services for OpenVMS Configuration Menu
Configuration options:
1 - Core environment
2 - Client components
3 - Server components
4 - Optional components
5 - Shutdown Compaq TCP/IP Services for OpenVMS
6 - Startup Compaq TCP/IP Services for OpenVMS
7 - Run tests
A - Configure options 1 - 4
[E] - Exit configuration procedure
Enter configuration option: 3
Compaq TCP/IP Services for OpenVMS Server Components Configuration Menu
Configuration options:
1 - BIND Disabled Stopped 11 - NTP Disabled Stopped
2 - BOOTP Disabled Stopped 12 - PC-NFS Disabled Stopped
3 - DHCP Disabled Stopped 13 - POP Disabled Stopped
4 - FINGER Disabled Stopped 14 - PORTMAPPER Disabled Stopped
5 - FTP Enabled Stopped 15 - RLOGIN Enabled Stopped
6 - LBROKER Disabled Stopped 16 - RMT Disabled Stopped
7 - LPR/LPD Disabled Stopped 17 - SNMP Disabled Stopped
8 - METRIC Disabled Stopped 18 - TELNET Enabled Stopped
9 - NFS Disabled Stopped 19 - TFTP Disabled Stopped
10 - LOCKD/STATD Disabled Stopped 20 - XDM Disabled Stopped
A - Configure options 1 - 20
[E] - Exit menu
Enter configuration option: e

Once finished, you can proceed to start up the TCP/IP service.

Compaq TCP/IP Services for OpenVMSConfiguration Menu
Configuration options:
1 - Core environment
2 - Client components
3 - Server components
4 - Optional components
5 - Shutdown Compaq TCP/IP Services for OpenVMS
6 - Startup Compaq TCP/IP Services for OpenVMS
7 - Run tests
A - Configure options 1 - 4
[E] - Exit configuration procedure
Enter configuration option: 6
Begin Startup...
%TCPIP-I-INFO, TCP/IP Services startup beginning at 19-APR-200318:17:13.86
%TCPIP-I-INFO, creating UCX compatibility fileSYS$COMMON:[SYSEXE]UCX$SERVICE.DAT
%TCPIP-I-NORMAL, timezone information verified
%RUN-S-PROC_ID, identification of created process is 00000211
%%%%%%%%%%% OPCOM 19-APR-2003 18:17:18.87 %%%%%%%%%%%
Message from user INTERnet on PSWVAX
INTERnet Loaded
%TCPIP-I-SETLOCAL, setting domain and/or local host
%TCPIP-I-STARTCOMM, starting communication
%%%%%%%%%%% OPCOM 19-APR-2003 18:17:22.48 %%%%%%%%%%%
Message from user INTERnet on PSWVAX
INTERnet Started
%TCPIP-I-SETPROTP, setting protocol parameters
%TCPIP-I-DEFINTE, defining interfaces
%%%%%%%%%%% OPCOM 19-APR-2003 18:17:24.25 %%%%%%%%%%%
Message from user INTERnet on PSWVAX
INTERnet ACP Created INTERnet interface: QE0
%TCPIP-I-STARTNAME, starting name service
%%%%%%%%%%% OPCOM 19-APR-2003 18:17:25.38 %%%%%%%%%%%
Message from user Proxy Server on PSWVAX
Loading proxy server image TCPIP$PROXY_SERVICES
%TCPIP-S-STARTDONE, TCP/IP Kernel startup completed
%TCPIP-E-PROXYERROR, error processing proxy request
-TCPIP-W-NORECORD, information not found
-RMS-E-RNF, record not found
%TCPIP-E-PROXYERROR, error processing proxy request
-TCPIP-W-NORECORD, information not found
-RMS-E-RNF, record not found
%TCPIP-I-LOADSERV, loading TCPIP server proxy information
%TCPIP-I-SERVLOADED, auxiliary server loaded with 0 proxy records
-TCPIP-I-SERVSKIP, skipped 0 communication proxy records
-TCPIP-I-SERVTOTAL, total of 0 proxy records read
%TCPIP-S-STARTDONE, TCPIP$PROXY startup completed
%%%%%%%%%%% OPCOM 19-APR-2003 18:17:42.58 %%%%%%%%%%%
Message from user INTERnet on PSWVAX
INTERnet ACP Activate FTP Server
%%%%%%%%%%% OPCOM 19-APR-2003 18:17:42.60 %%%%%%%%%%%
Message from user INTERnet on PSWVAX
INTERnet ACP NOLISTEN Process creation success: Service - FTP
%TCPIP-S-STARTDONE, TCPIP$FTP startup completed
%TCPIP-S-STARTDONE, TCPIP$FTP_CLIENT startup completed
%%%%%%%%%%% OPCOM 19-APR-2003 18:17:48.61 %%%%%%%%%%%
Message from user INTERnet on PSWVAX
INTERnet ACP Activate TELNET Server
%TCPIP-S-STARTDONE, TCPIP$TELNET startup completed
%TCPIP-S-STARTDONE, TCP/IP Services startup completed at 19-APR-200318:17:50.44
Startup request completed.
Press Return to continue ... <cr>

At this point, it should be possible to telnet to the VAX. At somepoint, you'll want to edit the command @sys$startup:tcpip$startupinto the sys$manager:systartup_vms.comstartup command file.

Other Tasks

I also recommend decompressing the system libraries for performancereasons. Use the command:

$ @SYS$UPDATE:LIBDECOMP.COM

to accomplish this.

Installing languages is fairly straightforward. Several popularlanguages (C, Pascal, FORTRAN, and Basic) are included on the HobbyistCD. License keys should have been emailed to you (same email containingthe UCX key for TCP/IP). I'd recommend installing the licenses firstbased on instructions in the email. Remember that licenses have to beinstalled, then loaded (if they're just installed, they won't be activeuntil the next boot). The installation process for each language isquite similar; here's an example of the command used to install the Ccompiler, assuming the CD is mounted on the drive DUA3:

$ @SYS$UPDATE:VMSINSTALCC064 DUA3:[CC064.KIT]

FORTRAN would be installed with:

$ @SYS$UPDATE:VMSINSTALFORT066 DUA3:[FORT066.KIT]

Pascal installs with:

Opcom Activate Password Execution Command

$ @SYS$UPDATE:VMSINSTALPASCAL058 DUA3:[PASCAL058.KIT]

...and Basic installs with the command:

$ @SYS$UPDATE:VMSINSTALBASIC039 DUA3:[BASIC039.KIT]

Additional Linux Integration Tasks

Once the OpenVMS operating system is installed and configured, thereare a few other things that can be done with the SIMH installation tostreamline operations. Here's a copy of the vax.ini file that I useoperationally:

;
; Load CPU microcode
load -r /usr/local/vax/data/ka655.bin
;
; Attach non-volatile RAM to a file
attach nvr /usr/local/vax/data/nvram.bin
;
; This virtual machine has 64M memory
set cpu 64m
;
; Define disk drive types. RA92 is largest-supported VAX drive.
set rq0 ra92
set rq1 ra92
set rq2 ra92
set rq3 cdrom
;
; Attach defined drives to local files
attach rq0 /usr/local/vax/data/d0.dsk
attach rq1 /usr/local/vax/data/d1.dsk
attach rq2 /usr/local/vax/data/d2.dsk
;
; Attach the CD-ROM to its file (read-only)
attach -r rq3 /usr/local/vax/data/cd.iso
;
; Disable unused devices. It's also possible to disable individual devices,
; using a construction like 'set rq2 disable' if desired.
;
set rl disable
set ts disable
;
; Attach Ethernet to a network interface
set xq mac=08-00-2B-AA-BB-CC
attach xq eth0
;
; Uncomment the line below to enable auto-boot
dep bdr 0
;
; Choose one of the following lines. SET CPU CONHALT returns control tothe
; VAX console monitor on a halt event (where behavior will be further
; determined by whether auto-boot is set--see above. SET CPU SIMHALTwill
; cause the simulator to get control instead.
set cpu conhalt
;set cpu simhalt
;
; Now start the emulator
boot cpu
;
; Exit the simulator
exit

The beginning of this file is identical to the vax.ini that we usedduring the configuration of OpenVMS. Some changes have been made nearthe end, however. Let's examine these in detail.

First, the line:

dep bdr 0

is used to deposit the value 0 in the BDR register. This registercontains the boot jumper/switch flag used by the VAX console ROM code.If bit 7 is high (i.e. if we'd instead said 'dep bdr 80'), the ROM will print theVAX console prompt (>>>)instead of autobooting. For those who remember the VAX 11/7xx seriesmachines, setting BDR to 0 is the equivalent of setting the key switchto the DISABLE position; setting BDR to 80 [hex] is like turning thekey switch to its ENABLE position. As an alternative, Dave Hittner points out that the VAX console command 'set halt n' will allow this value to be set from within the VAX console environment, and that this is the standard way of accomplishing this in a non-emulated environment. Some research on the Internet suggests that the 'set halt 2' command will enable auto-boot and 'set halt 3' will disable it.

The line:

set cpu conhalt

is related. It controls what happens on a CPU halt event. Controlcan go either to the VAX console ROM (which will then either display aconsole prompt or reboot depending on the value in BDR, describedabove), or to the simulator's command mode.

The combination of the BDR and the console halt mode settings abovewill cause the automatic reboot mode to work correctly.

As it turns out, the simulator still gets control in thisconfiguration when the VAX CPU is commanded to shut down but notreboot. That said, let's examine the final two command lines in thefile:

; Now start the emulator
boot cpu
;
; Exit the simulator
exit

The 'boot cpu' command isfairly obvious; it causes the VAX to start up (and, in the case of thiscommand file, autoboot).

The 'exit' command that followswill be executed when the simulation halts for some reason; this ismost likely the result of a non-reboot shutdown. The important thinghere, though, is that it causes the SIMH VAX emulator process to exit.

This seems kind of pointless until one thinks about running the VAXemulator unattended. Consider this shell script:

#!/bin/bash
while /usr/local/bin/vax_enabled
do /usr/local/vax/bin/vax </dev/tty8 >/dev/tty82>/dev/tty8
done

The file /usr/local/bin/vax_enabledis a symbolic link to either /bin/trueor /bin/false. If it's a symlinkto /bin/true, then the scriptwill loop forever. One can cause the VAX process to stop gracefully,however, by first linking /usr/local/bin/vax_enabledto /bin/false, then shutting downthe VAX without automatic restart. When control passes back to thesimulator, it'll exit (because of the 'exit'command in its initialization script) and will not be restarted.

There's one other subtlety to be found in this file. Note thatinput, output, and error output are redirected to /dev/tty8. On a typical Linux machine,this is an unused virtual console that can be accessed with the Alt-F8keysequence (or Control-Alt-F8 if X is running). The significance ofthis is substantial: since the virtual machine now has a source ofinput and output, it can be run unattended (from, say, a machinestartup shell script). Console I/O remains possible, however, from thephysical console of the Linux machine.

After the original publication of this article, Stan Quayle wrote and suggested thatthe screen utility is a much moreflexible choice than redirecting the input and output to/from /dev/tty8. The command:

screen -m -d-h 2000 /usr/local/vax/bin/vax

will start up the VAX emulator with a 2000-line scrollback buffer,but detached from any physical terminal. To connect to this virtualizedconsole, the command

screen -r

may be used. Type Control-A, followed by D in order to disconnect.The shell script approach may still be helpful in cases where you'dlike to re-invoke the VAX automatically after a crash/shutdown; if youchoose to do this, don't redirect I/O to/from /dev/tty8; you can then invoke thisscript using screen (substitutethe script's name in place of /usr/local/vax/bin/vaxin the screen startup commandabove).

Opcom Activate Password Executioner

#!/bin/bash
while /usr/local/bin/vax_enabled
do /usr/local/vax/bin/vax
done

Final Words

The VAX/VMS environment remains an interesting one; I hope thatbeing able to work in an old, familiar environment once again bringsback a few good memories. A couple of final observations:

Opcom Activate Password Execution
  • This project really serves as an impressive reminder of theprogress that's been made in computing hardware in the last couple ofdecades. The computer on which I'm running the emulator would cost nomore than $350 if purchased new, and it vastly outperforms thehalf-million-dollar machines of twenty years ago, even when handicappedby the fact that it's running old software atop an emulation platform.This is an impressive and humbling feat.
  • It's similarly impressive to see the longevity and flexibility ofwell-designed, well-engineered software. I'm not sure that the field ofcomputer science has been particularly well-served by recent practicein commercial software development, in which software has become aprimary rather than an ancillary product. Since software has become acommodity to be bought and sold (rather than an enabler for hardwareproducts), long-lasting design has become nearly antithetical to theongoing revenue stream desired by software marketeers.
  • Sharing and collaboration made this endeavor possible. Theemulator and the server environment (Linux) on which I'm running itwere both made possible by the community-mindedness of their creators.HP/Compaq/DEC deserve special credit for making the operating systemavailable at no charge to the hobbyist community, as well; I think ittook a real understanding of the historical importance of VMS (and nosmall amount of courage) to do this.

And, in closing, one more request for feedback: if you find errors,have suggestions, or desire clarification on this document, pleasedon't hesitate to get in touch with me. Similarly, if you find thesedirections helpful, I'd love to hear how you're using the tools.

Phil Wherry
psw-at-wherry-dot-com