This is a write up of my setting up an OpenVMS 9.2-2 Community edition on Fedora/41.
The community edition comes as a vmdk file for installation on Virtualbox. To use on KVM it must be converted.
Fortunately a user Marin has written a document on how to do this.
https://forum.vmssoftware.com/viewtopic.php?t=9026
First step is to convert to a qcow2 image. Different from the instructions, I will name qcow2 image based on community-flat in my image storage area.
First convert the image.
qemu-img convert -O qcow2 community.vmdk community-flat.qcow2
Then I need to put the OS specific copy for libvirt to use.
sudo mkdir -p /data/libvirt_pools/default/
sudo cp community-flat.qcow2 /data/libvirt_pools/default/robin.qcow2
First thing I discovered is that selinux needed to be put in permissive mode from the default. This is apparently a bug in one of the kvm required packages that according to the internet reports was fixed in an earlier version of the package than I have installed.
I used virt-install to setup a the base VM. I am using Putty to ssh to the system.
sudo virt-install --name=robin --machine=q35 --vcpus=2 --memory=6144 --disk=/data/libvirt_pools/default/robin.qcow2,bus=sata --boot=uefi,loader_secure=no --os-variant=generic --graphics=none --network=bridge=br0,model=e1000
WARNING Using --osinfo generic, VM performance may suffer. Specify an accurate OS for optimal results.
Starting install...
Creating domain... | 00:00
Running text console command: virsh --connect qemu:///system console robin
Connected to domain 'robin'
Escape character is ^] (Ctrl + ])
BdsDxe: loading Boot0001 "UEFI QEMU HARDDISK QM00001 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0,0xFFFF,0x0)
BdsDxe: starting Boot0001 "UEFI QEMU HARDDISK QM00001 " from PciRoot(0x0)/Pci(0x1F,0x2)/Sata(0x0,0xFFFF,0x0)
Scanning devices and preparing the OpenVMS Boot Manager Build 136...
VSI OpenVMS Boot Manager: V9.2-x Build 136
ENABLED: Symmetric Multi-Processing
ENABLED: Crash Dump Processing
ENABLED: Console output to Legacy COM 1 Port
ENABLED: Using Environment Defaults
Checking Required Processor Features:
PASSED
BOOT MANAGER DEVICE: DKA0
DEFAULT BOOT COMMAND: BOOT 0x00 0x00000000
VIRTUAL MACHINE GUEST:
KVM (tm) No Mouse support; Use Command or Arrow Keys
BOOTMGR>
At this point I did a conversational boot so that I could force the system password instead of trying to type a 15 character password I can not see accurately twice.
I notice that I could not find a command to get bootmgr to show current settings, it would just update when I changed them.
In sysboot the backspace key on the keyboard refused to work, and it seemed that control characters did not work either. I am using Putty with the backpace key configured by default to send a delete code as a real VT terminal work. Using Control-h or control-c also did not seem to do anything.
%%%%%%%%%%% VSI OpenVMS (tm) x86-64 %%%%%%%%%%%
_______________________________________________
GRAPHICAL OUTPUT HAS BEEN SUSPENDED
USE A TERMINAL UTILITY FOR ACCESS
_______________________________________________
VSI Primary Kernel SYSBOOT Nov 9 2023 12:17:04
%SYSBOOT-I-VMTYPE, Booting as a KVM (tm) Guest
SYSBOOT> SET /FSF~~
%SYSBOOT-E-SYNTAX, syntax error
SYSBOOT> SET/STARTUP OPA0:
SYSBOOT> SET WINDOW_SYSTEM=
%SYSBOOT-E-SYNTAX, syntax error
SYSBOOT> SET WINDOW_WYSTEM
%SYSBOOT-E-NOPARAM, no such parameter WINDOW_WYSTEM
SYSBOOT> SET WINDOW_SYTEM -0
%SYSBOOT-E-NOPARAM, no such parameter WINDOW_SYTEM
SYSBOOT> SET WINDOW_SYSTEM 0
SYSBOOT> SET WRITESYSPARAMS 0
SYSBOOT> CONTINUE
%SYSBOOT-I-NOGRAPH, No boot graphics support
VMS Software, Inc. OpenVMS (TM) x86_64 Operating System, V9.2-2
Copyright 2023 VMS Software, Inc.
MDS Mitigation active, variant verw(MD_CLEAR)
%DECnet-I-LOADED, network base image loaded, version = 05.92.05
%DECnet-W-ZEROLEN, length of file is zero -- SYS$SYSROOT:[SYSEXE]NET$CONFIG.DAT
%SMP-I-CPUTRN, CPU #1 has joined the active set.
$
$ set default sys$system:
set default sys$system:
$ run sys$system:authorize
run sys$system:authorize
UAF> show system
Username: SYSTEM Owner: SYSTEM MANAGER
Account: SYSTEM UIC: [1,4] ([SYSTEM])
CLI: DCL Tables: DCLTABLES
Default: SYS$SYSROOT:[SYSMGR]
LGICMD:
Flags:
Primary days: Mon Tue Wed Thu Fri
Secondary days: Sat Sun
No access restrictions
Expiration: (none) Pwdminimum: 15 Login Fails: 0
Pwdlifetime: 30 00:00 Pwdchange: 18-MAR-2024 15:33
Last Login: 19-MAR-2024 01:41 (interactive), (none) (non-interactive)
Maxjobs: 0 Fillm: 128 Bytlm: 256000
Maxacctjobs: 0 Shrfillm: 0 Pbytlm: 0
Maxdetach: 0 BIOlm: 150 JTquota: 4096
Prclm: 10 DIOlm: 150 WSdef: 4096
Prio: 4 ASTlm: 300 WSquo: 8192
Queprio: 0 TQElm: 100 WSextent: 16384
CPU: (none) Enqlm: 4000 Pgflquo: 700000
Authorized Privileges:
ACNT ALLSPOOL ALTPRI AUDIT BUGCHK BYPASS
CMEXEC CMKRNL DIAGNOSE DOWNGRADE EXQUOTA GROUP
GRPNAM GRPPRV IMPERSONATE IMPORT LOG_IO MOUNT
NETMBX OPER PFNMAP PHY_IO PRMCEB PRMGBL
PRMMBX PSWAPM READALL SECURITY SETPRV SHARE
SHMEM SYSGBL SYSLCK SYSNAM SYSPRV TMPMBX
UPGRADE VOLPRO WORLD
Default Privileges:
ACNT ALLSPOOL ALTPRI AUDIT BUGCHK BYPASS
CMEXEC CMKRNL DIAGNOSE DOWNGRADE EXQUOTA GROUP
GRPNAM GRPPRV IMPERSONATE IMPORT LOG_IO MOUNT
NETMBX OPER PFNMAP PHY_IO PRMCEB PRMGBL
PRMMBX PSWAPM READALL SECURITY SETPRV SHARE
SHMEM SYSGBL SYSLCK SYSNAM SYSPRV TMPMBX
UPGRADE VOLPRO WORLD
%UAF-E-SHOW_ERR, error during SHOW
-RMS-E-PRV, insufficient privilege or file protection violation
UAF> mod system/pass=mysecret/nopwdexp/nopwdlife
%UAF-I-PWDLESSMIN, new password is shorter than minimum password length
%UAF-I-MDFYMSG, user record(s) updated
UAF> exit
%UAF-I-DONEMSG, system authorization file modified
%UAF-I-RDBNOMODS, no modifications made to rights database
$ spawn
spawn
%DCL-S-SPAWNED, process SYSTEM_815 spawned
%DCL-S-ATTACHED, terminal now attached to process SYSTEM_815
$ @sys$system:startup
$ @sys$system:shutdown
Skipping the reboot dialog and moving on to the first boot.$! Copyright 2015-2023 VMS Software, Inc.
$if f$trnlnm("SHUTDOWN$VERIFY") .eqs. "" then set noverify
SHUTDOWN -- Perform an Orderly System Shutdown
on node V922
How many minutes until final shutdown [0]:
Reason for shutdown [Standalone]:
Do you want to spin down the disk volumes [NO]?
Do you want to invoke the site-specific shutdown procedure [YES]?
Should an automatic system reboot be performed [NO]? yes
When will the system be rebooted [shortly via automatic reboot]:
Shutdown options (enter as a comma-separated list):
REBOOT_CHECK Check existence of basic system files
SAVE_FEEDBACK Save AUTOGEN feedback information from this boot
DISABLE_AUTOSTART Disable autostart queues
POWER_OFF Request console to power-off the system
Shutdown options [NONE]: reboot_check
# Skipping reboot sequence
VSI Primary Kernel SYSBOOT Nov 9 2023 12:17:04
%SYSBOOT-I-VMTYPE, Booting as a KVM (tm) Guest
%SYSBOOT-I-NOGRAPH, No boot graphics support
VMS Software, Inc. OpenVMS (TM) x86_64 Operating System, V9.2-2
Copyright 2023 VMS Software, Inc.
MDS Mitigation active, variant verw(MD_CLEAR)
%DECnet-I-LOADED, network base image loaded, version = 05.92.05
%DECnet-W-ZEROLEN, length of file is zero -- SYS$SYSROOT:[SYSEXE]NET$CONFIG.DAT
%SMP-I-CPUTRN, CPU #1 has joined the active set.
%STDRV-I-STARTUP, OpenVMS startup begun at 26-DEC-2024 21:23:11.16
%EIA0, Link up: 1000 mbit, fdx, flow control (rcv only), 52-54-00-5D-FA-D6
%RUN-S-PROC_ID, identification of created process is 00000404
%RUN-S-PROC_ID, identification of created process is 00000405
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.16 %%%%%%%%%%%
Operator _V922$OPA0: has been enabled, username SYSTEM
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.16 %%%%%%%%%%%
Operator status for operator _V922$OPA0:
CENTRAL, PRINTER, TAPES, DISKS, DEVICES, CARDS, NETWORK, CLUSTER, SECURITY,
LICENSE, OPER1, OPER2, OPER3, OPER4, OPER5, OPER6, OPER7, OPER8, OPER9, OPER10,
OPER11, OPER12
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.16 %%%%%%%%%%%
Logfile has been initialized by operator _V922$OPA0:
Logfile is V922::SYS$SYSROOT:[SYSMGR]OPERATOR.LOG;6
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.17 %%%%%%%%%%%
Operator status for operator V922::SYS$SYSROOT:[SYSMGR]OPERATOR.LOG;6
CENTRAL, PRINTER, TAPES, DISKS, DEVICES, CARDS, NETWORK, CLUSTER, SECURITY,
LICENSE, OPER1, OPER2, OPER3, OPER4, OPER5, OPER6, OPER7, OPER8, OPER9, OPER10,
OPER11, OPER12
%SET-I-NEWAUDSRV, identification of new audit server process is 0000040B
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.21 %%%%%%%%%%%
Message from user SYSTEM on V922
%JBC-E-OPENERR, error opening SYS$COMMON:[SYSEXE]QMAN$MASTER.DAT;
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.21 %%%%%%%%%%%
Message from user SYSTEM on V922
-RMS-E-FNF, file not found
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.27 %%%%%%%%%%%
Message from user SYSTEM on V922
%SECSRV-I-SERVERSTARTINGU, security server starting up
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.27 %%%%%%%%%%%
Message from user SYSTEM on V922
%SECSRV-I-CIACRECLUDB, security server created cluster intrusion database
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.28 %%%%%%%%%%%
Message from user SYSTEM on V922
%SECSRV-I-CIASTARTINGUP, breakin detection and evasion processing now starting u
p
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.30 %%%%%%%%%%%
Message from user SYSTEM on V922
TDF-I-SETTDF TDF set new timezone differential
Copyright 2023 VMS Software, Inc.
%NET$STARTUP-W-NONETCONFIG, this node has not been configured to run DECnet-Plus
for OpenVMS
use SYS$MANAGER:NET$CONFIGURE.COM if you wish to configure DECnet
%NET$STARTUP-I-OPERSTATUS, DECnet-Plus for OpenVMS operational status is OFF
%DECdtm-F-NODECnet, the TP_SERVER process was not started because either:
o DECnet-Plus is not started or is not configured, or
o The SYS$NODE_FULLNAME logical name is not defined
This could be because when you installed DECnet-Plus and were prompted
for the system's full name, you specified a local name instead of a
DECdns or Domain name.
If you want to use DECdtm services, make sure that DECnet-Plus is started and
configured and that SYS$NODE_FULLNAME is defined, then use the following
command to start the TP_SERVER process:
$ @SYS$STARTUP:DECDTM$STARTUP.COM
%STARTUP-I-AUDITCONTINUE, audit server initialization complete
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.56 %%%%%%%%%%%
Message from user AUDIT$SERVER on V922
Security alarm (SECURITY) and security audit (SECURITY) on V922, system id: 1025
Auditable event: Audit server starting up
Event time: 26-DEC-2024 21:23:12.56
PID: 00000403
Username: SYSTEM
The OpenVMS system is now executing the site-specific startup commands.
%SET-I-INTSET, login interactive limit = 64, current interactive value = 0
%DECW$DEVICE-I-NODEVICE, no graphics devices found.
%RUN-S-PROC_ID, identification of created process is 00000411
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.83 %%%%%%%%%%%
Message from user SYSTEM on V922
%SMHANDLER-S-STARTUP, server management event handler startup
SYSTEM job terminated at 26-DEC-2024 21:23:14.85
Accounting information:
Buffered I/O count: 3041 Peak working set size: 13952
Direct I/O count: 1552 Peak virtual size: 279376
Page faults: 4058 Mounted volumes: 0
Charged CPU time: 0 00:00:01.18 Elapsed time: 0 00:00:03.70
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:15.28 %%%%%%%%%%%
Message from user SYSTEM on V922
%SECSRV-I-PROXYSTARTINGUP, proxy processing now starting up
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:15.29 %%%%%%%%%%%
Message from user SYSTEM on V922
%SECSRV-E-NOPROXYDB, cannot find proxy database file NET$PROXY.DAT
%RMS-E-FNF, file not found
I have an existing network that is running DECnet IV. The community edition has DECnet Plus.
I have to make some minimal changes to system parameters to be compatible with DECnet IV.
$! Copyright 2015-2023 VMS Software, Inc.
$if f$trnlnm("SHUTDOWN$VERIFY") .eqs. "" then set noverify
SHUTDOWN -- Perform an Orderly System Shutdown
on node V922
How many minutes until final shutdown [0]:
Reason for shutdown [Standalone]:
Do you want to spin down the disk volumes [NO]?
Do you want to invoke the site-specific shutdown procedure [YES]?
Should an automatic system reboot be performed [NO]? yes
When will the system be rebooted [shortly via automatic reboot]:
Shutdown options (enter as a comma-separated list):
REBOOT_CHECK Check existence of basic system files
SAVE_FEEDBACK Save AUTOGEN feedback information from this boot
DISABLE_AUTOSTART Disable autostart queues
POWER_OFF Request console to power-off the system
Shutdown options [NONE]: reboot_check
# Skipping reboot sequence
VSI Primary Kernel SYSBOOT Nov 9 2023 12:17:04
%SYSBOOT-I-VMTYPE, Booting as a KVM (tm) Guest
%SYSBOOT-I-NOGRAPH, No boot graphics support
VMS Software, Inc. OpenVMS (TM) x86_64 Operating System, V9.2-2
Copyright 2023 VMS Software, Inc.
MDS Mitigation active, variant verw(MD_CLEAR)
%DECnet-I-LOADED, network base image loaded, version = 05.92.05
%DECnet-W-ZEROLEN, length of file is zero -- SYS$SYSROOT:[SYSEXE]NET$CONFIG.DAT
%SMP-I-CPUTRN, CPU #1 has joined the active set.
%STDRV-I-STARTUP, OpenVMS startup begun at 26-DEC-2024 21:23:11.16
%EIA0, Link up: 1000 mbit, fdx, flow control (rcv only), 52-54-00-5D-FA-D6
%RUN-S-PROC_ID, identification of created process is 00000404
%RUN-S-PROC_ID, identification of created process is 00000405
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.16 %%%%%%%%%%%
Operator _V922$OPA0: has been enabled, username SYSTEM
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.16 %%%%%%%%%%%
Operator status for operator _V922$OPA0:
CENTRAL, PRINTER, TAPES, DISKS, DEVICES, CARDS, NETWORK, CLUSTER, SECURITY,
LICENSE, OPER1, OPER2, OPER3, OPER4, OPER5, OPER6, OPER7, OPER8, OPER9, OPER10,
OPER11, OPER12
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.16 %%%%%%%%%%%
Logfile has been initialized by operator _V922$OPA0:
Logfile is V922::SYS$SYSROOT:[SYSMGR]OPERATOR.LOG;6
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.17 %%%%%%%%%%%
Operator status for operator V922::SYS$SYSROOT:[SYSMGR]OPERATOR.LOG;6
CENTRAL, PRINTER, TAPES, DISKS, DEVICES, CARDS, NETWORK, CLUSTER, SECURITY,
LICENSE, OPER1, OPER2, OPER3, OPER4, OPER5, OPER6, OPER7, OPER8, OPER9, OPER10,
OPER11, OPER12
%SET-I-NEWAUDSRV, identification of new audit server process is 0000040B
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.21 %%%%%%%%%%%
Message from user SYSTEM on V922
%JBC-E-OPENERR, error opening SYS$COMMON:[SYSEXE]QMAN$MASTER.DAT;
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.21 %%%%%%%%%%%
Message from user SYSTEM on V922
-RMS-E-FNF, file not found
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.27 %%%%%%%%%%%
Message from user SYSTEM on V922
%SECSRV-I-SERVERSTARTINGU, security server starting up
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.27 %%%%%%%%%%%
Message from user SYSTEM on V922
%SECSRV-I-CIACRECLUDB, security server created cluster intrusion database
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.28 %%%%%%%%%%%
Message from user SYSTEM on V922
%SECSRV-I-CIASTARTINGUP, breakin detection and evasion processing now starting u
p
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.30 %%%%%%%%%%%
Message from user SYSTEM on V922
TDF-I-SETTDF TDF set new timezone differential
Copyright 2023 VMS Software, Inc.
%NET$STARTUP-W-NONETCONFIG, this node has not been configured to run DECnet-Plus
for OpenVMS
use SYS$MANAGER:NET$CONFIGURE.COM if you wish to configure DECnet
%NET$STARTUP-I-OPERSTATUS, DECnet-Plus for OpenVMS operational status is OFF
%DECdtm-F-NODECnet, the TP_SERVER process was not started because either:
o DECnet-Plus is not started or is not configured, or
o The SYS$NODE_FULLNAME logical name is not defined
This could be because when you installed DECnet-Plus and were prompted
for the system's full name, you specified a local name instead of a
DECdns or Domain name.
If you want to use DECdtm services, make sure that DECnet-Plus is started and
configured and that SYS$NODE_FULLNAME is defined, then use the following
command to start the TP_SERVER process:
$ @SYS$STARTUP:DECDTM$STARTUP.COM
%STARTUP-I-AUDITCONTINUE, audit server initialization complete
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.56 %%%%%%%%%%%
Message from user AUDIT$SERVER on V922
Security alarm (SECURITY) and security audit (SECURITY) on V922, system id: 1025
Auditable event: Audit server starting up
Event time: 26-DEC-2024 21:23:12.56
PID: 00000403
Username: SYSTEM
The OpenVMS system is now executing the site-specific startup commands.
%SET-I-INTSET, login interactive limit = 64, current interactive value = 0
%DECW$DEVICE-I-NODEVICE, no graphics devices found.
%RUN-S-PROC_ID, identification of created process is 00000411
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:12.83 %%%%%%%%%%%
Message from user SYSTEM on V922
%SMHANDLER-S-STARTUP, server management event handler startup
SYSTEM job terminated at 26-DEC-2024 21:23:14.85
Accounting information:
Buffered I/O count: 3041 Peak working set size: 13952
Direct I/O count: 1552 Peak virtual size: 279376
Page faults: 4058 Mounted volumes: 0
Charged CPU time: 0 00:00:01.18 Elapsed time: 0 00:00:03.70
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:15.28 %%%%%%%%%%%
Message from user SYSTEM on V922
%SECSRV-I-PROXYSTARTINGUP, proxy processing now starting up
%%%%%%%%%%% OPCOM 26-DEC-2024 21:23:15.29 %%%%%%%%%%%
Message from user SYSTEM on V922
%SECSRV-E-NOPROXYDB, cannot find proxy database file NET$PROXY.DAT
%RMS-E-FNF, file not found
Another reboot. I could have done that earlier when I forced the password.
DECnet needs to be installed and running first because it will change the network interface MAC address.
I use MAC addresses on my DHCP server for reserved IP addresses.
Now to get DECnet installed.
$ @sys$manager:net$configure
Copyright 2015 VMS Software, Inc.
DECnet-Plus for OpenVMS network configuration procedure
This procedure will help you create or modify the management scripts
needed to operate DECnet on this machine. You may receive help about
most questions by answering with a question mark '?'.
%NET$CONFIGURE-I-SETUPNEW, setting up for new configuration
You have the option of choosing the following directory services for
your system:
Local file (LOCAL) - A local namespace that uses flat naming.
DECdns - A distributed namespace.
Domain - A naming service that uses DNS/BIND.
The Local file has the capability to hold 100,000 nodes, and it can even
scale beyond that number. The actual number of nodes that the Local file
can hold depends on the space available on your system.
If you choose to enter more than one directory service for your system,
the ordering of this list is *very important*, as the first directory
service entered in this list will be considered the primary directory
service to use on the system. The primary directory service is considered
the first choice to use when looking up naming information for the system.
Enter an *ordered* list of the directory services you want to use on
the system. If you enter more than one directory service, separate them
by commas.
* Enter the directory services to use on the system [DECdns,Local,Domain] : local
Enter a node name for each directory service chosen.
For the directory service Domain, you will enter a fully qualified
host name for DNS/BIND. The fully qualified host name includes the
host name part and the domain name part. For example:
Domain - mine.xyz.com
For the directory services DECdns and Local file, you will enter a node
full name. The node full name is the name of your system's node object
in the directory service. It includes the namespace nickname, and the
full list of directories leading to the node object name. Examples of
node full names for the directory services DECdns and Local file include:
Local file - LOCAL:.mine
DECdns - XYZ_CORP:.usa.west_coast.mine
For the Local file, the namespace nickname LOCAL is prepended to the
full name and is terminated with a colon (:). The namespace nickname
"LOCAL" means that the Local file is used. The node object name must
begin with a dot (.), and no element of the name (namespace name,
directory, or node object name) can be a null string. Please note that
the namespace nickname "LOCAL" is reserved, and indicates that the
Local file will be used on this system.
The Local file has the capability to hold 100,000 nodes, and it can even
scale beyond that number. The actual number of nodes that the Local file
can hold depends on the space available on your system.
* Enter the full name for directory service LOCAL : LOCAL:.robin
The node synonym is an alphanumeric character string between 1 and 6
characters long that contains at least one alphabetic character. If this
system had previously been running DECnet Phase IV software, then the old
nodename should be used as the synonym. If this system is joining a DECnet
network for the first time, any name can be used for the synonym, as long
as it meets the criteria listed above, and is unique within the network.
* What is the synonym name for this node? [ROBIN] :
* What type of node (Endnode or Router)? [ENDNODE] :
A DECnet-Plus system may or may not use a DECnet Phase IV-style node
address. A node address of 0.0 indicates that this DECnet-Plus system
will be communicating with OSI systems only. If your network contains
some systems running DECnet Phase IV, you may want to specify a compatible
address in order to communicate with them. If your network consists
solely of OSI systems, this is not required.
The DECnet Phase IV node address consists of an area number (between 1
and 63), and a node number within the area (between 1 and 1023).
* Enter PhaseIV Address [1.13] :
%NET$CONFIGURE-I-SCANCONFIG, scanning device configuration - please wait
%NET$CONFIGURE-W-NOPWIP, DECnet over IP requires the PWIP driver to be enabled
%NET$CONFIGURE-W-NODOMAIN, DECnet over IP requires DOMAIN in the directory servi
ces list
%NET$CONFIGURE-I-CREDEFOSITEMPLATE, created default OSI templates
%NET$CONFIGURE-I-EVDDEFAULT, providing default Event Dispatcher configuration
%NET$CONFIGURE-I-MAKEACCOUNT, this procedure creates user account CML$SERVER
%%%%%%%%%%% OPCOM 26-DEC-2024 22:32:45.69 %%%%%%%%%%%
Some output skipped, mainly console alarms from the work going on.
Even though I have a MOP loaded terminal server, I have other systems that can load it, so I did not enable MOP on this system.
By default, MOP is not started by NET$STARTUP. In order to make
this system service MOP requests, NET$STARTUP_MOP must be defined
to signal NET$STARTUP to load the MOP software. This symbol is
normally defined in SYS$STARTUP:NET$LOGICALS.COM.
Answering YES to the following question will modify
SYS$STARTUP:NET$LOGICALS.COM for you, to enable MOP service on
this system. Answering NO will remove the logical name definition
from SYS$STARTUP:NET$LOGICALS.COM. Note that this will have no
effect if the NET$STARTUP_MOP is defined elsewhere.
* Load MOP on this system? [NO] :
Summary of Configuration
Node Information:
Directory Services Chosen: LOCAL
Primary Directory Service: LOCAL
Local Full name: LOCAL:.ROBIN
Node Synonym: ROBIN
Phase IV Address: 1.13
Phase IV Prefix: 49::
Session Control Address Update Interval: 10
Routing Node Type: ENDNODE
Autoconfiguration of Network Addresses: Enabled
Routing ESHello Timer: 600
Routing ES Cache Size: 512
Device Information:
Device: EIA0 (EI/82558):
Data Link name: CSMACD-0
Routing Circuit Name: CSMACD-0
Transport Information:
NSP Transport: Configured
Maximum number of transport connections: 200
Maximum Transmit and Receive Window: 20
Maximum Receive Buffers: 4000
Flow Control Policy: Segment Flow Control
OSI Transport: Configured
Maximum number of transport connections: 200
Maximum Transmit and Receive Window: 20
Maximum Receive Buffers: 4000
OSI applications over TCP/IP: Enabled
DECnet applications over TCP/IP: Enabled
DECnet/OSI over TCP/IP interface(s): ALL
Congestion Avoidance Disabled
Event Dispatcher Configuration:
Sinks: local_sink
Outbound Streams: local_stream
Phase IV Relay: Enabled
* Do you want to generate NCL configuration scripts? [YES] :
%NET$CONFIGURE-I-CHECKSUM, checksumming NCL management scripts
* Do you want to start the network? [YES] :
Copyright 2023 VMS Software, Inc.
%NET-I-LOADED, executive image LES$LES_V30.EXE loaded
%NET-I-LOADED, executive image NET$ALIAS.EXE loaded
%NET-I-LOADED, executive image NET$SESSION_CONTROL.EXE loaded
%NET$STARTUP-I-STARTPROCESS, starting process DNS
%NET-I-LOADED, executive image SYS$NAME_SERVICES.EXE loaded
%RUN-S-PROC_ID, identification of created process is 00000419
%NET$STARTUP-I-EXECUTESCRIPT, executing NCL script SYS$SYSROOT:[SYSMGR]NET$NODE_
STARTUP.NCL;
%NET-I-LOADED, executive image NET$CSMACD.EXE loaded
%NET$STARTUP-I-EXECUTESCRIPT, executing NCL script SYS$SYSROOT:[SYSMGR]NET$CSMAC
D_STARTUP.NCL;
%NET$STARTUP-I-EXECUTESCRIPT, executing NCL script SYS$SYSROOT:[SYSMGR]NET$SESSI
ON_STARTUP.NCL;
%LES-S-PROC_ID, identification of created process is 0000041A
%%%%%%%%%%% OPCOM 26-DEC-2024 22:35:13.33 %%%%%%%%%%%
Message from user SYSTEM on ROBIN
%LES-S-ACPSTARTED, LES$ACP_V30 started running LES$ACP V3.0
%NET$STARTUP-I-EXECUTESCRIPT, executing NCL script SYS$SYSROOT:[SYSMGR]NET$ROUTI
NG_STARTUP.NCL;
%NET-I-LOADED, executive image NET$TRANSPORT_NSP.EXE loaded
%NET$STARTUP-I-EXECUTESCRIPT, executing NCL script SYS$SYSROOT:[SYSMGR]NET$NSP_T
RANSPORT_STARTUP.NCL;
%NET-I-LOADED, executive image NET$TPCONS.EXE loaded
%NET-I-LOADED, executive image NET$TRANSPORT_OSI.EXE loaded
%NET$STARTUP-I-EXECUTESCRIPT, executing NCL script SYS$SYSROOT:[SYSMGR]NET$OSI_T
RANSPORT_STARTUP.NCL;
%SYSMAN-I-OUTPUT, command execution on node ROBIN
%SYSMAN-I-IOADDRESS, the DPT is located at address 805E0600
%NET-I-LOADED, executive image NET$OSVCM.EXE loaded
%SYSMAN-I-OUTPUT, command execution on node ROBIN
%SYSMAN-I-IOADDRESS, the DPT is located at address 805E3400
%NET$STARTUP-I-STARTPROCESS, starting process ACP
%RUN-S-PROC_ID, identification of created process is 0000041B
%%%%%%%%%%% OPCOM 26-DEC-2024 22:35:15.26 %%%%%%%%%%%
Message from user SYSTEM on ROBIN
%NET$ACP-I-STARTUP, DECnet-Plus for OpenVMS ACP starting execution
%RUN-S-PROC_ID, identification of created process is 0000041C
%NET$STARTUP-I-EXECUTESCRIPT, executing NCL script SYS$SYSROOT:[SYSMGR]NET$SEARC
HPATH_STARTUP.NCL;
%NET$STARTUP-I-OPERSTATUS, DECnet-Plus for OpenVMS operational status is RUNNING
-MAJOR
Finished obtaining address tower information
%NET$CONFIGURE-I-IMPORTFILECREATED, created the DECNET_REGISTER import file
Directory Service: Local name file
Updating nodes listed in SYS$MANAGER:DECNET_REGISTER_IMPORT_FILE_ROBIN.TXT
Number of nodes registered: 1
Number of nodes modified: 0
%NET$CONFIGURE-I-REGSUCCESS, node has been successfully registered in the LOCAL
directory service
%NET$CONFIGURE-I-NODERENAMED, node successfully renamed to LOCAL:.ROBIN
%NET$CONFIGURE-I-FLUSHCACHE, flushing selected cache entries
Copyright 2023 VMS Software, Inc.
%NET$STARTUP-I-STARTPROCESS, starting process EVD
%RUN-S-PROC_ID, identification of created process is 0000041D
%NET$STARTUP-I-EXECUTESCRIPT, executing NCL script
More output skipped
%NET$STARTUP-I-STARTPROCESS, starting process DTSS
%RUN-S-PROC_ID, identification of created process is 0000041E
%NET$STARTUP-I-EXECUTESCRIPT, executing NCL script SYS$SYSROOT:[SYSMGR]NET$APPLICATION_STARTUP.NCL;
%NET-I-LOADED, executive image NET$LOOP_APPLICATION.EXE loaded
%NET$STARTUP-I-OPERSTATUS, DECnet-Plus for OpenVMS operational status is RUNNING
-ALL
%NET$CONFIGURE-I-CONFIGCOMPLETED, DECnet-Plus for OpenVMS configuration completed
Then on an existing VMS node, I add in this node and set it up for proxy access
EAGLE> ncp def node 1.13 name robin
EAGLE> ncp set node 1.13 name robin
EAGLE> uaf add/proxy ROBIN::* */default
%UAF-I-NAFADDMSG, proxy from ROBIN::* to * added
Then I had to use mcr sys$system:decnet_register.exe to add my existing DECnet IV nodes. The dir eagle:: command works to confirm operations.
Now one of the great advantages of VMS is that you can set it up with logical names that work like virtual devices.
I strongly recommend only referencing physical device names in the startup files called by sylogicals.com, and then everything else should use the logical names created there.
This means that you can have systems with very much different physical hardware to be managed by common scripts with proper planning.
When you end up dealing with hundreds of VMS systems as I used to do, you need centralized system management,
For this, I use a convention where anything that is node specific in the startup files is placed in its own file with the node name as part of the name. And that cluster specific is put in a file with the cluster name in it. I store these files in startup_dir:
So sys$manager:sylogicals.com will be common to all systems, and since this new system is robin, its specific logical names will be in “startup_dir:logicals_robin.com”
I always try to keep as-built documents for important computers.
This speeds up setting up the new node.also.
It has been at least 20 years from the last time I setup a VMS system, and I seem to have misplaced where my common scripts and checklists are. So I am using this document until I can get the automation setup again.
I want to get my standard logical names set up first, and create the directories.
$ copy/log eagle::sylogicals.com sys$common:sylogicals.com
%COPY-S-COPIED, EAGLE::SYS$COMMON:[SYSMGR]SYLOGICALS.COM;8 copied to SYS$COMMON:[SYSMGR]SYLOGICALS.COM;2 (9 blocks)
Then create the major directories referenced by the logicals names.
$ create/dir sys$common:[sysmgr.startup]
$ create/dir sys$common:[sysmgr.printer]
$ create/dir sys$common:[sysmgr.tools]
$ create/dir sys$common:[sysmgr.user_accounts]
$ create/dir sys$common:[sysmgr.backup]
$ create/dir sys$common:[sysmgr.backup.log]
$ create/dir sys$sysdevice:[tool_box]
$ define_concealed tool_box sys$sysdevice:[tool_box.]
$ create/dir tool_box:[com]
$ create/dir tool_box:[net]
$ create/dir tool_box:[program]
$ create/dir tool_box:[tpu]
$ create/dir tool_box:[xfer]
$ create/dir sys$sysdevice:[user_root]
$ copy eagle::SYS$COMMON:[SYSMGR.STARTUP]LOGICALS_ROBIN.COM SYS$COMMON:[SYSMGR.STARTUP]LOGICALS_ROBIN.COM
Next is to get TCP/IP networking setup
$ @sys$common:tcpip$config
Enter configuration option: 1
VSI TCP/IP Services for OpenVMS Core Environment 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
Enter Internet domain: xile.realm
Communication domain updated in configuration database
Enter configuration option: 2
VSI TCP/IP Services for OpenVMS Interface & Address Configuration Menu
Hostname Details: Configured=Not Configured, Active=Not Configured
Configuration options:
0 - Set The Target Node (Current Node: ROBIN)
1 - IE0 Menu (EIA0: TwistedPair 1000mbps)
[E] - Exit menu
Enter configuration option:
Enter configuration option: 1
VSI TCP/IP Services for OpenVMS Interface IE0 Configuration Menu (Node: ROBIN)
Configuration options:
1 - Add a primary address on IE0
2 - Add an alias address on IE0
3 - Enable DHCP client to manage address on IE0
[E] - Exit menu
Enter configuration option:3
No interface is configured as the DHCP PRIMARY.
Either configure a DHCP PRIMARY or manually configure
the system-wide parameters.
DHCP Client configures system-wide parameters and
interface-specific parameters. Only one interface, the
DHCP "primary" interface, can receive system-wide
parameters.
Configure IE0 as the DHCP PRIMARY? (Y,N,HELP) [Y]:
Configuring DHCP Client software...
DHCP_CLIENT Configuration
Service is not defined in the SYSUAF.
Service is not enabled.
Service is stopped.
DHCP_CLIENT configuration options:
1 - Enable service on this node
[E] - Exit DHCP_CLIENT configuration
Enter configuration option:1
Checking for DHCP client template files in SYS$SYSDEVICE:[TCPIP$DHCP]
Creating configuration file SYS$SYSDEVICE:[TCPIP$DHCP]dhclient.conf
Creating lease file SYS$SYSDEVICE:[TCPIP$DHCP]DHCLIENT.LEASES
Use the Interfaces option on the Core Environment menu to configure
individual interfaces to use DHCP if you have not already done so.
Done configuring DHCP Client software
VSI TCP/IP Services for OpenVMS Interface & Address Configuration Menu
Hostname Details: Configured=Not Configured, Active=Not Configured
Configuration options:
0 - Set The Target Node (Current Node: ROBIN)
1 - IE0 Menu (EIA0: TwistedPair 1000mbps) (Managed by DHCP client - PRIMARY)
[E] - Exit menu
Enter configuration option: e
VSI TCP/IP Services for OpenVMS Core Environment 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: 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]:
A default route has not been configured.
* Do you want to configure a default route [YES]:
Enter your Default Gateway host name or address: 192.168.0.201
192.168.0.201 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 []: wap.xile.realm
Enter configuration option: 4
BIND RESOLVER Configuration
A BIND resolver has not been configured.
VSI 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: eagle.xile.realm
Start up client and server applications as needed.
Start tcpip and exit config
Next is to get SSH setup. This SSH is different than what is on my existing VMS systems.
$ @sys$common:[openssh.bin]ssh$create_account.com
$ @sys$common:[openssh.bin]ssh$create_startup_file.com
$ @sys$common:[openssh.bin]ssh$generate_keys.com
$ @sys$common:[openssh.bin]ssh$install_info.com
To automatically start OpenVMS OpenSSH during system startup
add the following line to the file SYS$MANAGER:SYSTARTUP_VMS.COM
after the TCPIP startup command procedure:
$ @SYS$STARTUP:SSH$STARTUP.COM
Define symbols for all OpenSSH utilities:
$ @SSH$ROOT:[BIN]SSH$DEFINE_COMMANDS.COM
To have all symbols defined by the time of login,
add a caller line of SSH$ROOT:[BIN]SSH$DEFINE_COMMANDS.COM file in either:
1. in SYS$MANAGER:SYLOGIN.COM (note that you need system priv's for this)
2. in SYS$LOGIN:LOGIN.COM
$ @SYS$STARTUP:SSH$STARTUP.COM
This gets me to a functional system, now to make it look like my other systems using eagle system as the master node.
I first use the virt-manager X-11 based application to add an additional hard drive. This will require a reboot to take effect.
Before rebooting, it is time to setup some things up like system parameters, which needs a local text editor.
I typically use teco editor until I can get a VT compatible terminal/console, and then I use my personal TPU section over to use the EVE that works as an enhanced EDT keypad edtor.
$ copy eagle::tpu_tools:malmberg.tpu$section tpu_tools:/prot=(w:re)
Now I will set some basic parameters, which are based from my running Alpha system, these may need to be fine tuned later.
! SYS$SYSDEVICE:[SYS0.SYSEXE]MODPARAMS.DAT
! Created during installation of OpenVMS x86_64 V9.2-2 18-MAR-2024 15:40:53.21
!
VAXCLUSTER=0
SCSNODE="robin"
! 1.13 1*1024 + 13
SCSSYSTEMID=1037
!
!
!
! Site Preference settings
!--------------------------
TTY_DEFCHAR2 = 143366 ! autobaud + hanguup + edit + insert + discon
TTY_TIMEOUT = 3600 * 16 ! Allow 8 hours for reconnects
TTY_ALTYPAHD = 2048 ! Large buffer for Packet Modem
!
min_procsectcnt = 200
min_maxprocesscnt = 150
min_gblpagfil = 600000
min_gblpages = 10060000
min_gblsections = 1400
min_channelcnt = 4096
!
min_gh_exec_code = 1536
min_gh_exec_data = 448
min_gh_res_code = 3072
!
min_npagedyn = 8300000
!
min_wsmax=250000
!
min_maxbuf = 8200
!
! RMS improvements
!-------------------
MIN_RMS_DFMBFSDK = 2
MIN_RMS_DFMBFSMT = 2
MIN_RMS_DFMBFSUR = 2
MIN_RMS_DFMBFREL = 2
MIN_RMS_DFMBFIDX = 9
!
!
! Tell Autogen to leave the page/swap/dump files completely alone.
pagefile = 0
swapfile = 0
dumpfile = 0
savedump = 1
End of file: SYS$SYSTEM:MODPARAMS.DAT
$ @sys$update:autogen GETDATA SETPARAMS
I examine the SYS$SYSTEM:AGEN$PARAMS.REPORT and adjust the modparam.dat file so that the min parameters in modparams.dat are what controls the settings. I only use "min_" for a parameter prefix so that I know what Autogen will do.
The Pagefile is potentially too small, but because I did not use an overlay on the qcow2 file, I don't really have the space to expand it. Next time I will use an overlay file.
Finally time to reboot. I used DECnet to continue after the system booted.
EAGLE> set host robin
Welcome to OpenVMS (TM) x86_64 Operating System, Version V9.2-2
Username: system
Password:
*****************************************************
* *
* WELCOME.TXT *
* *
* This is a placeholder file only. The true file *
* is built by DISKITBLD.COM when building the *
* distribution kit. *
* *
*****************************************************
Last interactive login on Saturday, 28-DEC-2024 18:28:38.45
$ set term/inq
Start populating startup_dir, alphabetically.
This sets up standard batch queues.
$ copy eagle::startup_dir:batch_queues.com startup_dir:
Common images that should be installed:
$ copy eagle::startup_dir:install_images.com startup_dir:
Next is the mount_disks*.com files.
Need to initialize the dka100 device:
$ init dka100: /struct=5/volume=(hardlinks,access_dates,special)/cluster=4 robin
_data
$ copy eagle::startup_dir:mount_disks.com startup_dir:
$ copy eagle::startup_dir:mount_disks_robin.com startup_dir:
At this point I ran the mount_disks.com script and moved user_root to be on the disk$robin_data volume.
$ copy eagle::startup_dir:network_startup.com startup_dir:
$ copy eagle::startup_dir:print_queue_startup.com startup_dir:
$ copy eagle::startup_dir:save_crash_dump.com startup_dir:
Since dhcp is overriding my local DNS server, I have to add host entries for local systems.
$ tcpip set host "aviary.xile.realm"/address=192.168.0.131/alias="aviary"
$ tcpip set host "sheltie.xile.realm"/address=192.168.0.101/alias="sheltie"
$ copy eagle::startup_dir:setup_work_root.com startup_dir:
$ copy eagle::startup_dir:SYSTEM_MAINTENANCE_STARTUP.COM startup_dir
$ copy eagle::startup_dir:termchar_robin.com startup_dir:
Next some setup for my Jenkins system to run jobs on it.
$ set prot=w:re DISK$ROBIN_DATA:[000000]000000.DIR
$ create/dir disk$robin_data:[jenkins_root]
$set prot=w:re DISK$ROBIN_DATA:[000000]JENKINS_ROOT.DIR
$ copy SYS$COMMON:[SYSMGR]SYSTARTUP_VMS.COM SYS$COMMON:[SYSMGR]SYSTARTUP_VMS.COM_original
$ copy eagle::SYS$COMMON:[SYSMGR]SYSTARTUP_VMS.COM sys$common:
I then ran the @sys$manager:systartup.com script to configure the node. I have all my scripts set up so that they can be re-run with out causing issues.
I had to modify SYLOGIN.COM for the VSI provided ZIP/UNZIP and to setup the SSH commands.
After that I ran some scripts to install my user name and the jeeves username used by Jenkins builds.
I finally got builds to be triggered from Jenkins, and ended up getting the current gawk stable branch to build.
Some things found out as doing this.
- Older VMS SFTP auto translates VFC text files to Stream-lf on the Linux system, the new SFTP transfers it as binary. I needed to recreate a control file as Stream-lf, using instructions from https://neilrieck.net/docs/openvms_notes_text_files.html
- F$getsyi("HW_MODEL") is returning 0. Existing scripts assume that a hw_model less than 1024 is a VAX. This will break a lot of scripts.
- The edit/sum command when operating on a stream-lf created by gawk, would fail with an improperly signaled condition from an access violation.
Update: Jan 5, 2025
I discovered that the clock was drifting and that the timezone was set to CET not UTC.
Used @sys$manager:utc$time_setup.com to change it.
Then I had to use tcpip$config to enable the NTP service which creates the directory needed to be updated
Copy sys$specific:[tcpip$ntp]tcpip$ntp.template to be sys$specific:[tcpip$ntp]tcpip$ntp.conf and then edit it to put some valid time servers in it, and then
File SYS$SPECIFIC:[TCPIP$NTP]TCPIP$NTP.CONF;2
80 #server 10.2.3.4
81 #server 10.3.4.5
82 #server ntp3.myorg.mycorp.com
83 server 0.pool.ntp.org
84 server 1.pool.ntp.org
85 server 2.pool.ntp.org
86 server 3.pool.ntp.org
87
88
89
******
File SYS$SPECIFIC:[TCPIP$NTP]TCPIP$NTP.CONF;1
80 server 10.2.3.4
81 server 10.3.4.5
82 server ntp3.myorg.mycorp.com
83
************
@TCPIP$NTP_Shutdown.COM
@TCPIP$NTP_startup.COM
The Jenkins access was not working. The ssh commands issues from the build agent in the background will not execute on the OpenVMS system apparently because there is no controlling terminal.
I had to change to use rsh instead of ssh like I used to have to do with VAX/VMS
$ tcpip add proxy jeeves /remote_user="jeeves"/host="aviary"
$ tcpip add proxy jeeves /remote_user="jeeves"/host="AVIARY"
At this point I remembered that I forgot to setup the NFS proxies, so I set them up.
Comments
Post a Comment