A Practical Guide to the SYSMAN STARTUP Utility Session VA300 Richard J. Faust E. I. du Pont de Nemours & Co. LOGICAL NAMES ============= · defined in SYS$SYSTEM:STARTUP.COM · may be useful to redefine some of these logical names (SYLOGICALS.COM may be used) Logical Name Equivalence Name(s) ----------------------- ----------------------------- SYS$STARTUP SYS$SYSROOT:[SYS$STARTUP] SYS$MANAGER STARTUP$PHASES SYS$STARTUP:VMS$PHASES.DAT STARTUP$STARTUP_LIST STARTUP$STARTUP_VMS STARTUP$STARTUP_LAYERED STARTUP$STARTUP_VMS SYS$STARTUP:VMS$VMS.DAT STARTUP$STARTUP_LAYERED SYS$STARTUP:VMS$LAYERED.DAT DATA FILES ========== STARTUP$PHASES -------------- Site independent phases: INITIAL,CONFIG,SYSFILES,BASEENVIRON Site dependent phases: LPBEGIN,LPMAIN,LPBETA,END Site-specific phases may be added, but not recommended since order of execution can be controlled using other methods. STARTUP$STARTUP_VMS ------------------- Listing the site-independent startup database: $ MCR SYSMAN SYSMAN> STARTUP SET DATABASE STARTUP$STARTUP_VMS SYSMAN> STARTUP SHOW FILE /OUTPUT=VMS$VMS.LIS Undocumented mode CALLED appears in the output generated by the above commands. Provides method for interactive startup of following system components: CACHE_SERVER, CONFIGURE, CSP, ERRFMT, FULL, JOBCTL, MINIMUM, OPCOM, SMISERVER, and UPGRADE. The file specification of these components follows this format: VMS$-050_.COM All files are executed in DIRECT mode in the order listed. All STARTUP* system logical names are defined by STARTUP.COM before the INITIAL phase is executed. Phase File(s) Significant Calls ----------- --------------------------- ----------------- INITIAL VMS$INITIAL-050_VMS.COM SYPAGSWPFILES.COM VMS$INITIAL-050_LIB.COM SYLOGICALS.COM CONFIG VMS$CONFIG-050_VMS.COM VMS$CONFIG-050_LMF.COM SYSFILES VMS$SYSFILES-050_VMS.COM SYCONFIG.COM LICENSE_CHECK.EXE BASEENVIRON VMS$BASEENVIRON-050_VMS.COM VMS$BASEENVIRON-050_LIB.COM LPBEGIN VMS$LPBEGIN-050_STARTUP.COM SYSTARTUP_V5.COM STARTUP$STARTUP_LAYERED ----------------------- The default file specification for STARTUP$STARTUP_LAYERED is SYS$STARTUP:VMS$LAYERED.DAT. This file contains site-dependent startup files and is the default target database referenced by SYSMAN's STARTUP command set. STARTUP$STARTUP_LAYERED Record Format ------------------------------------------------------------- Field(s) Length Notes -------- -------- ---------------------------------------- PHASE 12 Phase names are listed in STARTUP$PHASES MODE 1 Valid modes are A,B,C,D,S FILE 79 Name of procedure or file to execute P1-P8 Variable Each Pn field terminted by a line feed Controlling Order of Execution Using SORT ----------------------------------------- · PHASE and FILE fields are indexed keys, mode is not ----------------------------------------------------------------- $! SORT_VMS$LAYERED.COM $! $ set noon $ temp_file = "sys$common:[sys$startup]vms$layered.sorted" $ fdl_spec = f$parse("startup$startup_layered",,,"device",) + - f$parse("startup$startup_layered",,,"directory") + - f$parse("startup$startup_layered",,,"name") + - ".FDL" $ fdl_spec = "sys$common:[sys$startup]vms$layered.fdl" $ specification_file = "sys$common:[sys$startup]vms$layered.srt" $! $ purge /nolog 'fdl_spec' $ analyze_ /rms /fdl /out='fdl_spec' startup$startup_layered $ edit_ /fdl /nointer /ana='fdl_spec' 'fdl_spec' $ create_ /fdl='fdl_spec 'temp_file $ sort_ startup$startup_layered 'temp_file/overlay - /key=(pos:1,siz:12) - ! Phase, primary indexed key /key=(pos:13,siz:1) - ! Mode, not an indexed key /key=(pos:14,siz:79) - ! File, secondary indexed key /specification='specification_file - /statistics $ rename /log 'temp_file startup$startup_layered ----------------------------------------------------------------- ----------------------------------------------------------------- ! VMS$LAYERED.SRT Richard J. Faust 12-APR-1989 ! Required by SORT_VMS$LAYERED.COM /collating_sequence=(sequence=ascii,modification=("S"<"D")) ----------------------------------------------------------------- COMMAND PROCEDURES ================== Debugging STARTUP.COM --------------------- · Undocumented variables in STARTUP.COM control execution of files (STDRV$EXECUT) and display of messages (STDRV$VERBOSE). · Setting STDRV$VERBOSE true is a brief alternative to setting SYSGEN parameter STARTUP_P2 true. · Interactive debugging possible if STDRV$EXECUT is false. · NOTHING happens if STDRV$VERBOSE and STDRV$EXECUT are both false. Debugging alternatives: File Name STDRV$VERBOSE STDRV$EXECUT ------------------- ------------- ------------ STARTUP.COM FALSE TRUE STARTUP_VERBOSE.COM TRUE TRUE STARTUP_DEBUG.COM TRUE FALSE SYSBOOT> SET/STARTUP SYS$SYSTEM:STARTUP_VERBOSE.COM SYSBOOT> CONTINUE · Note that the file specification in the above example is limited to 31 characters. BATCH Mode Command Files ------------------------ · All BATCH mode command files submitted to SYS$BATCH · Log files START$n.LOG created IN EACH PHASE Notes on SYS$BATCH ------------------ · Queue manager and SYS$BATCH should be started in SYSTARTUP_V5.COM · Process logical SYS$BATCH can point to the queue of your choice. · Global symbols defined in SYSTARTUP_V5.COM are not available to BATCH mode files. · Avoid potential problem of crash during reboot as follows: $ set noon $ this_node = f$getsyi("nodename") $! $! Make sure the startup queue is empty before starting it. $! $ start /queue /manager site_data:jbcsysque.dat $ delete /queue 'this_node'_startup $ initialize 'this_node'_startup - /queue - /batch - /start - /job_limit=16 - /base_priority=4 - /protection=(g:rw,w) $ define sys$batch 'this_node'_startup Phase Boundaries and Synchronization: Streamlining Execution ------------------------------------------------------------- · Advantage of parallel processing maximized only if BATCH mode files are the first to execute in each phase. · Use SORT_VMS$LAYERED.COM to further control the order in which files are executed. Interactive Login Limit ----------------------- The timing of enabling interactive logins can be controlled by redefining STARTUP$INTERACTIVE_LOGINS as 0 in SYSTARTUP_V5.COM. A procedure then can be created to enable interactive logins and called from the startup database at a more appropriate time. USER INTERFACE ============== Limitations and Undocumented Features ------------------------------------- · Parameters may be only 30 characters in length (probably a quirk of SYSMAN.EXE). · All startup files must be located in the directories defined by the logical search list SYS$STARTUP. · A given file may be called only once during system startup. · All parameters must be reentered if an entry in a database is modified. · Command procedures which are called from the startup database have default values for P1-P8 which are derived from SYSGEN parameters STARTUP_Pn. Parameters must explicitly be set to null values to avoid conflict. In particular, STARTNET.COM should be entered in the database with null parameters to avoid conflict: $ MCR SYSMAN SYSMAN> STARTUP ADD FILE STARTNET.COM /PAR=(P1,P2,P3,P4,P6,P6,P7,P8) · BATCH mode files can be submitted only to SYS$BATCH. · There is no explicit control over the order in which files are executed in a given phase. · The STARTUP$STARTUP_VMS and STARTUP$STARTUP_LAYERED database files can not be read while another system in a cluster is booting. Using Variable Parameters ------------------------- $ MCR SYSMAN SYSMAN> STARTUP MODIFY FILE START_RJE.COM - SYSMAN>_/PAR=(P1:"''F$TRNLNM(""RJE_NODE"")'",P2,P3,P4,P5,P6,P7,P8) SYSMAN> STARTUP SHOW FILE START_RJE.COM /FU %SYSMAN-I-COMFIL, contents of component database on node MYNODE Phase Mode File ------------ ------ --------------------------------- LPMAIN DIRECT START_RJE.COM Enabled on All Nodes P1:''F$TRNLNM("RJE_NODE")' P2: P3: P4: P5: P6: P7: P8: SUBMITTED TO DECUS PROGRAM LIBRARY ================================== · More complete documentation (A Practical Guide to the SYSMAN STARTUP utility) in ASCII and VAX Document formats · STARTUP_SHELL.COM · REDEFINE_SYS$STARTUP.COM · Source code for other procedures.