System Administration Guide, Volume 1

Chapter 10 SPARC: Booting a System (Tasks)

This chapter describes procedures for using the OpenBootTM PROM monitor and procedures for booting a SPARC based system to different run levels.

This is a list of the step-by-step instructions in this chapter.

For overview information about the boot process, see Chapter 12, The Boot Process (Reference). For information on troubleshooting booting problems, see "What to Do If Rebooting Fails" in System Administration Guide, Volume 2.

For step-by-step instructions on booting an IA based system, see Chapter 11, IA: Booting a System (Tasks).

SPARC: Using the Boot PROM

System administrators typically use the PROM level to boot a system. Occasionally, however, you might need to change the way the system works, such as resetting which device to boot from or running hardware diagnostics, before the system is brought to a multiuser state.

Changing the default boot device is necessary to add a new drive to the system either permanently or temporarily, change the network boot strategy, or if you want to temporarily boot a standalone system from the network.

See monitor(1M) or eeprom(1M) for a complete list of PROM commands.

SPARC: How to Switch to the ok Prompt

When the system is halted, the PROM monitor prompt is either the greater than sign (>) or ok.

Switch from the > prompt to the ok prompt on SPARC based systems by typing the following command.


> n
ok

All examples in this section use the ok prompt.

SPARC: How to Find the PROM Release for a System

Display a system's PROM release level with the banner command.


ok banner
Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 333MHz), No Keyboard
OpenBoot 3.15, 128 MB memory installed, Serial #nnnnnnnn.
Ethernet address 8:0:20:a5:d1:3b, Host ID: nnnnnnnn.

Hardware configuration information, including the release number of the PROM, is displayed. The PROM release level is indicated by the ROM Rev. number.

SPARC: How to Change the Default Boot Device

  1. Become superuser.

  2. Halt the system by using the init(1M) command.


    # init 0
    
  3. If the > PROM prompt is displayed, type n and press Return.


    > n
    ok

    The ok PROM prompt is displayed.

  4. Change the boot-device setting by using the setenv command.


    ok setenv boot-device device[n]

    boot-device

    Identifies the parameter for setting the device from which to boot. 

    device[n]

    Identifies the boot-device value such as a disk or the network. The n can be specified as the disk number.

    Use the probe-scsi-all command if you need help identifying the disk number.

  5. Verify the default boot device change by using the printenv command.


    ok printenv boot-device
    
  6. Save the new boot-device value by using the reset command.


    ok reset
    

    The new boot-device setting is written to the PROM.

SPARC: Examples--Changing the Default Boot Device

In this example, the default boot device is set to disk.


# init 0
# 
INIT: New run level: 0
.
.
.
The system is down.
syncing file systems... done
Program terminated
ok setenv boot-device disk
boot-device =         disk
ok printenv boot-device
boot-device           disk                    disk
ok reset
Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 333MHz), No Keyboard
OpenBoot 3.15, 128 MB memory installed, Serial #nnnnnnnn.
Ethernet address 8:0:20:a5:d3:4b, Host ID: nnnnnnnn.

Boot device: disk  File and args:
SunOS Release 5.8 Version 64-bit
.
.
.
pluto console login:

In this example the default boot device is set to the network.


# init 0
# 
INIT: New run level: 0
.
.
.
The system is down.
syncing file systems... done
Program terminated
ok setenv boot-device net
boot-device =         net
ok printenv boot-device
boot-device           net                    disk
ok reset
Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 333MHz), No Keyboard
OpenBoot 3.15, 128 MB memory installed, Serial #nnnnnnnn.
Ethernet address 8:0:20:a3:d54:4b, Host ID: nnnnnnnn.



Boot device: net  File and args:
.
.
.
pluto console login:

SPARC: How to Reset the System

Run the reset command from the ok prompt.


ok reset

The self-test program, which runs diagnostic tests on the hardware, is executed and the system is rebooted.

SPARC: Booting a System

The table below describes the boot scenarios covered in this chapter.

Table 10-1 SPARC: Boot Type Descriptions

Booting the System ... 

Is Usually Done ... 

See ... 

To run level 3 (multiuser state with NFS resources shared) 

After halting the system or performing some system hardware maintenance task. This is the default boot level where all resources are available and users can log into the system. 

"SPARC: How to Boot a System to Run Level 3 (Multiuser State)"

To run level S (single-user state) 

After performing some system maintenance task such as backing up a file system. At this level, only local file systems are mounted and users cannot log into the system. 

"SPARC: How to Boot a System to Run Level S (Single-User State)"

Interactively 

After making temporary changes to a system file or the kernel for testing purposes. This type of boot allows you to recover easily if there are problems with the system file or kernel by supplying an alternative pathname to these files when prompted. Use the default settings for the other system prompts. 

"SPARC: How to Boot a System Interactively"

Over the network 

To boot a system over the network. This procedure assumes the necessary setup has been completed on the boot server. 

"SPARC: How to Boot a System Over the Network"

From local CD-ROM or the network for recovery purposes 

To repair an important system file that is preventing the system from booting successfully. This type of boot is also used for installing (or upgrading) a new release of the operating system. 

"SPARC: How to Boot a System for Recovery Purposes"

Using kadb

To troubleshoot system problems by running the kernel debugger. 

"SPARC: How to Stop the System for Recovery Purposes"

If a system is turned off, turning it on starts the multiuser boot sequence. The following procedures show how to boot to different run levels from the ok PROM prompt.

Use the who -r command to verify that the system is brought to the specified run level.

See Chapter 8, Run Levels and Boot Files (Tasks) for a description of run levels.

SPARC: How to Boot a System to Run Level 3 (Multiuser State)

  1. Boot to run level 3 by using the boot(1M) command.


    ok boot
    

    The automatic boot procedure displays a series of startup messages, and brings the system to run level 3.

  2. Verify the system boots to run level 3.

    The login prompt is displayed when the boot process has finished successfully.


    hostname console login:

SPARC: Example--Booting a System to Run Level 3 (Multiuser State)

The following example displays the messages from booting a system to run level 3.


ok boot
SPARCstation 10 (1 X 390Z50)
ROM Rev. 2.14, 32 MB memory installed, Serial #number.
Ethernet address number, Host ID: number.

Rebooting with command:                                               
Boot device: /iommu@f,e0000000/sbus@f,e0001000/espdma@f,400000/esp@f,8...
SunOS Release 5.8 Version Generic 32-bit
Copyright (c) 1983-2000 by Sun Microsystems, Inc.
configuring IPv4 interfaces: le0.
Hostname: earth
The system is coming up.  Please wait.
checking ufs filesystems
/dev/rdsk/c0t3d0s7: is clean.
NIS domainname is Solar.COM
starting rpc services: rpcbind keyserv ypbind done.
Setting netmask of le0 to 255.255.255.0
Setting default IPv4 interface for multicast: add net 224.0/4: gateway earth
syslog service starting.
Print services started.
volume management starting.
The system is ready.

earth console login: 

SPARC: How to Boot a System to Run Level S (Single-User State)

  1. Boot the system to run level S by using the boot -s command.


    ok boot -s
    
  2. Enter the superuser password when the following message is displayed.


    INIT: SINGLE USER MODE
    Type Ctrl-d to proceed with normal startup,
     
    (or give root password for system maintenance):  xxx
    
  3. Use the who -r command to verify that the system is at run level S.


    # who -r
    .       run-level 3  Jun 10 15:27     3      0 
  4. To bring the system up to multiuser state after the system maintenance task is performed, press Control-d.

SPARC: Example--Booting a System to Run Level S (Single-User State)

The following example displays a system booted to run level S.


ok boot -s
.
.
.
SunOS Release 5.8 Version Generic 32-bit
Copyright (c) 1983-2000 by Sun Microsystems, Inc.
configuring IPv4 interfaces: le0.
Hostname: earth

INIT: SINGLE USER MODE

Type control-d to proceed with normal startup,
(or give root password for system maintenance): xxx
Sun Microsystems Inc.   SunOS 5.8		generic August 1999
# who -r
   .       run-level S  Jul 14 11:37     S      0  ?
(Perform some maintenance task)
# Press <Control-d>

SPARC: How to Boot a System Interactively

  1. Boot the system interactively by using the boot -a command.


    ok boot -a
    
  2. Answer the system prompts as described in the following table.

    If the System Displays ... 

    Do the Following ... 

    Enter filename [kernel/unix]:

    Provide the name of another kernel to use for booting. 

    Or, press Return to use the default kernel (/platform/`uname -m`/kernel/unix).

    Name of default directory for modules [/platform/`uname -m`/kernel /kernel /usr/kernel]:

    Provide the name of another kernel to use for booting. 

    Or, press Return to use the default kernel (/platform/`uname -m`/kernel/unix).

    Name of system file [/etc/system]:

    Provide the name of an alternate system file and press Return. Type /dev/null if your /etc/system file has been damaged.

    Or, press Return to use the default /etc/system file.

    root filesystem type [ufs]:

    Press Return to use the default root file system type: UFS for local disk booting, or NFS for network booting. 

    Enter physical name of root device

    [physical_device_name]:

    Provide an alternate device name and press Return. 

    Or, press Return to use the default physical name of the root device.  

  3. If you are not prompted to answer the questions in the table above, verify that you entered the boot -a command correctly.

SPARC: Example--Booting a System Interactively

In the following example, the default choices (shown in square brackets []) are accepted.


ok boot -a
.
.
.
Rebooting with command: boot -a
Boot device: /pci@1f,0/pci@1,1/ide@3/disk@0,0:a  File and args: -a
Enter filename [kernel/sparcv9/unix]: Return
Enter default directory for modules [/platform/SUNW,Ultra-5_10/kernel 
/platform/sun4u/kernel /kernel /usr/kernel]: Return
Name of system file [etc/system]: Return
SunOS Release 5.8 Version Generic 64-bit
Copyright (c) 1983-2000 by Sun Microsystems, Inc.
root filesystem type [ufs]: Return
Enter physical name of root device
[/pci@1f,0/pci@1,1/ide@3/disk@0,0:a]: Return
configuring IPv4 interfaces: hme0.
Hostname: starbug
The system is coming up.  Please wait.
checking ufs filesystems
.
.
.
The system is ready.
earth console login:

SPARC: How to Boot a System Over the Network

Any system can boot over the network if there is a boot server available. You might want to boot a standalone system over the network temporarily if it cannot boot from the local disk. See "SPARC: How to Change the Default Boot Device" for information on changing or resetting the default boot device.

There are two network configuration boot strategies to choose from on sun4u systems: RARP (Reverse Address Resolution Protocol and ONC+ RPC Bootparams Protocol) or DHCP (Dynamic Host Configuration Protocol). The default network boot strategy is set to RARP. You can use either one depending on whether a RARP or DHCP boot server is available in your network.


Note -

Sun Ultra systems must have PROM version 3.25 or later to use the DHCP network boot strategy.


If both methods are available, you can specify which service to use in the boot command temporarily, or save the network boot strategy across system reboots at the PROM level, by setting up an NVRAM alias. The following nvalias command example sets up a network device alias for booting DHCP by default on a Sun Ultra 10 system.


ok nvalias net	 /pci@1f,4000/network@1,1:dhcp

This alias means that when you type boot net, the system will boot using DHCP.


Caution - Caution -

You should not use the nvalias command to modify the NVRAMRC file unless you are very familiar with the syntax of this command and the nvunalias command. See the OpenBoot 3.x Command Reference Manual for information on using these commands.


  1. Determine the method for booting over the network and select one of the following.

    There must be a RARP or DHCP boot server already set up in your network for either of these methods to boot successfully.

    1. Boot the system over the network by using the DHCP method.


      ok boot net[:dhcp]

      If you have changed the PROM setting to boot DHCP by default, like in the nvalias example above, you only have to specify boot net to boot using the DHCP method.

    2. Boot the system over the network by using the RARP method.


      ok boot net[:rarp]

      Since RARP is the default network boot strategy, you only have to specify boot net:rarp if you have changed the PROM value to boot DHCP.

SPARC: How to Boot a System for Recovery Purposes

This procedure is needed when an important file, such as /etc/passwd, has an invalid entry and cause the boot process to fail.

If you need help identifying a system's device names, refer to Chapter 26, Accessing Devices (Overview).

  1. Follow the instructions below depending on whether you are booting from the Solaris installation CD or the network.

    If You Are Booting From ... 

    Then ... 

    Solaris installation CD 

    1. Insert the Solaris installation CD into the CD caddy. 

    2. Insert the CD caddy into the CD-ROM drive. 

    3. Boot from the installation CD in single-user mode: 

    ok boot cdrom -s

    The network, and an installation server or remote CD drive are available 

    Use the following command: 

    ok boot net -s

  2. Mount the file system that has the file with an invalid entry.


    # mount /dev/dsk/device-name /a
    
  3. Change to the newly mounted directory.


    # cd /a/directory
    
  4. Set the terminal type.


    # TERM=sun
    # export TERM
    
  5. Remove the invalid entry from the file using an editor.


    # vi filename
    
  6. Change to the root (/) directory.


    # cd /
    
  7. Unmount the /a directory.


    # umount /a
    
  8. Reboot the system.


    # init 6
    
  9. Verify the system boots to run level 3.

    The login prompt is displayed when the boot process has finished successfully.


    hostname console login:

SPARC: Example--Booting a System for Recovery Purposes

The following example shows how to repair an important system file (in this case, /etc/passwd) after booting from a local CD-ROM.


ok boot cdrom -s
# mount /dev/dsk/c0t3d0s0 /a
# cd /a/etc
# TERM=sun
# export TERM
# vi passwd
(Remove invalid entry)
# cd /
# umount /a
# init 6

SPARC: How to Stop the System for Recovery Purposes

  1. Type the abort key sequence for your system.

    The monitor displays the ok PROM prompt.


    ok

    The specific stop key sequence depends on your keyboard type. For example, you can press Stop-a or L1-a. On terminals, press the Break key.

  2. Use the sync command to synchronize the disks.


    ok sync
    
  3. When you see the syncing file systems... message, press the abort key sequence for your system again.

  4. Type the appropriate boot(1M) command to start the boot process.

  5. Verify the system is booted to the specified run level.


    # who -r
     .       run-level 3  May  2 07:39     3      0  S 

SPARC: Example--Stopping the System for Recovery Purposes


Press <Stop-a>
ok sync
syncing file systems...
Press <Stop-a>
ok boot

SPARC: Forcing a Crash Dump and Rebooting the System

Saving crash dumps of the operating system is sometimes necessary for troubleshooting purposes. The savecore feature and how it is set up is described in "Managing System Crash Information" in System Administration Guide, Volume 2. This section only describes how to reboot the system when the savecore feature is enabled.

SPARC: How to Force a Crash Dump and Reboot the System

  1. Type the stop key sequence for your system. The specific stop key sequence depends on your keyboard type. For example, you can press Stop-a or L1-a. On terminals, press the Break key.

    The monitor displays the ok PROM prompt.

  2. Use the sync command at the ok prompt to synchronize the disk and write the crash dump.


    > n
    ok sync
    

    After the crash dump is written to disk, the system will continue to reboot.

  3. Verify the system boots to run level 3.

    The login prompt is displayed when the boot process has finished successfully.


    hostname console login:

SPARC: Example--Forcing a Crash Dump and Rebooting the System


Press <Stop-a>
ok sync

SPARC: How to Boot the System With the Kernel Debugger (kadb)

  1. Type the stop key sequence for your system. The specific stop key sequence depends on your keyboard type. For example, you can press Stop-A or L1-A. On terminals, press the Break key.

    The monitor displays the ok PROM prompt.

  2. Use the sync command at the ok prompt to synchronize the disk and write the crash dump.


    > n
    ok sync
    
  3. When you see the syncing file systems... message, press the abort key sequence for your system again.

  4. Boot the system by using the kernel debugger.


    ok boot kadb
    
  5. Identify kadb booting messages to verify that the system has booted using the kernel debugger.


    Rebooting with command: kadb
    Boot device: /iommu/sbus/espdma@4,800000/esp@4,8800000/sd@3,0
    .
    .
    .

SPARC: Example--Booting the System With the Kernel Debugger (kadb)


Press <Stop-a>
ok sync
syncing file systems...
Press <Stop-a>
ok boot kadb