===== How To Capture and Review VMS Boot Startup Scripts ===== Like that old existential joke about the tree falling in the forest with nobody around to hear it, have you ever wondered what's happening on your OpenVMS system's console terminal during a system reboot when you're not there to look at it? By default -- and the reason for this stretches back to the earliest days of VMS and LA120 hardcopy terminals used as the OPA0:/console device -- when VMS (re)boots, all output from the reboot SYSTEM process is printed on OPA0:, the system's console terminal. This includes all output from: * The VMS bootstrap program sequence * The SYSTEM bootstrap process running VMS's own base-level SYS$SYSTEM:STARTUP.COM * The system's site-specific startup command files SYS$MANAGER:SY*.COM * Any startup com-files or programs contained in the SYSMAN STARTUP database In the ancient days of the LA120 console, you at least had about 100-feet of printed text to wade through to find any startup problems. On a VT100 or graphics console head, abandon all hope of finding problems, as the startup output scrolls by so fast that you'll likely never see it. Verify your own system's console-startup setting with: $ MCR SYSMAN STARTUP SHOW OPTIONS Current startup options on node CLASS8: DCL verification mode is: OFF Startup log will be written to console terminal Checkpointing messages are disabled If your output looks like the above, it confirms that the system is writing all startup output to the console terminal OPA0:. In particular, the system's site-specific command files (like SYS$MANAGER:SYSTARTUP_VMS.COM and the others) must execute correctly in order to get disk volumes mounted, define system/cluster-wide logical names, and to start up things like batch and printer queues, layered products (network stuff, compilers, print supervisors and more), and the business application components and support. Sometimes, it's necessary to edit one or more of these command files, to add new functionality, or to remove obsolete stuff, like a layered product startup command file that's no longer used. Make your text edit(s), change the file, save your changes... and hope it works next time you reboot? So, in order to determine if everything is executing okay in your system's startup command files, seems like you've got no choice but to be right there at your OPA0:/console terminal to watch all that text fly by, eh? Standing right there in that freezing-cold air-conditioned server room, with all that fan noise, watching lines and lines of text fly by on that console terminal screen. Must be a better way, right? Wouldn't it be great if all this output could just be captured in a text file, a log-file, for permanence and later review? It can... Read on. ==== Configuring VMS Startup Logging ==== It's easy to change VMS startup output from the console terminal to a log-file. It's done with SYSMAN: $ MCR SYSMAN SYSMAN> SET ENVIRONMENT /NODE SYSMAN> STARTUP SET OPTIONS /VERIFY=PARTIAL /OUTPUT=FILE /CHECKPOINTING SYSMAN> STARTUP SHOW OPTIONS Current startup options on node CLASS8: DCL verification mode is: PARTIAL Startup log will be written to SYS$SYSTEM:STARTUP.LOG Checkpointing messages are enabled Ah, that's much better. The output filename for the boot/startup sequence will //always// be SYS$MANAGER:STARTUP.LOG (there is no choice in this). You could set the verification to ''FULL'', but that's likely too much output. This modification changes the value of the VMS Startup Parameter ''STARTUP_P2'' -- if you check it in SYSGEN or SYSMAN, you'll see this: $ MCR SYSMAN PARAMETER SHOW STARTUP_P2 Node CLASS8: Parameters in use: ACTIVE Parameter Name Current Default Minimum Maximum Unit Dynamic -------------- ------- ------- ------- ------- ---- ------- STARTUP_P2 "PDC " " " " " "zzzz" Ascii That parameter value ''"PDC "'' encodes the ''/VERIFY=PARTIAL /OUTPUT=FILE /CHECKPOINTING'' stuff. You're all set, at least on this system... Next time it reboots, you'll have a nice, shiny new STARTUP.LOG file to admire. After that next reboot, you might want to make that file self-purge: $ SET FILE /VERSION_LIMIT=4 SYS$SYSTEM:STARTUP.LOG as there's little need to keep very many versions of this log-file around -- you'll likely never look at the older ones, the current reboot will be what's of interest. ==== Finding Lurking Problems and Errors in the VMS Startup Log-File ==== But how do you use this startup log-file effectively? Maybe you've suspected for a while that "something's not quite right with this VMS startup...", but could never "catch it on the console." How do you check for problems? CLASS8$ directory /size /date /prot sys$system:startup.log Directory SYS$SYSROOT:[SYSEXE] STARTUP.LOG;823 1837 22-OCT-2018 13:59:43.73 (RWED,RWED,RE,) STARTUP.LOG;822 1810 20-OCT-2018 06:41:05.68 (RWED,RWED,RE,) Total of 2 files, 3647 blocks. These startup log-files are fairly large -- do you need to read the whole thing? Probably best to start with this SEARCH command: $ SEARCH SYS$SYSTEM:STARTUP.LOG "-E-","-F-" /MATCH=OR /WINDOW=(1,3) This SEARCH turns up the lines with either Error or Fatal class error messages (note that the quote-marks around ''"-E-"'' and ''"-F-"'' are required), including the DCL command line that caused the error will give you grouped-lines of output (the ''/WINDOW=(1,3)'' qualifier; increase the "''1,''" to a larger value if you need to wee more previous lines) -- outputting, for example: ****************************** $ SEARCH SYS$SYSTEM:STARTUP.LOG "-E-","-F-" /MATCH=OR /WINDOW=(1,3) $ mount $82$dka0: yippiesys yippie_disk %MOUNT-F-NOSUCHDEV, no such device available $! ****************************** @sys$startup:gnv$startup.com %DCL-E-OPENIN, error opening SYS$SYSROOT:[SYS$STARTUP]GNV$STARTUP.COM; as input -RMS-E-FNF, file not found $ ENDIF $! ****************************** SEARCH-displays like this will get you "within the ballpark" of the actual DCL command line(s) which are causing errors. Armed with this, you will be able to zoom in on these with your favorite Text Editor, and with some careful thought and even more careful editing, you can fix these problems. So, armed now with your system's STARTUP.LOG file, and with careful text editing, your next and future VMS system reboots can be error-free and fully correct.