prom(1M)

prom - PROM monitor

As shipped in IRIX 6.5.5. Unchanged since IRIX 6.5.

NAME
     prom - PROM monitor

DESCRIPTION
     The PROM monitor is a program that resides in permanently programmed
     read-only memory, which controls the startup of the system.  The PROM is
     started whenever the system is first powered on, reset with the reset
     button, 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.  Furthermore, because
     PROMs are not normally changed after the manufacture of the system, newly
     added features are not present in older systems.

     Systems such as the Indigo R4000, Indigo2, Indy, O2, Onyx, and CHALLENGE
     contain an ARCS PROM.  Machines that contain an MIPS R8000 or R10000 such
     as the POWER CHALLENGE, POWER Onyx, POWER Indigo2, Indigo2 10000, and
     OCTANE use a 64-bit version of the ARCS PROM.  The ARCS PROM offers the
     same functionality as previous PROMs, but in some cases with a different
     interface.  Refer to the ARCS PROM section below for details.

     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
          This option 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
          This option is used when system software needs to be installed or
          upgraded.  The PROM first attempts to find a tape drive on the
          system and if one is found, it prompts the user to insert the
          installation tape in it.  If a tape device is not found, then
          installation is expected to take place by Ethernet.  In this case,
          the PROM prompts the user for the name of the system that will be
          used as the server.

          Systems with an ARCS PROM uses a menu to select the installation
          device.  See ARCS PROM section below for details.

     3. Run Diagnostics
          This option invokes the extended hardware diagnostic program, which
          performs a thorough test of the CPU board and any graphics boards
          present.  It reports a summary.

     4. Recover System
          This option can be used to perform special system administration
          tasks such as restoring a system disk from backup tapes.  It follows
          a sequence similar to installing system software, but instead of
          starting the installation program, it invokes an interactive
          restoration tool.

     5. Enter Command Monitor
          Additional functions can be performed from an interactive command
          monitor.  This option 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.

     The command monitor has a different method of specifying disks and files
     than is used under IRIX.  A pathname is formed by prefixing the filename
     with a device name as shown:

          devicename(controller,unit,partition)filename

     Valid device names include:

          tpsc      SCSI tape drive
          dksc      SCSI disk drive
          bootp     network by BOOTP and TFTP protocols (ethernet only)

     The controller designates which hardware controller to use if multiple
     controllers for the same type of device exist.  Controllers are numbered
     starting at zero.  The unit designates which drive to use when a single
     controller is used with multiple drives.  When used with a SCSI device,
     the unit number is the same as the SCSI target number for the drive.  The
     partition designates which disk partition is to be used.  Partitions are
     numbered 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, a, b, c, d, e, f.  The controller,
     unit, and partion all default to zero.

     The devices supported by the PROM varies from system to system.

   Manual Mode Commands
     auto      Attempts to boot the system into normal operation.  This is the
               equivalent of the Start System menu command.

     boot [-f] [-n] pathname
               Starts an arbitrary standalone program or kernel as specified
               by its arguments.  The -f option suppresses the invocation of
               the bootstrap loader program.  The -n option causes the named
               program to be loaded, but not started.

     eaddr     Prints the Ethernet address of the built-in Ethernet
               controller.  This address is set at the factory and cannot be
               changed.

     date [mmddhhmm[ccyy|yy][.ss]]
               Prints the date or sets the date when given an argument.  The
               PROM does not understand time zones, so times should be given
               relative to GMT.

     exit      Exits manual mode and returns to the PROM menu.

     help      Displays a short summary of the commands available in manual
               mode.

     init      Causes a partial restart of the PROM.  This command can be used
               to change the default console immediately.  See the console
               environment variable.

     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.

     ls device List files contained on the device specified.  This can be used
               to examine devices whose layout is known by the PROM such as
               the disk volume header.  It cannot be used to list directories
               on disk partitions containing IRIX filesystems.

     off       Turns off the power.  Supported only on a subset of systems
               with software power control.

     passwd    Set the PROM password.  The PROM password can be set to
               restrict operation of certain PROM modes.  With a password set,
               any attempt to do anything other than a standard system boot
               requires that the password be reentered.  The password is
               remembered after the system is powered off.

               If the password is forgotten, some systems allow the superuser
               to reset it while running IRIX.  Use the nvram command to set
               the passwd_key variable to a null string (nvram passwd_key "").
               Other systems also have a jumper on the system board that can
               be removed to disable the PROM password.  In addition some
               systems force the console environment variable to g while the
               jumper is removed.  This jumper should only be removed
               temporarily in order to reset the password or fix the console
               environment variable.  Indy, Indigo2 and OCTANE have this
               feature.

     printenv  List the current state of the PROM environment variables.  Some
               of the variables listed retain their value after the system is
               powered off.

     resetenv  Set all of the PROM nonvolatile environment variables to their
               factory defaults.  This does not affect the PROM password.

     resetpw   Remove the PROM password.  With no PROM password set, all
               commands and menu options function without restriction.

     setenv [-p] variable value
               Set the specified environment variable to a particular value.
               Environment variables that are stored in nonvolatile RAM are
               changed there as well.  The -p option specifies that this
               variable should be saved as a persistent variable by means of
               adding the variable to nonvolatile RAM.  This is particularly
               useful for setting frequently used options when starting up the
               system.  Note that a fixed nonvolatile RAM variable is not
               superseded by this option, but the command behaves as if the -p
               flag is not present.  Currently this option is available only
               on some system types.  Among them are the Indy, the O2, OCTANE
               and the Origin series.

     single    Start the system in single user mode.  The system is booted as
               in the auto command described above, except that it enters
               initstate s instead of initstate 2.  See init(1M) for more
               information on initialization states.

     unsetenv variable
               Disassociates any value with the named environment variable.

     version   Prints a message containing information about the PROM.

     In addition to the commands above, a pathname can be entered directly,
     which the PROM attempts to load and execute.

   PROM Environment Variables
     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.
     dbaud     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.  This variable is stored in
               nonvolatile RAM.

     bootfile  This variable controls two aspects of the automatic boot up
               process.  First, it names the standalone loader that is used as
               an intermediary when booting from disk.  Second, 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.  See vh(7M) for more information.  This variable is
               stored in nonvolatile RAM.

     bootmode  The default mode of operation after you turn on power to the
               system is determined by the bootmode variable.  If the bootmode
               is set to c, then the system is automatically booted whenever
               it is reset or power is turned on to the system.  If the
               bootmode is set to m, the PROM displays the menu and waits for
               a command instead.  Setting bootmode to d has the same affect
               as m, with the addition of more verbose power-on diagnostics.
               This variable is stored in nonvolatile RAM.

     boottune  Selects among the available boot tunes.  It is specified as a
               small integer such as 1, which is the default tune.  A setting
               of 0 selects a random tune.  Currently only the POWER Indigo2
               and the Indigo2 10000 support this variable.  This variable is
               stored in nonvolatile RAM.

     autopower On systems with software power control, a setting of y allows
               the system 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.

     console   The system console can be set with the console variable.  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 and forcing 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.

     diskless  If set to 1, the kernel assumes that the system is to be
               started up as a diskless node.  This variable is stored in
               nonvolatile RAM.

     monitor   Overrides the default monitor setting when an unrecognized
               monitor is attached to an Indy system.  Specifying h or H
               indicates the attached monitor supports high resolution mode
               (1280x1024 @ 60Hz).  Otherwise the default resolution is low
               resolution (1024x768 @ 60Hz).  This variable is usable only on
               an Indy system and is stored in nonvolatile RAM.

     nogfxkbd  If set to 1, the system does not require the keyboard to be
               plugged in.  By default, if the console is the graphics display
               and the keyboard is not plugged in or is otherwise unresponsive
               to commands, it is assumed to be broken.  The system switches
               to the serial terminal console and waits for a command.  This
               variable is stored in nonvolatile RAM.

     notape    If set to 1, the PROM assumes that the Ethernet is to be used
               for software installation or system recovery even if a tape
               drive is present on the system.  By default, if the PROM sees a
               tape drive in the hardware inventory, it assumes that it will
               be used for software installation; setting notape allows that
               assumption to be overruled.

     volume    Sets the speaker volume during boot up.  This 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.

     pagecolor Sets the background color of the textport set with a six
               character string of hex RGB values.  This variable is stored in
               nonvolatile RAM.

     path      The path variable is used with some commands to provide a
               default device name.  It is derived from the bootfile variable.

     prompoweroff
               If set to y, the IRIX operating system returns to the PROM to
               do the actual powering off of the system.  Powering off the
               system by the PROM is preceded by the playing of the "shutdown"
               tune that is normally played when returning to the PROM monitor
               via the shutdown or halt commands.  This variable is available
               only on Indy systems and must be set with the command setenv -p
               prompoweroff y command to retain the setting after power is
               turned off.

     rebound   If set to y, the system attempts to automatically reboot in the
               event of a kernel panic overriding the value of the
               reboot_on_panic systune parameter.  This variable is stored in
               nonvolatile RAM.

     sgilogo   If set to y, the SGI logo and other product information is
               shown on systems that support the standalone GUI.  This
               variable is stored in nonvolatile RAM.

     ef0mode   If the user wants to disable autonegotiation and select prom
               ethernet mode manually, this variable needs to be set to one of
               {10, H10, F10, 100, H100, F100}, where H means half duplex, F
               means full duplex, and numbers mean either 10Mb/sec or
               100Mb/sec.  This variable exists for OCTANE prom only.

   ARCS PROM
     Machines with the ARCS PROM behave similar to what is described above.
     Changes were made to support the Advanced Computing Environment's (ACE)
     Advanced Risc Computing Standard (ARCS), provide a graphical user
     interface, and clean up various loopholes in older PROMs.  In many cases
     efforts were made to maintain old syntax and conventions.

     The ARCS document describes system requirements, which includes minimum
     system function, procedure entry points, environment variables, hardware
     inventory, and other system conventions.  Programmatic interfaces and
     other hardware requirements are outside the scope of this reference page.

     ARCS pathnames are tied directly to the hardware inventory, which is
     stored in a tree that represents the system's device architecture.  It is
     rooted with a system entry and grows to peripheral devices such as a disk
     drive.  ARCS pathnames are written as a series of type(unit) components
     that parallel the inventory tree.

     Old-style pathnames are automatically converted to new-style pathnames,
     so the old names can still be used.  The PROM matches the first device
     described by the pathname, so full pathnames are not always required.
     The -p option to hinv prints the pathnames to all user accessible
     devices.  Some examples of common pathnames are:

          scsi(0)disk(1)partition(1)    dksc(0,1,1)
          disk(1)part(1)                same as above
          scsi(0)cdrom(5)partition(7)   dksc(0,5,7)
          network(0)bootp()host:file    bootp()host:file
          serial(0)                     first serial port
          keyboard()                    graphics keyboard
          video()                       graphics display

     On Origin systems, one more type of device-naming is supported. The ARCS
     device naming scheme has been extended to allow the use of full hardware
     graph names to specify devices not residing in the master module.  Refer
     to the hwgraph(4) manual page for more information about device naming.
     For example, in the kernel, the path


          /hw/module/1/slot/io1/baseio/pci/1/scsi_ctlr/0/
                  target/1/lun/0/disk/partition/0

     refers to partition 0 of a disk in module 1, slot io1, controller 0 scsi
     target id of 1, scsi lun 0.


     The old device naming scheme:

          devicename(controller,unit,partition)filename

     has been retained, but cannot reference devices outside the master BASEIO
     board. The master BASEIO board is the board that has the system console
     connected to it.  The old device naming scheme is not implemented for
     non-disk devices like tty. For example:

          tty(0), serial(0)

     are not implemented in the Origin BASEIO prom.



     ARCS defines environment variables that provide the same function as in
     older PROMs, but with different names and values:

     ConsoleIn/ConsoleOut
               These two variables are set at system startup automatically
               from the console variable.  They are maintained for ARCS
               compatibility only.

     OSLoadPartition
               The device partition where the core operating system is found.
               For IRIX, this variable is used as the root partition when the
               root variable is unused or not available and the device
               configured in the system(4) file with the ROOTDEV directive is
               not available.  This variable is stored in nonvolatile RAM, but
               is normally left unset, which allows the PROM to automatically
               configure it at system power-on.

     OSLoader  The operating system loader.  For IRIX, 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.

     SystemPartition
               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.

     OSLoadFilename
               The filename of the operating system kernel.  For IRIX 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
               The contents of this variable are appended to the boot command
               constructed when autobooting the system.  This variable is
               stored in nonvolatile RAM.

     AutoLoad  Controls if the system boots automatically on reset/power
               cycle.  Can be set to Yes or No.  Previously this function was
               controlled by setting bootmode to c or m.  This variable is
               stored in nonvolatile RAM.

     To try and improve the looks and usability of the PROM, the ARCS PROM
     uses a graphical interface when console=g.  In all cases the keyboard can
     be used instead of the mouse, and in most cases the familiar keystrokes
     from previous PROMs work.

     For example, the traditional five item menu consists of a list of buttons
     containing one icon each.  To make a selection, either click any mouse
     button with the button, or press the corresponding 1 through 5 key.

     The only major user interface changes are for Install Software and
     Recover System (menu items 2 and 4).  The interface allows interactive
     selection of a device type and then selection among devices of that type.
     This makes it easier than previous PROMS to install from local drives or
     remote directories without hacks like notape and tapedevice.

     The set of commands available from the command monitor is relatively
     unchanged:

     hinv      By default hinv prints a formatted abbreviated list similar to
               the old-style PROM.  A -t option has been added to print the
               ARCS configuration tree directly.  A secondary option -p, valid
               only with -t, prints the corresponding ARCS pathnames for
               peripheral devices.

     There has also been some changes/additions to the SGI-defined environment
     variables:

     diskless  This controls if the system is run as a diskless system.  Since
               some of the other environment variables are changed for ARCS
               compliance, diskless setup is slightly different.  The
               environment should be set as follows.

                    diskless=1
                    SystemPartition=bootp()host:/path
                    OSLoader=kernelname

     keybd     Normally this variable is left unset and the system
               automatically configures the keyboard to use its native key
               map.  To override the default, keybd should be set to a three
               to five character string.  The following strings are
               recognized, depending on the PROM revision:  USA, DEU, FRA,
               ITA, DNK, ESP, CHE-D, SWE, FIN, GBR, BEL, NOR, PRT, CHE-F or
               US, DE, FR, IT, DK, ES, de_CH, SE, FI, GB, BE, NO, PT, fr_CH on
               systems with the keyboard layout selector.  On newer systems,
               JP is also acceptable.

               Alternatively you can select between swiss french and swiss
               german by setting keybd to d or D for the german map.  On
               systems with PC keyboards, a string not matching one of the
               above is passed to the X server and used as the name of the
               keyboard map to load.  This variable is stored in nonvolatile
               RAM.

     diagmode  If set to v, power-on diagnostics are verbose.  In addition,
               more diagnostics are run.  This is similar to bootmode=d,
               however it does not affect the behavior of AutoLoad.  This
               variable is stored in nonvolatile RAM.

     The ARCS standard specifies different error numbers than IRIX:

          ESUCCESS            0
          E2BIG               1
          EACCES              2
          EAGAIN              3
          EBADF               4
          EBUSY               5
          EFAULT              6
          EINVAL              7
          EIO                 8
          EISDIR              9
          EMFILE              10
          EMLINK              11
          ENAMETOOLONG        12
          ENODEV              13
          ENOENT              14
          ENOEXEC             15
          ENOMEM              16
          ENOSPC              17
          ENOTDIR             18
          ENOTTY              19
          ENXIO               20
          EROFS               21
          EADDRNOTAVAIL       31
          ETIMEDOUT           32
          ECONNABORTED        33
          ENOCONNECT          34


   Examples
     To boot the disk formatter, fx(1M), from a local tape containing the
     installation tools:

     1.  Get into the command monitor by choosing option 5 from the menu.

     2.  Determine the type of CPU board in your system with the hinv command.
         The board type is listed as the letters IP followed by a number.
         Also, look for the item that lists the tape drive to determine the
         format of the device name.  For instance, a SCSI tape addressed as
         device 7 might be listed as SCSI tape: tpsc(0,7) in which case the
         device is tpsc(0,7).

     3.  With the installation tools tape in the drive, boot fx as follows:

              boot -f tpsc(0,7)fx.IP6

         where tpsc(0,7) is the device name and IP6 is the CPU board type.

     To change the system console from the graphics display to a terminal
     connected to serial port #1:

     1.  Get into the command monitor by choosing option 5 from the menu.

     2.  Change the console variable to d as follows:

              setenv console d

     3.  Reinitialize the PROM with the init command:

              init

SEE ALSO
     bootp(1M), fx(1M), inst(1M), nvram(1M), tftpd(1M).