System Administration Guide, Volume I

Booting an x86 System

Table 9-1 describes the boot types covered in this chapter.

Table 9-1 x86: Boot Type Descriptions

Booting the System ... 

Is Usually Done ... 

See an Example On ... 

To run level 3 (multiuser state) 

After shutting down 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. 

"x86: Example--Booting 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 some file systems are mounted and users cannot log into the system. 

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

Interactively 

After making temporary changes to the 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. 

"x86: Example--Booting a System Interactively"

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. 

"x86: Example--Booting a System for Recovery Purposes"

Using kadb

To troubleshoot system problems by using the kernel debugger and saving core dumps of the operating system. 

"x86: How to Force a Crash Dump and Reboot the System"

The following procedures use the reset button to restart the system. If your system does not have a reset button, use the on/off switch to restart the system. You might be able to press the Control-Alt-Del keys to interrupt system operation, depending upon the state of the system.

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

  1. Press any key to reboot the system if the system displays the Type any key to reboot prompt. You can also use the reset button at this prompt. If the system is shut down, turn the system on with the power (on/off) switch.

    The Current Boot Parameters menu is displayed after a few minutes.

  2. Type b to boot the system to run level 3. Press Return.

    If you do not make a selection within 5 seconds, the system is automatically booted to run level 3. See

  3. Verify the system boots to run level 3.

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


    hostname console login:

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


Type any key to reboot
           .
           .
           .
 
                     <<< Current Boot Parameters >>>
Boot path: /eisa/eha@1,4000/sd@0,0:a
Boot args: 
 
Type    b [file-name] [boot-flags] <ENTER>      to boot with options
or      i <ENTER>                               to enter boot interpreter
or      <ENTER>                                 to boot with defaults
 
 
                     <<< timeout in 5 seconds >>>
 
Select (b)oot or (i)nterpreter: b 
             .
             .
             .
venus console login:

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

  1. Press any key to reboot the system if the system displays the Type any key to reboot prompt. You can also use the reset button at this prompt. If the system is shut down, turn the system on with the power (on/off) switch.

    The Current Boot Parameters menu is displayed after a few minutes.

  2. Type b -s to boot the system to run level S. Press Return.

    If you do not make a selection within 5 seconds, the system is automatically booted to run level 3.

  3. Type the superuser password, if prompted.

  4. Verify the system is at run level S by using the who -r command.


    # who -r
       .         run-level S  Nov 10 13:59     S    0  3
  5. Perform the maintenance task that needed the run level change to S.

  6. Press Control-d to bring the system back to run level 3.

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


Type any key to reboot
            .
            .
            .
 
                     <<< Current Boot Parameters >>>
Boot path: /eisa/eha@1,4000/sd@0,0:a
Boot args: 
 
Type    b [file-name] [boot-flags] <ENTER>      to boot with options
or      i <ENTER>                               to enter boot interpreter
or      <ENTER>                                 to boot with defaults
 
 
                     <<< timeout in 5 seconds >>>
 
Select (b)oot or (i)nterpreter: b -s
              .
              .
              .
INIT: SINGLE USER MODE
 
Type Ctrl-d to proceed with normal startup,
(or give root password for system maintenance):  xxx
Entering System Maintenance Mode
              .
              .
              .
# who -r
.       run-level S  Aug  4 13:11     S      0  3
(Perform some maintenance task)
# Press <Control-d>

x86: How to Boot a System Interactively

  1. Press any key to reboot the system if the system displays the Type any key to reboot prompt. You can also use the reset button at this prompt. If the system is shut down, turn the system on with the power (on/off) switch.

    The Current Boot Parameters menu is displayed after a few minutes.

  2. Type b -a to boot the system interactively.

    If you do not make a selection within 5 seconds, the system is automatically booted to run level 3.

  3. Answer the system prompts as described in Table 9-2.

    Table 9-2 x86: Interactive Boot Procedure Steps

    If the System Displays ... 

    Do the Following ... 

    Type any key to reboot

    Press any key to reboot the system if the system displays the Type any key to reboot prompt. You can also use the reset button at this prompt. If the system is shut down, turn the system on with the power (on/off) switch.

    The Primary Boot Subsystem menu is displayed after a few minutes. 

    The Primary Boot Subsystem menu 

    Select the Active Solaris slice as the boot device. Press Return. If you do not make a selection within 30 seconds, the active boot slice is selected automatically. 

    Select (b)oot or (i)nterpreter:

    Type b -a and press Return.

    Enter default directory for modules: [/platform/i86pc/kernel /kernel /usr/kernel]:

    Provide an alternate path for the modules directory and press Return, or press Return to use the default modules directory path.

    Name of system file [etc/system]:

    Provide the name of an alternate system file and press Return, or press Return to use the default /etc/system file. Enter

    /dev/null as the file if your /etc/system file has been damaged.

    root filesystem type [ufs]:

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

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

x86: Example--Booting a System Interactively

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


Type any key to reboot
            .
            .
            .
 
                     <<< Current Boot Parameters >>>
Boot path: /eisa/eha@1,4000/sd@0,0:a
Boot args: 
 
Type    b [file-name] [boot-flags] <ENTER>      to boot with options
or      i  <ENTER>                              to enter boot interpreter
or      <ENTER>                                 to boot with defaults
 
 
                     <<< timeout in 5 seconds >>>>
Select (b)oot or (i)nterpreter: b -a
Enter default directory for modules [/platform/i86pc/kernel 
/kernel /usr/kernel]: Return
Name of system file [etc/system]:Return
(Copyright notice)
root filesystem type [ufs]: Return
Enter physical name of root device
[/eisa/dpt@5c88,0/cmdk@0,0:a]: Return
Configuring network interfaces:  smc0
Hostname: venus
(fsck messages)
The system is coming up.  Please wait
(More messages)
venus console login:

x86: How to Boot a System for Recovery Purposes

Recovering from a invalid /etc/passwd file is used as an example of how to boot a system for recovery purposes.

Substitute the device name of the file system to be repaired for the devicename variable identified in the procedures below. If you need help identifying a system's device names, refer to Chapter 20, Accessing Devices (Overview).

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

  1. Boot from the Solaris 2 installation CD (or the network) to single-user mode using steps a-f.

    If you are booting from the network, skip steps a and b.

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

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

    3. (Optional) Insert the Configuration Assistant/Boot Diskette into the primary diskette drive (DOS drive A) if the disk you are booting from doesn't contain the Solaris 2.6 Intel Platform Edition or compatible versions.

    4. Press any key to reboot the system if the system displays the Type any key to reboot prompt. You can also use the reset button at this prompt. If the system is shut down, turn the system on with the power (on/off) switch.

    5. Press the F2 key (F2_Continue) at the Solaris Device Configuration Assistant screen.

      Device identification is performed and a screen that displays the identified devices appears.

    6. Press the F2 key (F2_Continue) at the Identified Devices screen.

      Bootable drivers are loaded.

    7. Select the CD-ROM drive or net(work) as the boot device from the Boot Solaris screen. Then press the F2 key (F2_Continue).

      The Solaris boot option screen is displayed.

    8. Type b -s at the Select the type of installation: prompt.

      After a few minutes, the single-user mode # prompt is displayed.

  2. Mount the root (/) file system that has the invalid passwd file.


    # mount /dev/dsk/devicename /a
    
  3. Change to the newly mounted etc directory.


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


    # TERM=AT386
    # export TERM
    
  5. Make the necessary change to the passwd file using an editor.


    # vi passwd
    
  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:

x86: Example--Booting a System for Recovery Purposes


Type any key to reboot
 
SunOS Secondary Boot version 3.00
 
 
		Solaris Intel Platform Edition Booting System
 
 
Running Configuration Assistant...
Autobooting from bootpath: /eisa/eha@1,4000/sd@0,0:a
 
If the system hardware has changed, or to boot from a different
device, interrupt the autoboot process by pressing ESC.
 
Press ESCape to interrupt autoboot in 5 seconds.
      .
      .
      .
Boot Solaris
 
Select one of the identified devices to boot the Solaris kernel and
choose Continue.
 
To perform optional features, such as modifying the autoboot and property
settings, choose Boot Tasks.
 
An asterisk (*) indicates the current default boot device.
 
> To make a selection use the arrow keys, and press Enter to mark it [X].
 
  [ ] DISK: Target 0, IMPRIMIS 94241-7			0888
	    on Adaptec 1740/1742 SCSI controller in EISA Slot 4
  [ ] CD  : Target 2, TOSHIBA  CD-ROM XM-3501TA 3054
	    on Adaptec 1740/1742 SCSI controller in EISA Slot 4
  [ ] NET : SMC EtherCard Elite32C Ethernet adapter
	    in EISA Slot 6
 
 
F2_Continue		F3_Back		F4_Boot Tasks		F6_Help
      .
      .
      .
                     <<< Current Boot Parameters >>>
Boot path: /eisa/smceu@0,0
Boot args: kernel/unix -r
 
 
 
Select the type of installation you want to perform:
 
	1 Solaris Interactive
	2 Custom JumpStart
	3 Solaris Web Start
 
Enter the number of your choice followed by <ENTER> the key.
 
If you enter anything else, or if you wait for 30 seconds,
an interactive installation will be started.
 
Select type of installation:  
Select (b)oot or (i)nterpreter: b -s
# mount /dev/dsk/c0t3d0s0 /a
# cd /a/etc
# TERM=AT386
# export TERM
# vi passwd
(Remove invalid entry)
# cd /
# umount /a
# init 6

x86: How to Stop the System for Recovery Purposes

If possible, attempt to stop the system by using one of the following commands:

If the system doesn't respond to any input from the mouse or keyboard, press the reset key, if it exists, to reboot the system. Or, use the power (on/off) switch to reboot the system.

x86: Forcing a Crash Dump and Rebooting the System

Saving core 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 II. This section only describes how to reboot the system when the savecore feature is enabled.

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

The system must be booted with the kernel debugger option, kadb, to get to the kadb[0]: prompt and force the crash dump.


x86 only -

You must be in text mode to enter the kernel debugger (kadb), so exit any window system (CDE or Open Windows) first.


  1. Press Control-Alt-d.


    kadb[0]:

    The kadb[0]: prompt is displayed.

  2. Type the following commands at the kadb[0]: prompt.


    Press <Control-Alt-d>
    kadb[0]: vfs_syncall/W ffffffff
    kadb[0]: 0>eip
    kadb[0]: :c
    kadb[0]: :c
    kadb[0]: :c
    

    After the first :c is typed, the system panics, so you need to type :c again. The system panics again, so type :c a third time to force the crash dump and reboot the system.

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

  3. Verify the system has rebooted by logging in at the console login prompt.