prom(1M) prom(1M) NAME prom - PROM monitor DESCRIPTION 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 administrator. 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. Menu Commands 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 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 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 PROM supports. auto Attempts to boot the system into normal operation. This command is the equivalent of the Start System menu command. auto 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 [01234567]] [-pci [01234567]] enable Enables hardware. enable -m modid -s slotid [-cpu a|b||c|d] [-mem [01234567]] [-pci [01234567]] enableall Enables all disabled components. enableall [-y] [-list] exit Exits manual mode and returns to the PROM menu. exit 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 mode. help [command] 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 environment variable. init ls Lists files on a specified device. ls [device] modnum Lists all current modules or bricks in the system. modnum passwd Sets the PROM password. passwd 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 debug 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. pod printenv Lists the current state of the PROM environment variables. Some of the variables listed retain their value after the system is powered off. printenv [env_var_list] resetenv Sets all of the PROM nonvolatile environment variables to their factory defaults. This command does not affect the PROM password. resetenv resetpw Removes the PROM password. With no PROM password set, all commands and menu options function without restriction. resetpw 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. setpart [-h] single Boots the system in single-user mode. single unsetenv Clears an environment variable. unsetenv [env_var_string] update Updates the stored hardware inventory information. update version Displays the command monitor version. version Command Monitor Environment Variables 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 RAM. ConsoleIn/ConsoleOut Are set at system startup automatically from the console variable. 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 the console. diskless Specifies that the system is diskless and must be booted over the network. The diskless system environment parameters should be set as follows: diskless=1 SystemPartition=bootp()host:/path OSLoader=kernelname ec0mode Disables autonegotiation and selects the desired speed and duplex of the ec0 ethernet controller on O2 (IP32) systems. Legal values are 10, 100, f10, f100. It is case-insensitive and illegal values are silently ignored and will result in a 10Mb, half-duplex setting. It is stored in nonvolatile RAM and so is persistent across resets and power-downs. Also see the ethernet(7) man page. ef0mode Disables autonegotiation and selects the desired speed and duplex of the ef0 ethernet controller on Origin 2000/Onyx2 (IP27), Octane (IP30), and Origin 3000/Onyx3/Fuel (IP35) systems. Legal values are 10, 100, h10, f10, h100 and f100. It is case-insensitive and illegal values are silently ignored and will result in a 10Mb, half-duplex setting. It is stored in nonvolatile RAM and so is persistent across resets and power-downs. Note that once IRIX is booted, a different mechanism is used to fix the speed and duplex of the ef<n> interfaces (See the ethernet(7) man page). 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 Japanese keyboard. 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 power-on. 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 system power-on. 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 RAM. 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 page. path Specifies a list of device prefixes that tell the command monitor where to look for a file, if no device is specified. 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 When you specify filenames for command monitor commands, use this syntax: device ([cntrlr,[unit[,partition]]])file device Specifies a device driver name known to the PROM. cntrlr Specifies a controller number for devices that may have multiple controllers. 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 markers. For example, the root partition (partition 0) on a single SCSI disk system is shown as: dksc(0,1,0) 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 controller 0. The /usr partition (partition 3) on the same disk would be written as: dksc(0,1,3) 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 tty(1) 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 loop. 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 loop. 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 initialized. Default Environment 20 Ignores environment variable. Override Disabling 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 simultaneously. Hardware Error State 1000 Dumps hardware error state at system boot time. Ignore Autoboot 2000 PROM ignores the AutoLoad environment variable. SEE ALSO bootp(1M), init(1M), nvram(1M), tftp(1C), system(4), vh(7M). Page 10