prom - PROM monitor
The PROM monitor is a program that resides in programmed read-only
memory, which controls the startup of the system. The PROM is started
whenever the system is first powered on, reset, or shutdown by the
The PROM contains features that vary from system to system. Description
of various commands, options, and interfaces below may not apply to the
PROM in your system and may vary between systems.
When the system is first powered on, the PROM runs a series of tests on
the core components of the system. It then performs certain hardware
initialization functions such as starting up SCSI hard disks,
initializing graphics hardware, and clearing memory. Upon successful
completion of these tasks, the PROM indirectly starts the operating
system by invoking a bootstrap loader program called sash, which in turn
reads the IRIX kernel from disk and transfers control to it.
By default, the PROM attempts to boot the operating system kernel when
the system is powered on or reset. Before doing so, however, the
opportunity to press the <Escape> key is given. If the <Escape> key is
pressed within approximately ten seconds, the PROM displays a menu of
alternate boot up options. These other choices allow various types of
system maintenance to be performed:
1. Start System
Causes the system to boot in the default way. It is the same as if
the system had been allowed to boot on its own.
2. Install System Software
Transfers you to a menu that allows you to interactively select the
type of device you will use to perform the installation (for
example, tape drive, network connection, or CD-ROM drive) and then
select the specific device from those of the specified type.
3. Run Diagnostics
Invokes the extended hardware diagnostic program, which performs a
thorough test of the CPU, I/O, and any graphics boards present. It
reports a summary. This option is not implemented on all systems.
4. Recover System
Transfers you to a menu that allows you to interactively select the
type of device you will use to perform the recovery (for example,
tape drive, network connection, or CD-ROM drive) and then select the
specific device from those of the specified type.
5. Enter Command Monitor
Command monitor is a PROM mode where you can enter commands.
Additional functions can be performed from this interactive command
monitor. It puts the PROM into a manual mode of operation.
6. Select Keyboard Layout
Some systems display a sixth option when the console is on the
graphics display, which allows the keyboard map to be interactively
selected for SGI supported international keyboards.
Manual Mode [Toc] [Back]
The PROM command monitor allows the user to customize certain features of
the boot process for one-time only needs or longer term changes. The
command monitor has some features that are similar to an IRIX shell such
as command-line options and environment variables. Some of the
environment variables used in the PROM are stored in nonvolatile RAM,
which means that their values are preserved even after the power to the
system is turned off. For specific information on your system, see the
owner manuals and other documentation that came with it.
Manual Mode Commands [Toc] [Back]
The following list of manual mode commands include brief descriptions and
syntax examples. These commands may or may not be supported by your
system. From the PROM prompt >>, enter help to see the commands your
auto Attempts to boot the system into normal operation. This
command is the equivalent of the Start System menu command.
boot Boots the named file with the given arguments.
boot [-f path] [-n] [args]
disable Disables hardware.
disable -m modid -s slotid [-cpu a|b|c|d] [-mem ] [-pci ]
enable Enables hardware.
enable -m modid -s slotid [-cpu a|b||c|d] [-mem ] [-pci ]
enableall Enables all disabled components.
enableall [-y] [-list]
exit Exits manual mode and returns to the PROM menu.
flash Flashes all appropriate PROMs with file.
flash [-e] [-m modid] [-N nasid] [-f] [-F] [-y] [-v] [-e] [-l] [-C] file
help Displays a short summary of the commands available in manual
hinv Lists the hardware present in the system. This list includes
any disk or tape drives, memory, and graphics options. It
lists only those devices known to the PROM and may not include
all optional boards.
hinv [-v] [-m] [-mvv] [-g path]
init Causes a partial restart of the PROM. This command can be used
to change the default console immediately. See the console
ls Lists files on a specified device.
modnum Lists all current modules or bricks in the system.
passwd Sets the PROM password.
pod Enters the POD (Power On Diagnostics) mode command interpreter.
POD mode is a command interpreter present in the PROM, which is
most often used to debugging a crashed system. POD can be used
to examine the contents of CPU registers, support chip
registers, and memory. It can also enable and disable certain
compute node features, such as CPUs, I/O, and memory banks. To
obtain a list of available POD monitor commands, enter help at
the POD monitor prompt. For additional POD information, see
the documentation that came with your system.
printenv Lists the current state of the PROM environment variables.
Some of the variables listed retain their value after the
system is powered off.
resetenv Sets all of the PROM nonvolatile environment variables to their
factory defaults. This command does not affect the PROM
resetpw Removes the PROM password. With no PROM password set, all
commands and menu options function without restriction.
setenv Sets environment variables.
setenv [env_var_string value]
setpart Transfers you to a menu that allows you to interactively set up
system partitioning. System partitioning is not supported on
all systems. See your owner documentation for more information
on partitioning your system.
single Boots the system in single-user mode.
unsetenv Clears an environment variable.
update Updates the stored hardware inventory information.
version Displays the command monitor version.
Command Monitor Environment Variables [Toc] [Back]
The command monitor maintains an environment, which is a list of variable
names and corresponding values (the values are actually text strings).
These environment variables contain information that the command monitor
either uses itself or passes to booted programs. The system stores some
environment variables (those that are important and unlikely to change
frequently) in nonvolatile RAM. If you turn off power to the machine or
reset the system, the system remembers these variables. When you change
the setting of these variables using the setenv command, the PROM code
automatically stores the new values in nonvolatile RAM.
You can also use the /sbin/nvram command to set or print the values of
nonvolatile RAM variables on your system. For complete information on
the nvram command, see the nvram(1M) man page.
AutoLoad Controls whether the system boots automatically on
reset or power cycle. Can be set to Yes or No.
Previously, this function was controlled by setting
bootmode to c or m. This variable is overridden by the
rebound variable and the reboot_on_panic kernel tunable
parameter. This variable is stored in nonvolatile RAM.
autopower Specifies whether a setting of y allows a system with
software power control to automatically power back on
after an AC power failure. The default setting of n
requires the power switch to be pressed to restart the
system. This variable is stored in nonvolatile RAM.
bootfile Controls two aspects of the automatic boot up process:
1. It names the standalone loader that is used as an
intermediary when booting from disk.
2. The device portion of the filename is used to
determine the default boot disk.
The PROM assumes that the disk specified as part of the
standalone loader pathname is the disk where the IRIX
root filesystem exists. Furthermore, during software
installation, the PROM uses that disk's swap partition
for the miniroot. The actual partitions assumed by the
PROM to contain the root filesystem and swap area are
determined by reading the volume header. This variable
is stored in nonvolatile RAM. See the vh(7M) man page
for more information.
boottune Selects the boot music string. A value of 0 randomizes
the selection each time. 1 is the default value. (It
is supported only on POWER Indigo2 and Octane systems.)
console Sets the system console. If console is set to g or G,
the console is assumed to be the graphics display. On
some systems with multiple graphics adapters, setting
console to g0 (identical to g), g1, or g2 can be used
to select alternate graphics displays. If console is
set to d, the console is assumed to be a terminal
connected to the first serial port. In addition, some
systems also accept d2 for a terminal connected to
second serial port. Lastly, this can be overridden on
some systems by removing the password jumper, which
forces the console to g, which is useful for for
recovering from setting console to d when a terminal is
not available. This variable is stored in nonvolatile
Are set at system startup automatically from the
dbaud Specifies the diagnostic baud rate. It can be used to
specify a baud rate other than the default when a
terminal connected to serial port #1 is to be used as
diskless Specifies that the system is diskless and must be
booted over the network. The diskless system
environment parameters should be set as follows:
keybd Specifies the type of keyboard used. The default is
df. Available settings depend on the exact PROM
revision, but may include some or all of the following
settings: USA, DEU, FRA, ITA, DNK, ESP, CHE-D, SWE,
FIN, GBR, BEL, NOR, PRT, CHE-F. Or on systems with the
keyboard layout selector, the settings may include: US,
DE, FR, IT, DK, ES, deCH, SE, FI, GB, BE, NO, PT, frCH.
On some systems, JP is also acceptable to specify a
netaddr Used when booting or installing software from a remote
system by Ethernet. This variable should be set to
contain the Internet address of the system. It is
stored in nonvolatile RAM.
OSLoader Specifies the operating system loader. For the IRIX
system, this is sash. This variable is stored in
nonvolatile RAM, but is normally left unset, which
allows the PROM to automatically configure it at system
OSLoadFilename Specifies the filename of the operating system kernel.
For the IRIX system, this is /unix. This variable is
stored in nonvolatile RAM, but is normally left unset,
which allows the PROM to automatically configure it at
OSLoadOptions Specifies the contents of this variable are appended to
the boot command constructed when autobooting the
system. This variable is stored in nonvolatile RAM.
OSLoadPartition Specifies the device partition where the core operating
system is found. For the IRIX system, this variable is
used as the root partition when the root variable is
unused or not available and the device configured in
the system file with the ROOTDEV directive is not
available. (See the system(4) man page.) This
variable is stored in nonvolatile RAM, but is normally
left unset, which allows the PROM to automatically
configure it at system power-on.
ProbeAllScsi Specifics that all devices on the SCSI bus are
automatically examined for disks.
root Specifies filesystem information that is passed on to
the IRIX system.
rebound Specifies that the system should automatically reboot
after a kernel panic if this variable is set to y. The
variable interacts with the AutoLoad variable and the
reboot_on_panic kernel tunable parameter.
sgilogo Specifies whether the SGI logo and other product
information are shown on systems that support the
standalone GUI. To show this information, set the
variable to y. This variable is stored in nonvolatile
SystemPartition Specifies the device where the operating system loader
is found. This variable is stored in nonvolatile RAM,
but is normally left unset, which allows the PROM to
automatically configure it at system power-on.
volume Sets the speaker volume during boot up. This variable
controls the volume of the startup, shutdown, and bad
graphics tunes generated on systems with integral audio
hardware. This variable is stored in nonvolatile RAM.
Environment Variables That Affect the IRIX Operating System
Some environment variables directly affect the IRIX operating system and
are discarded if the system is powered off.
initstate Is passed to the IRIX system, where it overrides the
initdefault line in the /etc/inittab file. Permitted
values are s and the numbers 0-6. See the init(1M) man
path Specifies a list of device prefixes that tell the command
monitor where to look for a file, if no device is
showconfig Prints extra information as the IRIX system boots. If set
through setenv, its value must be istrue.
swap Specifies in IRIX notation the swap partition to use. If
not set, it defaults to the partition configured into the
operating system, which is normally partition 1 on the
drive specified by the root environment variable.
verbose Tells the system to display detailed error messages.
Command Monitor Filename Syntax [Toc] [Back]
When you specify filenames for command monitor commands, use this syntax:
device Specifies a device driver name known to the PROM.
cntrlr Specifies a controller number for devices that may have
unit Specifies a unit number on the specified controller.
partition Specifies a partition number within a unit.
file Specifies a pathname for the file to be accessed.
If you do not specify cntrlr, unit, and partition, they default to zero.
The notation shows that you can specify only a controller, a unit and
partition, or all three variables. The commas are significant as place
For example, the root partition (partition 0) on a single SCSI disk
system is shown as:
0 The first 0 indicates SCSI controller 0.
1 The 1 indicates drive number 1 on SCSI controller 0.
0 The final 0 indicates partition 0 (root partition) on drive 1 on SCSI
The /usr partition (partition 3) on the same disk would be written as:
Device Names in the Command Monitor
The command monitor defines the following devices:
Device Name Description
dksc SCSI disk controller (dks in the IRIX system)
tpsc SCSI tape controller (tps in the IRIX system)
tty CPU board uart
tty(0) Local console
tty(1) Remote console
gfx Graphics console
console Pseudo console, which may be one of gfx(0), tty(0), or
bootp Ethernet controller using bootp and TFTP protocols (See
tftp(1C) man page.)
tpqic Quarter-inch QIC02 tape drive
Virtual Debug Switch Settings
PROM boot behavior can be altered by changing the value of the virtual
debug switch. The value of the virtual debug switch can be displayed or
altered from either the system controller or from POD mode with the dbg
POD command. The values in the following list of virtual debug switch
settings are hexidecimal numbers. These values can be OR-ed together to
set multiple options.
Diagnostic Testing Level
0 Normal testing.
1 No testing.
2 Heavy testing.
3 Manufacturing-level testing.
Diagnostic Output Level
4 Verbose. Information level is set to verbose.
Boot Stop Point
0 Normal. Normal setting, do not stop.
8 Global POD. Global master stops in POD mode; slaves enter slave
10 Local POD. Boot stop requested at local POD. All local masters and
CPUs with console access enter POD mode; the rest enter the slave
18 Memoryless POD. Boot stop requested at no memory POD. All CPUs
enter POD mode after memory is probed, but before it is tested or
20 Ignores environment variable.
100 Overrides CPUs and memory disabled with the environment variables in
POD mode. It is useful for getting out of the situation in which
all CPUs or memory in the system have accidentally been disabled
Hardware Error State
1000 Dumps hardware error state at system boot time.
2000 PROM ignores the AutoLoad environment variable.
bootp(1M), init(1M), nvram(1M), tftp(1C), system(4), vh(7M).
PPPPaaaaggggeeee 9999 [ Back ]