SYSTARTUP VMS.COM
Revision as of 05:05, 14 February 2019 by Darya.zelenina (talk | contribs)
SYSTARTUP_VMS.COM is a login command procedure provided with OpenVMS that resides in SYS$MANAGER. It is run by STARTUP.COM when the system boots. SYSTARTUP_VMS.COM holds commands to perform site-specific tasks each time the system boots such as the following:
- set up printers
- set up spooling
- start queues
- start DECnet Phase IV
- Start TCP/IP Services for OpenVMS
- start Multinet
- start Process Software TCPware
- start Wollongong PathWay
- start Kerberos for OpenVMS
- start OpenVMS Management Station server
- have Monitor run with TCP/IP
- start RPC services
- start SMISERVER
- start the ACME_SERVER process etc.
Default contents of SYSTARTUP_VMS.COM:
$! SYS$MANAGER:SYSTARTUP_VMS.COM $! $! This is a template for the site-specific startup command procedure, $! SYS$MANAGER:SYSTARTUP_VMS.COM. $! $! As of OpenVMS V7.2, this template is common for all hardware $! architectures supported by OpenVMS. All newer releases of OpenVMS $! will continue to provide the latest common version of this procedure. $! $! You may add commands to this procedure or change the commands within this $! procedure as needed for your system. This command procedure is preserved $! during upgrades to newer versions of OpenVMS. Any customization you do $! will remain intact after an upgrade. Note that you may wish to reorder $! the sequence of the startup depending on your configuration. For example, $! many sites may wish to start the network before enabling batch queues. $! $! When you upgrade your OpenVMS system, you should check the new version of $! SYS$MANAGER:SYSTARTUP_VMS.TEMPLATE for any new or changed commands you $! may wish to include in your site specific SYS$MANAGER:SYSTARTUP_VMS.COM. $! $! As supplied, this command procedure runs correctly on all OpenVMS systems. $! The symbol ARCH_NAME is defined to allow architecture specific command $! execution. The currently defined names are "VAX", "Alpha", and "IA64". $! This command procedure defines these symbols for testing convenience: $! VAX_NODE = 1 if booting a VAX system, otherwise 0 $! ALPHA_NODE = 1 if booting an Alpha system, otherwise 0 $! IA64_NODE = 1 if booting an Itanium system, otherwise 0 $! $! Using these symbols allows you to maintain a common SYSTARTUP_VMS.COM $! for all systems in mixed architecture VMSclusters. $! $! Node specific startup commands can be kept in separate files and $! executed from this procedure by adding commands similar to the following: $! $! $ THIS_NODE = F$GETSYI("NODENAME") $! $ @SYS$STARTUP:'THIS_NODE'_STARTUP.COM $! $! <--------------------------------------------------------------------------> $! $! Create the symbol ARCH_NAME to indicate hardware architecture type $! $ ARCH_NAME = F$GETSYI("ARCH_NAME") $! $! $! Create system architecture type symbols $! $ VAX_NODE = 0 $ ALPHA_NODE = 0 $ IA64_NODE = 0 $ IF ARCH_NAME .EQS. "VAX" THEN VAX_NODE = 1 $ IF ARCH_NAME .EQS. "Alpha" THEN ALPHA_NODE = 1 $ IF ARCH_NAME .EQS. "IA64" THEN IA64_NODE = 1 $! $! $! Announce system specific startup on the console $! $ WRITE SYS$OUTPUT "" $ WRITE SYS$OUTPUT "The OpenVMS system is now executing the site-specific startup commands." $ WRITE SYS$OUTPUT "" $! $! On OpenVMS VAX, if the system is a MicroVAX and not in a VMScluster, $! the logical name SYS$MICROVAX is defined as true ("1"). Otherwise $! SYS$MICROVAX is defined as false ("0"). For all other architecture $! types this logical name is not defined. $! $ IF F$TRNLNM("SYS$MICROVAX") $ THEN MICROVAX = 1 $ ELSE MICROVAX = 0 $ ENDIF $! $! <--------------------------------------------------------------------------> $! $! The following commands install the secondary page file, if it exists. $! (Note that if a secondary swap file exists, it is installed by the command $! procedure SYS$SYSTEM:STARTUP.COM.) $! $ IF F$SEARCH("SYS$SYSROOT:[SYSEXE]PAGEFILE1.SYS") .NES. "" $ THEN $ SYSGEN = "$SYSGEN" $ SYSGEN INSTALL SYS$SYSROOT:[SYSEXE]PAGEFILE1.SYS /PAGEFILE /NOCHECK $ ENDIF $! $! $! The following commands turn off account logging and delete the account log $! on non-clustered MicroVAX systems. If you wish to keep an account log on $! such a system, delete the following 6 command lines. $! $ IF MICROVAX $ THEN $ SET ACCOUNTING/DISABLE $ IF F$SEARCH("SYS$MANAGER:ACCOUNTNG.DAT") .NES. "" THEN - DELETE SYS$MANAGER:ACCOUNTNG.DAT;* $ ENDIF $! $! $! The following commands purge the operator and network logs to two versions $! on non-clustered MicroVAX systems. If you do NOT wish to purge these $! log files, delete the following 7 command lines. $! $ IF MICROVAX $ THEN $ IF F$SEARCH("SYS$MANAGER:OPERATOR.LOG;-1") .NES. "" THEN - PURGE SYS$MANAGER:OPERATOR.LOG $ IF F$SEARCH("SYS$MANAGER:EVL.LOG;-1") .NES. "" THEN - PURGE SYS$MANAGER:EVL.LOG $ ENDIF $! $! $! To enable virtual terminal support, change the following constant $! from 0 to 1. $! $ VT_SUPPORT = 0 $! $ IF VT_SUPPORT $ THEN $ IF VAX_NODE $ THEN $ SYSGEN = "$SYSGEN" $ SYSGEN CONNECT VTA0 /NOADAPTER /DRIVER=TTDRIVER $ ELSE $ SYSMANIO = "$SYSMAN IO" $ SYSMANIO CONNECT VTA0 /NOADAPTER /DRIVER=SYS$TTDRIVER.EXE $ ENDIF $ ENDIF $! $! $! This command defines a system-wide login command procedure for all users. $! $ DEFINE /SYSTEM /EXEC SYS$SYLOGIN SYS$MANAGER:SYLOGIN $! $! $! The following commands define a message to be displayed before each $! user logs in. $! $ IF IA64_NODE $ THEN - $ OS_NAME = "VMS Software, Inc. OpenVMS (TM) IA64 Operating System, " $ ELSE $ OS_NAME = "OpenVMS (TM) " + ARCH_NAME + " Operating System, Version " $ ENDIF $ WELCOME_STRING = " Welcome to " + OS_NAME + F$GETSYI("VERSION") $ DEFINE /SYSTEM SYS$ANNOUNCE "WELCOME_STRING'" $! $! $! This command defines a message or file to be displayed after each user $! logs in. To override the default welcome message and provide your own $! welcome text, uncomment the following command. $! $!$ DEFINE /SYSTEM SYS$WELCOME "@SYS$MANAGER:WELCOME.TXT" $! $! $! Set up date/time format. $! $! OpenVMS contains support for date and time formats other than the standard $! default format. This allows applications as well as some OpenVMS utilities $! to use formats other than the standard format by calling LIB$ routines such $! as LIB$FORMAT_DATE_TIME. To enable this feature, uncomment the command below. $! $!$ @SYS$STARTUP:LIB$DT_STARTUP $! $! To define a system-wide default date and time format other than the standard $! OpenVMS format, uncomment the following command and modify the logical definition $! to specify the format you want to use. Note that each user may override this $! default behavior with a process specific logical definition to specify their $! own desired format. See the OpenVMS documentation for further information. $! $!$ DEFINE/SYSTEM LIB$DT_FORMAT LIB$DATE_FORMAT_012, LIB$TIME_FORMAT_011 $! $! $! On OpenVMS Alpha systems only, start the POWER_MONITOR process for systems $! with power monitoring capabilities. If you do NOT want to start the $! POWER_MONITOR process, delete the following command line. $! $ IF ALPHA_NODE THEN @SYS$STARTUP:SYS$POWER_MONITOR_STARTUP.COM $! $! $! Set up the queue manager. $! $! The queue manager is normally enabled by default. If this is an initial $! installation, the queue files containing the queues, forms, etc. $! do not yet exist. You may use the command START/QUEUE/MANAGER/NEW $! from an interactive terminal to create these files. NOTE: This command only $! needs to be done ONCE for a new OpenVMS installation. It should NOT be $! placed in this file since it would then execute each time the system is $! booted, creating new queue files each time. This will cause all current $! jobs, queues, forms, etc. to be lost. $! $! By default the queue files are created in SYS$COMMON:[SYSEXE]. $! To place the queue files on a disk other than the system disk you should $! define the logical QMAN$MASTER in SYS$MANAGER:SYLOGICALS.COM to the device $! and directory to contain the queue files. $! $! Once the queue files have been created you may use the INITIALIZE/QUEUE $! command from an interactive terminal to create the necessary queues. $! The START/QUEUE command should then be added to this file for any $! queues that are not AUTOSTART queues. $! See the OpenVMS documentation for further information. $! $! $! Set up a print queue. $! $! Choose the device you will use for printing. Define the logical name $! $PRINTER to name the device you will use for printing; either uncomment $! one of the following commands or add a command in the following format. $! $!$ DEFINE /SYSTEM $PRINTER terminal_name ! if a hard copy terminal is the printer $!$ DEFINE /SYSTEM $PRINTER _LPA0: ! if using a line printer $! $! $! If you will use a line printer, uncomment the following command $! to set the printer characteristics. $! $!$ SET PRINTER /NOWRAP /NOTRUNCATE /CR $PRINTER $! $! $! If you will use a hard copy terminal as the print device, set the terminal $! characteristics. The following terminal characteristics vary from one $! hard copy terminal to another: speed, width, length, and device type. $! If your terminal is an LA100, uncomment the following command lines. $! If your terminal is not an LA100, add a command in the following format. $! $!$ SET TERMINAL $PRINTER /PERMANENT /NOBROADCAST /NOTYPEAHEAD /NOWRAP - $! /SPEED=(1200) /WIDTH=(132) /PAGE=(66) /DEVICE_TYPE=(LA100) $! $! $! To set your printing device as spooled to the queue SYS$PRINT, $! uncomment the following command. $! $!$ SET DEVICE /SPOOLED=(SYS$PRINT, SYS$SYSDEVICE:) $PRINTER $! $! $! The following command will enable autostart queues to start on this $! node. To enable autostart during startup, uncomment the following $! command. Be sure that all resources required by any autostart $! queues are available before enabling the queues. This may include $! the network, disks, and printers. $! $!$ ENABLE AUTOSTART /QUEUES $! $! $! If your SYS$PRINT queue is not an autostart queue, uncomment $! the following command to start the queue. $! $!$ START /QUEUE SYS$PRINT $! $! $! If your SYS$BATCH queue is not an autostart queue, uncomment $! the following command to start the queue. $! $!$ START /QUEUE SYS$BATCH $! $! $! For OpenVMS VAX systems to use asynchronous DECnet Phase IV, a terminal $! line must be configured for the asynchronous connection. Modify and $! uncomment the following command lines to set the appropriate terminal line. $! (Reminder: To set the terminal line characteristics for the other side of $! the asynchronous connection, enter a SET TERMINAL command on the routing $! node to which you are connecting.) $! (For similar functionality on OpenVMS Alpha or with DECnet-Plus (DECnet OSI) $! consider using the PPP feature in DIGITAL TCP/IP Services.) $! $!$ IF VAX_NODE THEN - $! SET TERMINAL terminal_name /PERMANENT /NOAUTOBAUD /SPEED=9600 /PROTOCOL=DDCMP $! $! $! Detect which DECnet version (if any) has been installed $! $ DECNET_VERSION = F$INTEGER(F$EXTRACT(2,2,F$GETSYI("DECNET_VERSION"))) $ DECNET_PLUS_INSTALLED = (DECNET_VERSION .GE. 5) .AND. - (F$SEARCH("SYS$SYSTEM:NET$ACP.EXE") .NES. "") $ DECNET_IV_INSTALLED = (DECNET_VERSION .EQ. 4) .AND. - (F$SEARCH("SYS$SYSTEM:NETACP.EXE") .NES. "") $ DECNET_NOT_INSTALLED = .NOT. (DECNET_PLUS_INSTALLED .OR. DECNET_IV_INSTALLED) $! $ IF (DECNET_IV_INSTALLED) $ THEN $! $! Following are the commands that start up the DECnet Phase IV network, if you $! are using the DECnet Phase IV software. Note that only one of these $! commands is needed to start the network, the other should be commented out. $! Configure the network and define the other node names before starting up $! DECnet; otherwise you will get error messages stating that the database is $! not initialized. $! $! NOTE: If you are running DECnet-Plus, it was started when $! VMS$BASEENVIRON-050_VMS.COM executed during STARTUP.COM. $! To delay network startup until later, define the system $! logical name NET$IGNORE_DECNET. Please see the DECnet-Plus $! installation and configuration manuals for further details. $! $! If you have started the batch queues on your system, uncomment $! the following command. This allows the system to overlap startup $! processing, and decreases the amount of time you must wait to log in. $! $!$ SUBMIT SYS$MANAGER:STARTNET.COM $! $! $! If you have not started the batch queues on your system, uncomment $! the following command. (Note that networks have already been $! registered by SYS$STARTUP:SYS$NET_SERVICES.COM, which was executed $! by VMS$BASEENVIRON-050_VMS.COM during earlier STARTUP.COM processing.) $! $!$ START/NETWORK DECNET $! $ ENDIF $! $! $! The following command should be used only if you do not wish the $! DECwindows startup file to be run automatically during system startup. $! The DECwindows startup file should be run on all types of machines, $! even ones not using a DECwindows display. If you wish to defer $! DECwindows startup and manually invoke the startup file later during $! system startup, uncomment the command below. $! $!$ DEFINE DECW$IGNORE_DECWINDOWS TRUE $! $! *** NOTE *** $! Modern hardware often includes a video port which is capable $! of supporting DECWindows, even if the system is configured as $! a server. Define the DECW$IGNORE_WORKSTATION logical name $! in SYLOGICALS.COM on server systems with graphics hardware $! that are not being used as a DECWindows workstation. $! This name should be in SYLOGICALS (not here), as it is $! used during earlier portions of the VMS startup sequence. $! $! For non-VAX systems, defining DECW$IGNORE_SHARE_ADDRESS turns off the $! shared linkage section option for DECwindows startup. Shared linkage $! section is on by default with OpenVMS V6.2 and above. The shared linkage $! section reduces memory requirements and improves performance, but it means $! that DECwindows images can't be replaced without rebooting the system. $! $! On OpenVMS VAX systems, defining DECW$IGNORE_SHARE_ADDRESS does nothing. $! To disable the shared linkage section, uncomment the command below. $! $!$ IF .NOT. VAX_NODE THEN - $! DEFINE/SYSTEM/EXEC DECW$IGNORE_SHARE_ADDRESS TRUE $! $! $! Following are the command(s) required to start TCP/IP Networking on $! your system. These require that you have one of the TCP/IP for $! OpenVMS products installed (please see the TCP/IP Networking on $! OpenVMS manual for vendor information). $! $! NOTE: You cannot run more than one of the following TCP/IP products. $! $! $! Uncomment the following command to start all versions of $! Digital TCP/IP Services for OpenVMS below V5.0. $! $!$ @SYS$STARTUP:UCX$STARTUP.COM $! $! Uncomment the following command to start all versions of $! HP TCP/IP Services for OpenVMS beginning with V5.0. $! $!$ @SYS$STARTUP:TCPIP$STARTUP.COM $! $! $! Uncomment the following command to start Process Software MultiNet. $! $!$ @SYS$SYSROOT:[MULTINET]START_MULTINET.COM $! $! $! Uncomment the following command lines to start Process Software TCPware. $! $!$ @SYS$SYSROOT:[TCPWARE]TCPWARE_LOGICALS.COM $!$ @TCPWARE:STARTNET.COM $! $! $! Uncomment the following command lines to start Wollongong PathWay. $! $!$ FILE = F$SEARCH("SYS$DISK:[NETWORKS.PATHWAY.NETDIST.MISC]STARTINET.COM") $!$ IF FILE .NES. "" $!$ THEN $!$ @'FILE' $!$ IF F$SEARCH("TWG$SPECIFIC:[NETDIST.PONY.HQ]PONYSTART.COM") .NES. "" $!$ THEN $!$ PONY$DISK = (F$TRNLNM("TWG$SPECIFIC") - "]") + "NETDIST.PONY.]" $!$ DEFINE/SYSTEM/EXEC/TRANS=CONC PONY$DISK 'PONY$DISK $!$ @PONY$DISK:[HQ]PONYSTART $!$ ENDIF $!$ ENDIF $! $! $! Uncomment the following command lines to start Kerberos for OpenVMS. $! $!$ IF F$SEARCH("SYS$STARTUP:KRB$STARTUP.COM") .NES."" THEN - $! @SYS$STARTUP:KRB$STARTUP.COM $! $! $! Uncomment the following command to start the OpenVMS Management $! Station server application. $! $!$ @SYS$STARTUP:TNT$STARTUP $! $! $! Uncomment the following command to have Monitor run with TCP/IP. $! $!$ @SYS$STARTUP:VPM$STARTUP.COM $! $! $! Uncomment the following command to start RPC services. $! $!$ @SYS$STARTUP:DCE$RPC_STARTUP.COM $! $! Uncomment the following command to restart the ACME_SERVER process if $! you enable ACME agents other than VMS in SYS$MANAGER:ACME$START.COM. $! This command should be executed after all dependent software required $! by an ACME agent is started. $! $! SET SERVER ACME/RESTART $! $ EXIT $