[an error occurred while processing this directive]

HP OpenVMS Systems

OpenVMS Technical Journal V8
» 

HP OpenVMS Systems

OpenVMS information

» What's new on our site
» Upcoming events
» Configuration and buying assistance
» Send us your comments

HP OpenVMS systems

» OpenVMS software
» Supported Servers
» OpenVMS virtualization
» OpenVMS solutions and partners
» OpenVMS success stories
» OpenVMS service and support
» OpenVMS resources and information
» OpenVMS documentation
» Education and training

OpenVMS software

» Operating system
» OpenVMS clusters
» OpenVMS Galaxy
» e-Business products
» Opensource tools
» Networking
» System management
» Storage management
» Security products
» Application development and integration
» Software licensing
» SPD listings
» Whitepapers
» Ask the wizard
» Training
» OpenVMS books

Evolving business value

» Business Systems Evolution
» AlphaServer systems transition planning
» Alpha RetainTrust program

Related links

» HP Integrity servers
» HP Alpha systems
» HP storage
» HP software
» HP products and services
» HP solutions
» HP support
disaster proof
HP Integrity server animation
HP Integrity server animation
Content starts here

What's in your AlphaServer console?

Kostas G. Gavrielidis (GSE-MSE) Master Technologist HP Services

Overview

An HP Services engineer at a customer production environment must find out how a given AlphaServer has booted up and identify some of the console parameter settings.

This article explores how to get to the Alpha console and how to get the settings for the console environment variables from the operating system via implemented console callbacks.

In HP customer production environments, are we very rarely allowed to shutdown or reboot a production system, let alone try to connect a device to the console of the system. Our customers will allow only a secure connection to their production systems via the SSH[1] protocol. This will get us only to the operating system level. So how do we get the environmental variables and their settings from the boot loader[2] without taking the system down?

What is the SRM?

All HP Alpha systems running the OpenVMS, Tru64 UNIX, and the Linux operating systems come with the System Reference Manual (SRM) console subsystem in their firmware, perhaps along with other consoles such as the ARC/AlphaBIOS console. The SRM has control of the system hardware and provides the following features (please see the Alpha Architecture Reference Manual for more details):
  • Initializes, tests, and prepares the hardware platform for system software
  • Loads in memory and starts the execution of the system software
  • Controls and monitors the state changes of all processors
  • Provides services to system software that simplify system software control of, and access to platform hardware
  • Provides a monitor and control of the system
The Privileged Architecture Library (PALcode) provides a mechanism to implement a range of functions, provided by the SRM, consistently without microcode. These functions range from the binary encoding of the instruction and data to the execution mechanisms and synchronization primitives.

Some of the more useful SRM commands (at the ">>>" prompt), include: show device, show config | more, e pc, e sp, e ps, e r26, crash, halt, init, boot, memtest, memexer_mp, show fru, sys_exer, test, and wwidmgr.

Here is the SRM command to show all devices.

This is the SRM command to show hardware configuration.

Here is the command for examining the pc, sp, ps and r26 registers.

What are the console environment variables?

An environment variable is a name and value association that is maintained by the console program. There are two types of environmental variables: volatile and nonvolatile. The volatile variables are initialized to their default by a system reset, and the nonvolatiles remain as set across system power cycles. Alpha systems have a variety of variables with values set up within the SRM system console. These environment variables control the particular behavior of the console program and the system hardware, the particular console interface presented to the operating system, various default values for the operating system bootstrap, and related control mechanisms. In other words, ''the environment variables provide an easily extensible mechanism for managing complex console state.''

Most users will never see or have a need to use the console system on the Alpha platforms. Technologists who provide proactive consulting and support to the customer production environments, however, must know the settings of certain important console variables such as: auto_action, boot_dev, booted_dev, boot_file, booted_file, boot_osflags, booted_osflags, console, os_type, pal, and sys_serial_num. The specific number and names of these variables vary from platform to platform and by firmware version.

How to get to the Alpha console

The console prompt varies from ">>>" to "Pnn>>>"

   where nn is the 00 | 01 | 02 | ... | nn CPU processor.

Several methods are available to get to the console:

  • After an orderly shutting down of the system On Tru64 UNIX:
    # /usr/sbin/shutdown -h now "system is going down..."
    ...
    # /usr/sbin/halt
    >>>
    
    On OpenVMS:
    $ @SYS$SYSTEM:SHUTDOWN.COM 
    ...
    >>>
    
  • Pressing the HALT button on the system
  • From a direct serial connection to the Alpha console, issue the <Ctrl>P command to get to the console prompt ">>>" (or "P00>>>"), as shown in the example below.


To control the behavior of the system hardware, SRM provides a variety of environment variables as a means of managing the system states. For a complete list of all the console environment variables and their values issue the command "show *" from the console prompt "P00>>>".


One of the tools that allows console access among other things is ConsoleWorks[3] by TECSys Development Inc. (TDi). Figure 1 shows HTTP access to ConsoleWorks. The port used by ConsoleWorks is 5176, and normally the path to it will be similar to the URL: http://hostname.domain.com:5176/.


Figure 1 - ConsoleWorks Web interface

Once connected, choose the top menu option manage → Consoles → Show Consoles to get a list of all configured and available consoles to connect to. The resulting screen will be similar to Figure 2 below.
Figure 2 - Available consoles

HP Tru64 UNIX Alpha Console

In HP Tru64 UNIX, two system functions, getsysinfo(2) and setsysinfo(2), are available for use by C programs to get and set the console environment variable values. The getsysinfo(2) function with the GSI_PROM_ENV operation can be used to obtain the current value of the PROM console environment variables. The following small C program shown below -- getcvar.c -- illustrates this capability.


For more information on both the getsysinfo() and setsysinfo() functions please refer to the man pages.

Makefile for the getcvar C program

Compiling and running the getcvar C program


Figure 3 - Compiling and running the getcvar.c program

As with the getcvar program, one can write a setcvar program that would take a variable name and variable value pair and set it, as in this example:

        # setcvar boot_reset OFF
And in general:
        # setcvar <console_var_name> <console_var_value>
by making the following modifications to the getcvar program.

Include the <machine/prom.h> header file in addition to the others:

Define two string variables, env_name and env_value, and assign the environment variable name and its value to each one, respectively, from the command line:

Call the system function setsysinfo() with the correct parameters:

For assistance with writing your version of the setcvar program contact the author for a working version of the setcvar program.

/sbin/consvar Tru64 UNIX program

Another method of getting and setting the values of the console variables involves the /sbin/consvar program.

Obtain a verbose (-v option) of all variables with their values (-l option):

HP OpenVMS Alpha Console

The HP OpenVMS operating system provides two methods of getting the console environment variables: the lexical function f$getenv() and the sys$getenv() system service library call. Figure 4 illustrates how to use the lexical function f$getenv() from the operating system prompt to get the value of the auto_action console variable.

Figure 4 - Using the f$getenv() lexical function

The next example, illustrates how to obtain the value of the console variable auto_action from the console using a direct serial connection to the system console:

Note the <Ctrl>P is not the username but the two keyboard keys:

To enter the SRM console, hold down the Ctrl key and press the P key.

Figure 5 illustrates how to get the value of the Alpha console variable auto_action from the console using the ConsoleWorks tool.

Figure 5 - ConsoleWorks access to Alpha console

Existing HP tools that get the console variables and their values

The two tools used by HP Services professionals to collect AlphaServer system configuration information are the sys_check for HP Tru64 UNIX and the VMS_Check[4] for HP OpenVMS platforms.

sys_check

The sys_check tool gets the console variables on HP Tru64 UNIX systems. The following window (fig. 6) represents a typical report of the information collected by sys_check.

Figure 6 - sys_check report on the console variables

VMS_Check

The VMS_Check tool gets the console variables on HP OpenVMS systems. The following window (fig. 7) represents a portion of the information provided by VMS_Check on the HTML generated code as it is viewed in Microsoft Internet Explorer.

Figure 7 - VMS_Check report of the console variables

How to update the SRM console

There are several methods available to update the SRM firmware, depending of the Operating System. One method, that is common to all, involves creating a bootable firmware update CD-ROM from an ISO image available from the URL: http://h18002.www1.hp.com/alphaserver/firmware/, and then booting the system from the created bootable CD-ROM.

Summary

This article explored the Alpha SRM console and the different ways to access it and to set and retrieve the values of the console environment variables.

References

GRUB - ftp://alpha.gnu.org/pub/gnu/grub/

LILO - http://www.tldp.org/HOWTO/LILO.html

MILO - http://www.tldp.org/HOWTO/MILO-HOWTO/index.html

EFI - http://www.intel.com/technology/efi/

TECSys Development Inc (TDi) - http://www.tditx.com/

Sys_check - http://h30097.www3.hp.com/sys_check/

VMS_Check - To learn more about VMS_Check please see the OpenVMS Technical Journal article at the URL: http://h71000.www7.hp.com/openvms/journal/v7/vms_check_tool.html and to get a copy of the VMS_CHECK tool please download it from the URL: http://h71000.www7.hp.com/openvms/journal/v7/vms_check.zip. Please email the author with any questions or comments regarding VMS_Check.

HP AlphaServer ES47/Es80/GS1280 Server Management SRM Console Reference Guide V1.0 - http://h18002.www1.hp.com/alphaserver/download/srm_reference.pdf

Alpha Systems Firmware Updates - http://h18002.www1.hp.com/alphaserver/firmware/

Alpha Architecture Reference Manual - http://lab46.corning-cc.edu/haas/spring2005/asm/public/doc/Alpha_Architecture_Reference_Manual.pdf

Acknowledgements

The author wishes to acknowledge his GSE-MSE colleagues Laurence Oberman and Joe Bowker for providing access to the ConsoleWorks configurations on Tru64 Unix and OpenVMS systems in the MSE interoperability lab. In addition, I would like to thank Ken W. Campbell, Bayard W. Wenzel, and Ken Sullivan, also from GSE-MSE, for their review of this article and for their valuable feedback and contributions.

About the Author

Kostas G. Gavrielidis works in GSE-MSE which is part of HP Services Customer Support and has been at HP for more than 22 years. Currently, and for the last 12 years, he is involved with the MSE proactive consulting projects for our customer production Database Management systems, and he works on the analysis and performance improvements for SAP R/3, Oracle, Rdb, Ingres, SYBASE, SQL Server on UNIX, Linux, OpenVMS, and Windows platforms.

For more information

Please contact the author with any questions or comments regarding this article or the VMS_Check tool.

To get to the latest issue of the OpenVMS Technical Journal, go to: http://www.hp.com/go/openvms/journal



[1]ssh (secure shell) is a program for logging into a remote system and for executing commands on the remote system. It is intended to replace rlogin and rsh, and provide secure encrypted communications between two un-trusted hosts over an insecure network.

[2] A boot loader or boot manager is a program that loads the image of the operating system to be run on a particular hardware platform. Other boot loaders include the GNU's Grand Unified Boot Loader (GRUB), the Linux Loader (LiLo), the Windows NT loader (NTLDR), the aboot loader, the Alpha miniloader (MILO), Initial System Loader (ISL) for PA-RISC systems, Extensible Firmware Interface (EFI) for Itanium systems.

[3] ConsoleWorks is developed by TECSys Development Inc. (TDi), and it is a Web-based enterprise event monitoring, event management and regulatory compliance software solution. It provides secure remote monitoring and management for enterprise networks, server, devices and applications. Additionally captures, audits and logs console data from these devices. For more details see the URL: http://www.tditx.com/consoleworks.html

[4] For more information on VMS_Check please reference the OpenVMS Technical Journal article http://h71000.www7.hp.com/openvms/journal/v7/vms_check_tool.html or contact the author.


» Send feedback to about this article