Home > Articles

This chapter is from the book

Booting a System

Objective: Boot the system; access detailed information.

  • Explain how to perform a system boot.

Up to this point, this chapter describes the OpenBoot diagnostic utilities, variables, and parameters. At the OpenBoot PROM, the operating system is not yet running. In fact, the OpenBoot PROM will work fine if the operating system is not even loaded. The primary function of the OpenBoot firmware is to start up the system. Starting up is the process of loading and executing a standalone program (for example, the operating system or the diagnostic monitor). In this discussion, the standalone program that is being started is the two-part operating system kernel. After the kernel is loaded, the kernel starts the Unix system, mounts the necessary file systems, and runs /sbin/init to bring the system to the initdefault state that is specified in /etc/inittab. This process is described in the "System Run States" section, later in this chapter.

Starting up can be initiated either automatically or with a command entered at the user interface. On most SPARC-based systems, the bootstrap process consists of the following basic phases:

  1. The system hardware is powered on.
  2. The system firmware (the PROM) executes a POST. (The form and scope of POSTs depend on the version of the firmware in the system.)
  3. After the tests have been completed successfully, the firmware attempts to autoboot if the appropriate OpenBoot configuration variable (auto-boot?) has been set.

The OpenBoot startup process is shown here:

Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 333MHz), No Keyboard
OpenBoot 3.31, 128 MB (50 ns) memory installed, Serial #12599081.
Ethernet address 8:0:20:c0:3f:29, Host ID: 80c03f29.

Initializing Memory        
Rebooting with command: boot
Boot device: disk File and args: 
SunOS Release 5.10 Version Generic 64-bit
Copyright 1983-2005 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Hostname: smokey
checking ufs filesystems
/dev/rdsk/c0t0d0s5: is logging.
/dev/rdsk/c0t0d0s7: is logging.
/dev/rdsk/c0t0d0s4: is logging.
smokey console login:

The startup process is controlled by a number of configuration variables, as described in Table 3.19.

Table 3.19 Boot Configuration Variables




Controls whether the system automatically starts up after a system reset or when the power is turned on. The default for this variable is true. When the system is powered on, the system automatically starts up to the default run level.


Specifies the command to be executed when auto-boot? is true. The default value of boot-command is boot, with no command-line arguments.


Causes the system to run in diagnostic mode if the value is true. This variable is false by default.


Contains the name of the default startup device used when OpenBoot is not in diagnostic mode.


Contains the default startup arguments used when OpenBoot is not in diagnostic mode. The default is no arguments. (See Table 3.20 for details on when this variable is used.)


Contains the name of the default diagnostic mode startup device. The default is net. (See Table 3.20 for details on when this variable is used.)


Contains the default diagnostic mode startup arguments. The default is no arguments. (See Table 3.20 for details on when this variable is used.)

Typically, auto-boot? is set to true, boot-command is set to boot, and OpenBoot is not in diagnostic mode. Consequently, the system automatically loads and executes the program and arguments described by boot-file from the device described by boot-device when the system is first turned on or following a system reset.

The boot Command

The boot command has the following syntax:

boot <device specifier> [arguments]

All arguments and options are optional.

The boot command and its options are described in Table 3.20.

Table 3.20 boot Command Arguments and Options



<device specifier>

The full device name or devalias of the boot device. Typically this boot device is


<full device name>—For example, /sbus/esp@0,800000/ sd@3,0:a indicates a SCSI disk (sd) at target 3, lun0 on the SCSI bus, with the esp host adapter plugged in to slot 0.


cdrom—Boot from CD in the CDROM drive.


disk—Boot from the hard drive.


net—Boot from the network


The name of the program to be booted (for example, stand/diag) and any program arguments. You can also specify the name of the standalone program to be started up (for example, kernel/sparcv9/unix). The default on a Sun SPARC system is to start up kernel/sparcv9/unix from the root partition.

The following options control the behavior of the boot command:




The startup program interprets this flag to mean "Ask me," so it prompts for the name of the standalone program to load.

-m verbose

Allows customization of the boot console output.

-m milestone <level>

Allows the operator to enter which milestone to enter upon bootup.


Triggers device reconfiguration during startup.


Boots to the single-user milestone.


Boots in verbose mode. When this option is set, all system messages are displayed.


The boot program passes all startup flags to [argument]. The startup flags are not interpreted by boot. (See the section "The Kernel," later in this chapter, for information on the options that are available with the default standalone program, kernel/sparcv9/unix.)

A noninteractive boot (boot) automatically boots the system by using default values for the boot path. You can initiate a noninteractive boot by typing the following command from the OpenBoot prompt:

ok boot

The system boots without requiring any additional interaction.

An interactive boot (boot -a) stops and asks for input during the boot process. The system provides a dialog box in which it displays the default boot values and gives you the option of changing them. You might want to boot interactively to make a temporary change to the system file or kernel. Booting interactively enables you to test your changes and recover easily if you have problems. To do this, follow the process in Step by Step 3.1.


3.1 The Interactive Boot Process

  1. At the ok prompt, type boot -a and press Enter. The boot program prompts you interactively.
  2. Press Enter to use the default kernel as prompted, or type the name of the kernel to use for booting and then press Enter.
  3. Press Enter to use the default modules directory path as prompted, or type the path for the modules directory and then press Enter.
  4. Press Enter to use the default /etc/system file as prompted, or type the name of the system file and then press Enter.
  5. Press Enter to use the default root file system type as prompted (that is, ufs for local disk booting or nfs for diskless clients).
  6. Press Enter to use the default physical name of the root device as prompted or type the device name.

The following output shows an example of an interactive boot session:

ok boot -a
Resetting ...

Sun Ultra 5/10 UPA/PCI (UltraSPARC-IIi 270MHz), No Keyboard
OpenBoot 3.31, 128 MB (60 ns) memory installed, Serial #10642306.
Ethernet address 8:0:20:a2:63:82, Host ID: 80a26382.

Rebooting with command: boot -a
Boot device: /pci@1f,0/pci@1,1/ide@3/disk@0,0 File and args: -a
Enter filename [kernel/sparcv9/unix]:
Enter default directory for modules [/platform/SUNW,Ultra-5_10/kernel /platform/
sun4u/kernel /kernel /usr/kernel]:
Name of system file [etc/system]:
SunOS Release 5.10 Version Generic 64-bit
Copyright 1983-2005 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
root filesystem type [ufs]:
Enter physical name of root device
Hostname: ultra5
/dev/rdsk/c0t0d0s5: is logging.
/dev/rdsk/c0t0d0s7: is logging.
/dev/rdsk/c0t0d0s4: is logging.
ultra5 console login:

To view more detailed information during the boot process, you use the boot -v or boot -m verbose options to the boot command:

ok boot -m verbose

The system outputs more detailed boot messages as follows:

Boot device: /pci@1f,0/pci@1,1/ide@3/disk@0,0:a File and args: -m verbose
SunOS Release 5.10 Version Generic 64-bit
Copyright 1983-2005 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
[ network/loopback:default starting (loopback network interface) ]
[ system/filesystem/root:default starting (root file system mount) ]
[ network/pfil:default starting (packet filter) ]
Sep 20 11:15:54/74: system start time was Tue Sep 20 11:15:39 2005
[ milestone/name-services:default starting (name services milestone) ]
[ network/physical:default starting (physical network interfaces) ]
[ system/filesystem/usr:default starting (read/write root file systems mounts) ]
[ system/device/local:default starting (Standard Solaris device configuration.) ]
[ system/filesystem/minimal:default starting (minimal file system mounts) ]
[ milestone/devices:default starting (device configuration milestone) ]
[ system/identity:domain starting (system identity (domainname)) ]
[ system/manifest-import:default starting (service manifest import) ]
[ milestone/network:default starting (Network milestone) ]
[ system/cryptosvc:default starting (cryptographic services) ]
[ system/identity:node starting (system identity (nodename)) ]
[ network/initial:default starting (initial network services) ]
[ system/sysevent:default starting (system event notification) ]
Hostname: ultra5
[ system/device/fc-fabric:default starting (Solaris FC fabric device configuration.) ]
[ system/coreadm:default starting (system-wide core file configuration) ]
[ system/keymap:default starting (keyboard defaults) ]
[ system/name-service-cache:default starting (name service cache) ]
[ system/rmtmpfiles:default starting (remove temporary files) ]
[ milestone/single-user:default starting (single-user milestone) ]
[ system/picl:default starting (platform information and control) ]
[ network/service:default starting (layered network services) ]
[ system/power:default starting (power management) ]
[ application/print/cleanup:default starting (print cleanup) ]
[ system/filesystem/local:default starting (local file system mounts) ]
checking ufs filesystems
/dev/rdsk/c0t0d0s5: is logging.
/dev/rdsk/c0t0d0s7: is logging.
[ system/cron:default starting (clock daemon (cron)) ]
[ application/font/fc-cache:default starting (FontConfig Cache Builder) ]
[ system/sysidtool:net starting (sysidtool) ]
[ network/rpc/bind:default starting (RPC bindings) ]
[ system/sysidtool:system starting (sysidtool) ]
[ network/nfs/status:default starting (NFS status monitor) ]
[ network/nfs/mapid:default starting (NFS ID mapper) ]
[ milestone/sysconfig:default starting (Basic system configuration milestone) ]
[ network/inetd:default starting (inetd) ]
[ network/nfs/nlockmgr:default starting (NFS lock manager) ]
[ system/sac:default starting (SAF service access controller) ]
[ system/utmp:default starting (utmpx monitoring) ]
[ system/console-login:default starting (Console login) ]

ultra5 console login: Sep 20 11:16:38/214: network/nfs/client:default starting
Sep 20 11:16:40/216: system/filesystem/autofs:default starting
Sep 20 11:16:43/220: network/ssh:default starting
Sep 20 11:16:43/221: system/dumpadm:default starting
Sep 20 11:16:44/223: system/system-log:default starting
Sep 20 11:16:45/227: system/fmd:default starting
Sep 20 11:16:45/229: network/smtp:sendmail starting
Sep 20 11:16:46/231: milestone/multi-user:default starting
Sep 20 11:17:00/235: system/zones:default starting

ultra5 console login: ultra5 console login:

If you are not at the system console to watch the boot information, you can use the Unix dmesg command to redisplay information that was displayed during the boot process, or you can view the information in the /var/adm/messages file. The dmesg command displays the contents of a fixed-size buffer. Therefore, if the system has been up for a long time, the initial boot messages may have been overwritten with other kernel log entries.

To view messages displayed during the boot process, you can use one of the following methods:

  • At a Unix prompt, type /usr/sbin/dmesg and press Enter.
  • At a Unix prompt, type more /var/adm/messages and press Enter.

New in Solaris 10 is the concept of services, described in the Service Management Facility (SMF) section of this chapter. With SMF, there are additional tools for viewing system startup messages. Refer to the section on SMF for additional information.

When you specify an explicit device alias, such as disk3, with the boot command, the machine starts up from the specified startup device, using no startup arguments. Here’s an example:

boot disk3

In this case, the system boots from the disk drive defined by the device alias named disk3. It then loads kernel/sparcv9/unix as the default standalone startup program.

Various options affect the behavior of the boot command. You use the following syntax to specify any of the options listed in Table 3.20 with the boot command:

boot [options]

When you specify options with the boot command, the machine starts up from the default startup device. Here’s an example:

boot -a

The -a option instructs the boot command to ask for the name of the standalone program to load. If you specify kernel/sparcv9/unix, which is the default, you are prompted to enter the directory that contains the kernel modules. (See the section "The Kernel," later in this chapter, for details on kernel modules.)

You can mix options and arguments with the boot command by using the following syntax:

boot [argument]<program filename> - <flags>

When you specify the boot command with an explicit startup device and option, the machine starts up from the specified device using the specified option. Here’s an example:

boot disk3 -a

This gives the same prompts as the previous example, except that you are specifying the boot device and not using the default boot device. The system starts up the bootblock from the disk drive defined by the device alias named disk3.

During the startup process, OpenBoot performs the following tasks:

  1. The firmware resets the machine if a client program has been executed since the last reset. The client program is normally an operating system or an operating system’s loader program, but boot can also be used to load and execute other kinds of programs, such as diagnostics programs. For example, if you have just issued the test net command, when you next type boot, the system resets before starting up.
  2. The boot program is loaded into memory, using a protocol that depends on the type of selected device. You can start up from disk, CD-ROM, or the network.
  3. The loaded boot program is executed. The behavior of the boot program can be controlled by the argument string, if one is passed to the boot command on the command line.

The program that is loaded and executed by the startup process is a secondary boot program, the purpose of which is to load the standalone program. The second-level program is either ufsboot, when you’re starting up from a disk, or inetboot, when you’re starting up from the network.

If you’re starting up from disk, the bootstrap process consists of two conceptually distinct phases: primary startup and secondary startup. The PROM assumes that the program for the primary startup (bootblk) is in the primary bootblock, which resides in sectors 1 through 15 of the startup device. The bootblock is created by using the installboot command. The software installation process typically installs the bootblock for you, so you don’t need to issue this command unless you’re recovering a corrupted bootblock.

To install a bootblock on disk c0t3d0s0, for example, you type the following:

installboot /usr/platform/’uname -i’/lib/fs/ufs/bootblk \ 

You cannot see the bootblock, as it resides outside the file system area. It resides in a protected area of the disk and will not be overwritten by a file system. The program in the bootblock area loads the secondary startup program, ufsboot.

When you’re executing the boot command, if you specify a filename, that filename is the name of the standalone startup program to be loaded. If the pathname is relative (that is, it does not begin with a slash), ufsboot looks for the standalone program in a platform-dependent search path which is /platform/’uname-m’ and /platform/’uname -i’.

On the other hand, if the path to the filename is absolute, boot uses the specified path. The startup program then loads the standalone program and transfers control to it.

The following example shows how to specify the standalone startup program from the OpenBoot ok prompt:

ok boot disk5 kernel/sparcv9/unix -s

In this example, the PROM looks for the primary boot program (bootblk) on disk5 (/pci@1f,0/pci@1,1/ide@3/disk@5,0). The primary startup program then loads /platform/’uname -m’/ufsboot. ufsboot loads the appropriate two-part kernel. The core of the kernel is two pieces of static code called genunix and unix, where genunix is the platform-independent generic kernel file and unix is the platform-specific kernel file. When ufsboot loads these two files into memory, they are combined to form the running kernel. On systems running the 64-bit mode OS, the two-part kernel is located in the directory:

/platform/’uname -m’/kernel/sparcv9

Typical secondary startup programs, such as kernel/sparcv9/unix, accept arguments of the form <filename> -<flags>, where filename is the path to the standalone startup program and -<flags> is a list of options to be passed to the standalone program. The example starts up the operating system kernel, which is described in the next section. The -s flag instructs the kernel to start up in single-user mode.

Pearson IT Certification Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from Pearson IT Certification and its family of brands. I can unsubscribe at any time.


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about Pearson IT Certification products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information

To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.


Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites; develop new products and services; conduct educational research; and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.


If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information

Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.


This site is not directed to children under the age of 13.


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information

If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.


Users can always make an informed choice as to whether they should proceed with certain services offered by Adobe Press. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.pearsonitcertification.com/u.aspx.

Sale of Personal Information

Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents

California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure

Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact

Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice

We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020