SYSTARTUP VMS.COM

From VSI OpenVMS Wiki
Jump to: navigation, search

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:


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
$