User Tools

Site Tools


documentation:srm

Using the SRM Console

This page covers everyday use of the SRM console with Linux: reaching the >>> prompt, setting up a serial console, the commands most often needed, and booting a current distribution. The SRM Console page describes the firmware itself, its environment variables and device names in more detail, and its history.

Reaching the prompt

With auto_action set to halt, the default, an SRM system stops at the >>> prompt after its power-on tests. Multiprocessor systems print P00>>>, where the number is the primary CPU. 1) If the system is set to boot automatically, or is running an operating system, there are several ways back to the prompt:

  • Ctrl+C during startup. Pressing Ctrl+C repeatedly while the console is initializing, before it starts the boot, stops the automatic boot. 2)
  • The Halt button. Most Digital systems have a Halt button on the front panel. Pressed in at power-up, it brings the system up at the SRM prompt whatever auto_action says; pressed while an operating system runs, it sends a halt interrupt to the CPU. 3) A button left in brings the system up at the prompt on every power-up.
  • Ctrl+P. Ctrl+P halts OpenVMS from a serial console, 4) but under Linux it is an ordinary character. Under Linux, Magic SysRq b has the same effect on a system booted from SRM: it halts to the prompt instead of rebooting; see Kernel: Debugging.
  • Shutting down Linux. halt or poweroff returns to SRM on most systems, although SRM may then report machine checks or show a blank screen, because Linux has changed the state it left the system in; init at the prompt resets it. See Known issues.
  • The remote management console. Systems with an RMC, such as the ES40, DS20E, and ES45, can halt and reset the system from the RMC prompt, reached with its escape sequence on the COM1 port. See Remote management.

A system that booted ARC or AlphaBIOS instead of SRM is switched as described in Switching to SRM. On most dual-console systems the Halt button pressed in at power-up also forces SRM. 5)

Serial console

A serial console is the most convenient way to use an Alpha system today: it needs no keyboard or supported video card, it can be logged, and it shows kernel messages that a graphics console loses when a boot fails. Both sides must be set up: the firmware, and Linux.

Firmware

>>> set console serial
>>> init

console takes graphics or serial, and the change takes effect after init or a power cycle. 6) If no keyboard is connected, SRM uses the serial console regardless. 7)

The console uses the first serial port (COM1), at 9600 baud, 8 data bits, no parity, and one stop bit; com1_baud changes the speed on systems that have it. 8) set com1_baud without a value lists the speeds the console accepts, up to 57600 on the ES40, and set com1_baud 57600 selects one. 9) The kernel's console= argument and the terminal program must then use the same speed.

Some Digital systems have a 6-pin DEC MMJ connector for COM1 rather than a 9-pin D connector, and need an MMJ cable and adapter; on the AlphaServer 800 the MMJ port is COM1. 10) The cable to a modern computer is a null modem cable, or a USB serial adapter with a null modem cable or adapter. A terminal program on the other end is set to the same speed, for example:

picocom -b 9600 /dev/ttyUSB0

Linux

Linux does not inherit the firmware's console setting. The kernel must be told to use the serial port, with console=ttyS0 in the kernel arguments (see Booting Linux). The speed can be given as well, as in console=ttyS0,9600n8, to match the console's. If a graphics console is also wanted, both can be given; the last one named becomes /dev/console. The ES47, ES80, and GS1280 need console=srm (below) instead of console=ttyS0; see Marvel.

For the permanent setting, add console=ttyS0 to the entry in /etc/aboot.conf, or to boot_osflags if the kernel arguments are kept there. Most distributions start a login prompt on the kernel's console automatically, at the kernel's console speed.

Two more options use the firmware's own console routines rather than the serial driver, and are useful when a kernel fails too early for the serial driver to print anything:

  • srmcons echoes the kernel's early messages through the SRM console until the real console driver takes over.
  • console=srm uses the SRM console routines for the whole session. It is slow, but works on any SRM system, whatever its serial hardware.

Both are handled in arch/alpha/kernel/setup.c, 11) and listed with the other Alpha parameters under Kernel: Kernel parameters.

Remote management

The later Compaq servers have a remote management console (RMC), a separate microcontroller powered whenever the system has AC power, which shares COM1. 12) From the RMC prompt, the system can be powered on and off, halted, and reset remotely, and its status and environmental sensors read. It is reached by typing its escape sequence on the COM1 port, by default Ctrl+[ Ctrl+[ rmc (Esc Esc rmc on most keyboards), and left again with quit. 13) The system's own user guide describes the details, which differ from system to system.

The ES47, ES80, and GS1280 have a backplane manager (MBM) instead, with its own MBM> command line. Its connect command reaches the SRM console, and Esc Esc MBM returns to the MBM> prompt; see Marvel: Server management.

Everyday commands

The commands below cover most of what is needed to run Linux. Commands may be abbreviated, and numeric arguments are usually hexadecimal. The full list is on the SRM Console page and in each system's documentation. Not every console has every command; show fru in particular is found only on the larger systems.

Command What it shows or does
show config The model, firmware versions, CPUs, memory, and every PCI and EISA device. The first thing to capture when asking for help
show device Bootable devices, by their SRM names such as dka0 or dqa0, and network interfaces such as ewa0
show version The SRM firmware version
show * Every environment variable; show boot* shows only the boot settings
show memory The memory configuration, by bank or module 14)
show pal The OpenVMS and Tru64 UNIX PALcode versions. Linux uses the Tru64 (OSF/1) PALcode 15)
show fru Field-replaceable units, with part and serial numbers, on the systems that support it 16) 17)
show cpu The state of each CPU on multiprocessor systems 18)
set variable value Set an environment variable; the change is saved at once but some take effect only after init
init Reinitialize the system, as after power-up
boot Boot, see below
test Run the system's diagnostics
isacfg Edit the console's table of ISA devices on the Digital Semiconductor motherboards, which cannot detect ISA cards by themselves. The table is for Tru64 UNIX and OpenVMS; Linux does not read it 19)
wwidmgr Register Fibre Channel disks so that SRM can boot from them 20)

Each SCSI controller has variables named after it, with the controller's letter in place of the *: pka0_host_id for the first controller, pkb0_host_id for the second, and so on. pk*0_host_id sets the controller's own SCSI ID, 7 by default, which needs changing only when two controllers share a bus. pk*0_fast runs the bus in fast (1, the default) or standard (0) SCSI mode, and pk*0_soft_term sets the terminators of QLogic ISP1020 controllers to on (the default), off, low, or high. All three take effect after init. 21) On KZPEA (Adaptec) controllers with SRM V6.1 or later, the ID is set instead in the controller's own utility, started with run bios pka0, and show pk* only displays it. 22)

Booting Linux

Current distributions install aboot on the boot disk, and SRM loads it from there. With /etc/aboot.conf in place, a boot needs only the device and the number of an aboot.conf entry:

>>> show device
>>> boot dka0 -flags 0

Without an aboot.conf, or to boot a different kernel, name the kernel's partition and path and give the kernel arguments. The partition is a digit, 1 for a up to 8 for h; paths are relative to the partition:

>>> boot dka0 -file 2/vmlinux.gz -flags "root=/dev/sda3 console=ttyS0"

SRM and Linux name disks independently. On a simple system the first SCSI disk, dka0, is /dev/sda under Linux, 23) but Linux numbers disks in the order it finds them, so with other disks or controllers present the boot disk may get another name, and the root= argument has to name it. 24) Partition numbers do correspond: partition n in SRM and aboot is partition n under Linux, as described under Installation: Partitioning.

-flags i starts aboot's interactive prompt, whose l command lists the aboot.conf entries. The variables that make the system boot unattended, bootdef_dev, boot_file, boot_osflags, and auto_action, are set as described under Installation: Booting the installed system.

A kernel can also be booted from the network with BOOTP and TFTP, for example boot -protocols bootp ewa0. ewa0_protocols sets the default protocol for the first Ethernet interface, mop unless changed, and ewa0_mode its media type, such as fast or fastfd for 100BaseT; other interfaces use ewb0_ and so on. 25) See aboot: Network booting for the server side.

If the system halts back to the prompt instead of booting, the usual causes are:

  • The disk has no BSD disklabel or no aboot. Check that show device lists the disk, and see Partitioning.
  • The kernel is not on the named partition, or the partition number is wrong. Boot with -flags i and list the directory with aboot's d command.
  • A pre-EV56 processor with a kernel from Linux 6.10 or later, which stops without printing anything. See Current Status.

wwidmgr

SRM does not scan Fibre Channel storage for bootable disks by itself. wwidmgr lists the disks it can see on a Fibre Channel loop or fabric and assigns each a small number, so that it appears as a dga device in show device. On the AlphaServer 1200, 4000, 4100, 8200, 8400, GS60, and GS140 it runs only in diagnostic mode, entered with set mode diag. On every system, init or a reset is needed after using it and before booting. 26) 27)

>>> wwidmgr -show wwid
>>> wwidmgr -quickset -udid 10
>>> init
>>> show device

Firmware versions

Use the last SRM version released for the system, listed in the table of final versions. Older versions may be too old for Linux: the DS20E, for example, needs V5.6-3 or later, 28) and booting from Adaptec SCSI controllers needs V5.8 on the AlphaPC 164LX and 164SX and V5.9 on the DS10, DS20, ES40, and XP1000 (see Known issues). 29)

Archived firmware images and the update procedure are described in Firmware: Obtaining and updating firmware.

Updating from the firmware CD

The later AlphaServers and workstations are updated by booting the Alpha Systems Firmware Update CD, the last of which is V7.3, from the SRM prompt. If an operating system has run since power-up, init first resets the system. The CD's loader offers a default image at its Bootfile: prompt, and pressing Enter starts the Loadable Firmware Update utility (LFU): 30)

>>> show device
>>> init
>>> boot dka500
Bootfile:
UPD> list
UPD> update
UPD> verify
UPD> exit

list shows the installed and available version of each firmware, update writes them all after asking for confirmation, and update pka0 updates only the named adapter. verify compares the flash contents with the loaded images, and exit resets the system into the new firmware. Firmware older than the installed version should not be loaded; a system shipped late may already have a newer version than the CD. 31) On the ES45, LFU starts in a default mode that updates SRM, SROM, and I/O adapter firmware; the RMC firmware is updated in manual mode, entered by typing exit and answering yes. Each device is reported as "Verifying … PASSED" when it has been written, and the update must not be interrupted. 32)

Recovering from a failed update

A system whose console firmware is corrupted, for example by an interrupted update, no longer reaches the SRM prompt. The ES45 recovers with its fail-safe loader: with jumper J22 moved from its default position 1-2 to 2-3 and a fail-safe loader floppy in the drive, power-on loads a limited SRM console from the floppy, which prints the P00»> prompt. From it, the firmware CD is booted and the firmware updated in LFU manual mode; the system is then powered down and the jumper returned to 1-2. The floppy is made on a PC with the mkboot utility and the system's fail-safe loader image. 33) The recovery methods of other systems, such as the fail-safe booter of the Digital Semiconductor motherboards, are listed under SRM Console: Updating firmware.


2) "Re: Getting out of aboot in SRM?", Jay Estabrook, axp-list, 2 Jun 1997
7) "Re: installation on PC164LX, SRM 5.1-3, serial console", Jay Estabrook, axp-list, 1 Jul 1998
23) SRM Firmware Howto, v0.8.1, 14 Feb 2004
24) "Re: Bizzare dual boot problem on DS20..", W Bauske, axp-list, 17 May 2000
29) "Re: Alpha PC164, SRM, and Adaptec 2940UW", Jay Estabrook, axp-list, 11 Apr 2001
documentation/srm.txt · Last modified: by 127.0.0.1