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