Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ prom(1M) — IRIX 6.5.3f

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

bootp(1M)

fx(1M)

inst(1M)

nvram(1M)

tftpd(1M)



prom(1M)                                                              prom(1M)



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.

2
Systems such as the Indigo R4000, Indigo , Indy, O2, Onyx, and CHALLENGE
contain an ARCS PROM. Machines that contain an MIPS R8000 or R10000 such
2 2
as the POWER CHALLENGE, POWER Onyx, POWER Indigo , Indigo 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. Page 1


prom(1M)                                                              prom(1M)



          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,



                                                                        Page 2





prom(1M)                                                              prom(1M)



     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.





                                                                        Page 3





prom(1M)                                                              prom(1M)



               If the password is forgotten, some systems allow the superuser
               to reset it while running IRIX.  Use the nvram command to set
               the passwdkey variable to a null string (nvram passwdkey "").
               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
2
environment variable. Indy, Indigo 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. Page 4


prom(1M)                                                              prom(1M)



     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
2
of 0 selects a random tune. Currently only the POWER Indigo
2
and the Indigo 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. Page 5


prom(1M)                                                              prom(1M)



     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
               rebootonpanic systune parameter.  This variable is stored in
               nonvolatile RAM.




                                                                        Page 6





prom(1M)                                                              prom(1M)



     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




                                                                        Page 7





prom(1M)                                                              prom(1M)



     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.



                                                                        Page 8





prom(1M)                                                              prom(1M)



     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



                                                                        Page 9





prom(1M)                                                              prom(1M)



               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:






                                                                       Page 10





prom(1M)                                                              prom(1M)



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

























                                                                       Page 11



Typewritten Software • bear@typewritten.org • Edmonds, WA 98026