TOPIC This article contains a comprehensive overview of Apple's implementation of PCI Open Firmware on the Apple Network Servers 500 and 700. While it is a reference specific to that particular product line, Open Firmware is an industry cross-platform standard, and most of the information included applies broadly to all PCI Macintosh systems. DISCUSSION About Open Firmware for the Network Server Contents * Introduction * Starting Up Open Firmware * Using Open Firmware * Open Firmware Command Summary Introduction Open Firmware provides features that enable you to access low-level information about your Network Server. Using Open Firmware, for example, you may examine settings stored in the server's non volatile memory (NVRAM). Open Firmware is a standard software architecture for controlling a computer before the operating system begins execution. The complete specification for the Open Firmware standard is defined in the IEEE standard document IEEE P1275-1994 Standard for Boot Firmware. The Open Firmware software orchestrates how the hardware loads the operating system and defines which properties (or features) of the hardware are available for use by the operating system. The Open Firmware command language is based on Forth. For the latest version of Open Firmware software and documentation, click the Network Server button at the World Wide Web site http:/www.solutions.apple.com. [ Note : this service and web site are no longer available]. Starting Up Open Firmware To start up Open Firmware, hold down these keys while the server is restarting: Command-Option-O-F Enter Open Firmware commands at the >ok prompt. Separate each command by one or more spaces. A summary of general commands available in this implementation of the IEEE standard is provided at the end of this section. Using Open Firmware These commands provide low-level information about your Network Server: printenv Displays configuration settings stored in NVRAM. For example, one configuration setting specifies the boot path for the operating system. This setting is named boot-device. There is also a setting named diag-device which identifies the boot path for loading diagnostics when the server key switch is in the left (service) position. The configuration setting name appears in the left column, the current setting appears in the middle column, and the default setting is in the right column. Use the set-default command to restore default settings when appropriate. If you encounter difficulties starting up the Network Server operating system, try setting defaults. Also, you should copy down the current settings after you install the operating system. If you later experience problems starting up the operating system, you can use printenv to check the settings using this command to determine verify the configuration settings. devalias Displays name aliases to devices stored as properties in the device tree. A name alias is an abbreviated way of referring to a device path name. For example, to boot the Network Server Diagnostic Utility, you specify the name alias for the floppy drive, fd: boot fd:diags probe-scsi1 Searches the Fast and Wide SCSI bus 0 and for each device attached displays the SCSI ID, the type of device, and other pertinent information such as the device's firmware version number. Use this command to verify that the devices in the top four drive trays are correctly recognized by the Network Server. probe-scsi2 Searches the Fast and Wide SCSI bus 1 and for each device attached displays the SCSI ID, the type of device, and other pertinent information such as the device's firmware version number. Use this command to verify that the devices in the bottom four drive trays and the two rear bracket-mounted internal drives (Network Server 700 only) are correctly recognized by the Network Server. dump-device-tree Displays the device tree, which lists all features and devices in the Network Server encoded into a specific data format. Use the spacebar to control scrolling of the list. The following command are used to change configuration settings stored in NVRAM. The name-alias variable is the setting name. The value variable can be a number, logical name (true, false), or a sequence of text. setenv name-alias value Use this command to change the specified configuration setting to the indicated value. For example, to change the OS boot device: setenv boot-device disk3:aix This adds disk 6 to the boot search path: setenv diag-device cd disk6 fd:diags set-default name-alias This command restores the default of the named configuration setting. This example restores the boot device setting to disk2:aix: set-default boot-device This command restores the default diagnostic device to disk2:aix: set-default diag-device set-defaults Restores the factory defaults for all the configuration settings. Configuration Settings to Check in Case of Problems If you encounter problems when the operating system starts up, check these configuration settings: auto-boot? Must be true in order to enable automatic booting of the operating system or the diagnostics when the key switch is the in the service position. load-base The Network Server Diagnostic Utility expects this number to be 4000 or greater. diag-device In order to be able to boot the Network Server Diagnostic Utility from the floppy drive, the value of diag-device must include fd:diags . Any device preceding fd:diags must be unmounted or removed. For example, the default setting for diag-device is cd fd:diags . This means that the search order for a bootable device begins with the CD-ROM drive and proceeds to the floppy drive only if the CD-ROM drive does not contain a bootable CD. You must remove the CD-ROM disk in this case in order to boot the floppy drive. boot-device The factory default for booting the operating system is disk2 or the hard drive contained in drive tray three (Fast and Wide bus 0 SCSI ID 2). If this value becomes corrupt or changes, the AIX operating system won't boot. If you are unable to restore this setting to the default or you cannot change the setting with the setenv boot-device command, then you may still be able to boot AIX by manually entering the boot command: boot disk2:aix Open Firmware Command Summary Changing the Number Base & Number Input/Output Commands
Memory Access Commands
Memory Mapping Commands
PCI Registers Access Commands
Stack Manipulation Commands
Arithmetic Commands
Examining and Creating Device Aliases
Device Tree Browsing Commands
If-then-else Commands
Begin (conditional) Loop Commands
Do (Counted) Loop Commands
Comparison Commands
Controlling Text Input Commands & Display Text Output Commands ascii <c>( -- n) Get numerical value of first ASCIIcharacter of next word. key ( -- char) Read a character from the assigned input device's keyboard. key? ( -- flag) True if a key has been typed on the input device's keyboard. cr ( -- ) Go to the next line on the display. File Loading Commands boot [specifiers] Boot file from specified source. dl Load a Forth file over a serial line. init-program Initialize to execute a binary file. load [specifiers] Load data from specified device. NOTE: Use boot (or load) one of these four ways: (1) boot (2) boot <device-specifier> (3) boot <arguments> (4) boot <device-specifier> <arguments> NOTE: When using the floppy drive (name-alias is fd), the disk must be high density 1.4 MB formatted for the MacOS or DOS environments. (1) For a MacOS floppy, <device-specifier> is fd:<filename> (2) For a DOS floppy, <device-specifier> is fd:,<filename> Defining Words : <name>( -- ) Start creating a new command word. ; ( -- ) Finish creating the new word. Manipulating Text Strings " <string>"( -- adr len ) Collect an input string. Redirecting I/O input (device-str -- ) Select the indicated device for console input, device may be a device name-alias. io (device-str -- ) Select device for subsequent input and output. Eg. ttyb:9600 output (device-str -- ) Select the indicated device for console output. Eg. screen output Emergency Keyboard Commands NOTE: Hold down keys during Open Firmware power on sequence. Command-Option-O-F Abort auto booting if auto-boot? is true. Command-Option-P-R Reset NVRAM contents to default values. Miscellaneous Operation Commands eject [fd] Eject the floppy disk from the drive. get-msecs ( -- ms ) Return the approximate current time in milliseconds. ms ( n -- ) Delay for n milliseconds. Resolution is 1 millisecond. reset-all Reset the entire system (similar to a power cycle). PowerPC Register Commands
NVRAMRC Editor Commands nvalias <alias> <Device-pathname> Store the command "devalias <alias> <Device-pathname>" in NVRAMRC. (The alias persists until the nvunalias or set-defaults commands are executed or NVRAM is reset.) nvedit Enter the NVRAMRC editor. If data remains in the temporary buffer from a previous nvedit session, resume editing the previous contents. If not, read the contents of NVRAMRC into the temporary buffer and begin editing it. nvquit Discard the contents of the temporary buffer without writing it to NVRAMRC. nvrecover Recover the contents of NVRAMRC if they have been lost nvrun Evaluate the temporary buffer. nvstore Copy the contents of the temporary buffer to NVRAMRC; discard the contents of the temporary buffer. nvunalias <alias> Delete the corresponding alias from NVRAMRC. ^c (Control-C) Quit nvedit and get back to the ok prompt. |
Document Information | |
Product Area: | Computers |
Category: | Apple Network Server |
Sub Category: | Network Server 500 & 700 |
Keywords: | kppc, kmosXserver |
Copyright © 2000 Apple Computer, Inc. All rights reserved.