What do you do if your system fails to boot properly? This appendix discusses some common failures and ways to alleviate them.
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 UltraTM 1 system. The messages before the banner appear on TTYA only if the diag-switch? parameter is true.
The actual OpenBoot initialization sequence is system dependent. The messages on your system may be different.
...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 messasges)
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").
Table C-1 describes the keyboard chords provided by SPARC-compatible systems. When issuing any of these commands, hold down the keys immediately after turning on the power to the SPARC system, and keep them pressed for a few seconds until the keyboard LEDs flash.
Table C-1 SPARC-Compatible System Keyboard Chords
Command |
Description |
---|---|
Stop |
Bypass 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 |
Abort. |
Stop-D |
Enter diagnostic mode (set diag-switch? to true). |
Stop-F |
Enter Forth on TTYA instead of probing. Use fexit to continue with the initialization sequence. Useful if hardware is broken. |
Stop-N |
Reset NVRAM contents to default values. |
These commands are disabled if the PROM security is on. Also, if your system has full security enabled, you cannot apply any of the suggested commands unless you have the password to get to the ok prompt.
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.
This section describes some common failures and how you can fix them.
Problem: Your system screen is blank and does not show any output.
Here are possible causes for this problem:
Hardware has failed.
Refer to your system documentation.
Keyboard is not attached.
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.
Monitor is not turned on or is not plugged in.
Check the power cable on the monitor. Make sure the monitor cable is plugged into the system frame buffer; then turn the monitor on.
output-device is set to TTYA or TTYB.
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.
System has multiple frame buffers.
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".
Problem: Your system is supposed to boot from the disk; instead, it boots from the net.
There are two possible causes for this:
The diag-switch? NVRAM parameter is set to true.
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.
The boot-device NVRAM parameter is set to net instead of 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.
boot-device is not set to 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.)
boot-device is not set to the correct disk.
Interrupt the booting process with Stop-A. Type the following commands at the ok prompt:
ok setenv boot-device disk2 ok boot
Problem: Your system fails to boot from the net.
The problem could be one of the following:
NIS maps are out-of-date.
Report the problem to your system administrator.
Ethernet cable is not plugged in.
Plug in the ethernet cable. The system should continue with the booting process.
Server is not responding: no carrier messages.
Report the problem to your system administrator.
tpe-link-test is disabled.
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.)
Problem: You are booting from a disk and the system fails with the message: The file just loaded does not appear to be executable.
The boot block is missing or corrupted.
Install a new boot block.
Problem: You are booting from a disk and the system fails with the message: Can't open boot device.
The disk may be powered down (especially if it is an external disk).
Turn on power to the disk, and make sure the SCSI cable is connected to the disk and the system.
Problem: Your system has more than one disk installed, and you get SCSI-related errors.
Your system might have duplicate SCSI target number settings.
Note the target number and its corresponding unit number.
Plug in another disk and perform Step b again.
If you get an error, change the target number of this disk to be one of the unused target numbers.
Repeat Steps b, c, and d until all the disks are plugged back in.
Problem: You have more than one monitor attached to the system, and the console is not set to the intended monitor.
If you have more than one monitor attached to the system, OpenBoot always assigns the console to the frame buffer specified by the output-device NVRAM parameter. The default value of output-device is screen, which is an alias for one of the frame buffers found by the firmware.
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 show 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.