A P P E N D I X  C

Troubleshooting Guide

What do you do if your system fails to boot properly? This appendix discusses some common failures and ways to alleviate them.


Power-On Initialization Sequence

Familiarize yourself with the system power-on initialization messages. You can then identify problems more accurately because these messages show you the types of functions the system performs at various stages of system startup. They also show the transfer of control from POST to OpenBoot to the Booter to the kernel.

The example that follows shows the OpenBoot initialization sequence in a Sun Ultra TM 1 system. The messages before the banner appear on TTYA only if the diag-switch? parameter is true.



Note - The actual OpenBoot initialization sequence is system dependent. The messages on your system may be different.



CODE EXAMPLE C-1 OpenBoot Initialization Sequence
...ttya initialized (At this point, POST has finished 
execution and has transferred control to OpenBoot)
Probing Memory Bank #0 16 + 16 : 32 Megabytes (Probe memory)
Probing Memory Bank #1 0 + 0 : 0 Megabytes
Probing Memory Bank #2 0 + 0 : 0 Megabytes
Probing Memory Bank #3 0 + 0 : 0 Megabytes
   (If use-nvramrc? is true, the firmware
 executes NVRAMRC commands. The firmware then checks for Stop-x commands, and
 probes the devices. The Keyboard LEDs are then flashed.) 
Probing UPA Slot at le,0 Nothing there (Probe devices) 
Probing /sbus@lf,0 at 0,0 cgsix
Probing /sbus@lf,0 at 1,0 Nothing there
Probing /sbus@lf,0 at 2,0 Nothing there
Sun Ultra 1 UPA/SBus (UltraSPARC 167 MHz), Keyboard Present (Display the banner) 
OpenBoot 3.0, 32 MB memory installed, Serial #7570016
Ethernet address 8:0:20:73:82:60, Host ID: 80738260.
ok boot disk3
Boot device: /sbus/espdma@e,8400000/esp@e,8800000/sd@3,0
(The firmware is TFTP-ing the boot program)
sd@3,0 File and args: (Control is transferred to the booter after this
message is displayed)
FCode UFS Reader 1.8 01 Feb 1995 17:07:00,IEEE 1275 Client Interface.(Booter
starts executing)
Loading: /platform/sun4u/ufsboot
cpu0: SUNW,UltraSPARC (upaid 0 impl 0x0 ver 0x0 clock 143 MHz)
SunOS Release 5.5 Version quick_gate_build:04/13/95 (UNIX(R) System V Release
 4.0)
   (Control is passed to the kernel after this message is displayed)
Copyright (c) 1983-1995, Sun Microsystems, Inc.
   (The kernel starts to execute)
DEBUG enabled (More kernel messages)


Emergency Procedures

Some OpenBoot systems provide the capability of commanding OpenBoot by means of depressing a combination of keys on the system's keyboard (i.e. a "keyboard chord").

Emergency Procedures for Systems with Standard (non-USB) Keyboards

When issuing any of these commands, press the keys immediately after turning on the power to your system, and hold the keys down for a few seconds until the keyboard LEDs flash.

TABLE C-1 SPARC-Compatible System Keyboard Chords

Command

Description

Stop

Bypasses POST. This command does not depend on security-mode. (Note: some systems bypass POST as a default; in such cases, use Stop-D to start POST.)

Stop-A

Aborts.

Stop-D

Enters diagnostic mode (set diag-switch? to true ).

Stop-F

Enters Forth on TTYA instead of probing. Uses fexit to continue with the initialization sequence. Useful if hardware is broken.

Stop-N

Resets NVRAM contents to default values.




Note Note - These commands are disabled if the PROM security is on. Also, if your system has full security enabled, you can not apply any of the suggested commands unless you have the password to get to the ok prompt.



Emergency Procedures for Systems with USB Keyboards

The following paragraphs describe how to perform the functions of the Stop commands on systems that have USB keyboards.

Stop-A

Stop-A (Abort) works the same as it does on systems with standard keyboards, except that it does not work during the first few seconds after the system is reset.

Stop-N Equivalent

1. After turning on the power to your system, wait until the front panel power button LED begins to blink.

2. Quickly press the front panel power button twice (similar to the way you would double-click a mouse).

A screen similar to the following is displayed to indicate that you have successfully reset the NVRAM contents to the default values:

Sun Blade 1000 (2 X UltraSPARC-III) , Keyboard Present
OpenBoot 4.0, 256 MB memory installed, Serial #12134241.
Ethernet address 8:0:20:b9:27:61, Host ID: 80b92761.
Safe NVRAM mode, the following nvram configuration variables have
been overridden:
`diag-switch?' is true
`use-nvramrc?' is false
`input-device', `output-device' are defaulted
`ttya-mode', `ttyb-mode' are defaulted
These changes are temporary and the original values will be
restored after the next hardware or software reset.

Note that some NVRAM configuration parameters are reset to their defaults. They include parameters that are more likely to cause problems, such as TTYA settings. These NVRAM settings are only reset to the defaults for this power cycle. If you do nothing other than reset the system at this point, the values are not permanently changed. Only settings that you change manually at this point become permanent. All other customized NVRAM settings are retained.

Typing set-defaults discards any customized NVRAM values and permanently restores the default settings for all NVRAM configuration parameters.



Note Note - Once the power button LED stops blinking and stays lit, pressing the power button again will power off the system.



Stop-F Functionality

The Stop-F functionality is not available in systems with USB keyboards.

Stop-D Functionality

The Stop-D (diags) key sequence is not supported on systems with USB keyboards, however, the Stop-D functionality can be closely emulated by using the power button double-tap (see Stop-N Functionality), since this temporarily sets diag-switch? to true . If you want the diagnostic mode turned on permanently, type:

ok setenv diag-switch? true


Preserving Data After a System Crash

The sync command forces any information on its way to the hard disk to be written out immediately. This is useful if the operating system has crashed, or has been interrupted without preserving all data first.

sync actually returns control to the operating system, which then performs the data saving operations. After the disk data has been synchronized, the operating system begins to save a core image of itself. If you do not need this core dump, you can interrupt the operation with the Stop-A key sequence.


Common Failures

This section describes some common failures and how you can fix them.

Blank Screen --No Output

Problem: Your system screen is blank and does not show any output.

Here are possible causes for this problem:

Refer to your system documentation.

If the keyboard is not plugged in, the output goes to TTYA instead. To fix this problem, power down the system, plug in the keyboard, and power on again.

Check the power cable on the monitor. Make sure the monitor cable is plugged into the system frame buffer; then turn the monitor on.

This means the NVRAM parameter output-device is set to ttya or ttyb instead of being set to screen . Connect a terminal to TTYA and reset the system. After getting to the ok prompt on the terminal, type: screen output to send output to the frame buffer. Use setenv to change the default display device, if needed.

If your system has several plugged-in frame buffers, or it has a built-in frame buffer and one or more plugged-in frame buffers, then it is possible that the wrong frame buffer is being used as the console device. See Setting the Console to a Specific Monitor .

System Boots From the Wrong Device

Problem: Your system is supposed to boot from the disk; instead, it boots from the net.

There are two possible causes for this:

Interrupt the booting process with Stop-A . Type the following commands at the ok prompt:

ok setenv diag-switch? false 
ok boot 

The system should now start booting from the disk.

Interrupt the booting process with Stop-A . Type the following commands at the ok prompt:

ok setenv boot-device disk 
ok boot 

Note that the preceding commands cause the system to boot from the disk defined as disk in the device aliases list. If you want to boot from another service, set boot-device accordingly.

Problem: Your system is booting from a disk instead of from the net.

Interrupt the booting process with Stop-A . Type the following commands at the ok prompt:

ok setenv boot-device net 
ok boot 

Problem: Your system is booting from the wrong disk. (For example, you have more than one disk in your system. You want the system to boot from disk2 , but the system is booting from disk1 instead.)

Interrupt the booting process with Stop-A . Type the following commands at the ok prompt:

ok setenv boot-device disk2 
ok boot 

System Will Not Boot From Ethernet

Problem: Your system fails to boot from the net.

The problem could be one of the following:

Report the problem to your system administrator.

Plug in the ethernet cable. The system should continue with the booting process.

Report the problem to your system administrator.

Refer to the troubleshooting information in your system documentation. (Note: systems that do not have Twisted Pair Ethernet will not have the tpe-link-test parameter.)

System Will Not Boot From Disk

Problem: You are booting from a disk and the system fails with the message: The file just loaded does not appear to be executable.

Install a new boot block.

Problem: You are booting from a disk and the system fails with the message: Can't open boot device.

Turn on power to the disk, and make sure the SCSI cable is connected to the disk and the system.

SCSI Problems

Problem: Your system has more than one disk installed, and you get SCSI-related errors.

Try the following procedure:

  1. Unplug all but one of the disks.

  2. At the ok prompt, type:

    ok probe-scsi 

    Note the target number and its corresponding unit number.

  3. Plug in another disk and perform Step 2 again.

  4. If you get an error, change the target number of this disk to be one of the unused target numbers.

  5. Repeat Steps 2, 3, and 4 until all the disks are plugged back in.

Setting the Console to a Specific Monitor

Problem: You have more than one monitor attached to the system, and the console is not set to the intended monitor.

A common way to change this default is to change output-device to the appropriate frame buffer:

ok nvalias myscreen /sbus/cgsix
ok setenv output-device myscreen 
ok reset-all 

Another way of setting the console to a specific monitor is to change the sbus-probe-list NVRAM parameter.

ok printenv sbus-probe-list (Display the current and default
 values)

If the frame buffer that you are choosing as the console is in slot 2, change sbus-probe-list to probe slot 2 first:

ok setenv sbus-probe-list 2013
ok reset-all 

If a non-SBus frame buffer is installed, this second method may not work.