Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ boot(1M) — SunOS 5.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

eeprom(1M)

init(1M)

installboot(1M)

kadb(1M)

kernel(1M)

shutdown(1M)

inittab(4)

vfstab(4)

boot(1M)

NAME

boot − start the system kernel or a standalone program

SYNOPSIS

ok boot [ OBP names ] [ filename ] [ boot-flags ]

>b [ device [ (c, u, p) ] ] [ filename ] [ −a ] boot-flags

DESCRIPTION

Bootstrapping is the process of loading and executing a standalone program.  For the purpose of this discussion, bootstrapping means the process of loading and executing the bootable operating system, but any standalone program can be booted instead.  The diagnostic monitor for a machine is a good example of a standalone program other than the operating system that can be booted. 

The bootstrap procedure on most machines consists of the following basic phases. 

After the machine is turned on the system firmware (in PROM) executes power-on self test (POST).  The form and scope of these tests depends on the version of the firmware in your system. 

After the tests have been completed successfully, the firmware attempts to autoboot if the appropriate flag has been set in the non-volatile storage area used by the firmware.  The name of the file to load, and the device to load it from can also be manipulated. 

These flags and names can be set using the eeprom(1M) command from the shell, or by using PROM commands from the ’ok’ prompt after the system has been halted. 

The second level program is either ufsboot , (when booting from a disk) or inetboot (when booting across the network).  When booting from a disk, the PROM assumes that the primary bootblock resides in blocks 1 to 15 of the local disk.  When booting over the network, the PROM makes a reverse ARP request and when it receives a reply, the PROM makes a TFTP request to the server that responded and fetches inetboot across the network and executes it.  Inetboot also makes another reverse ARP request, then uses the bootparams protocol to locate its root filesystem.  It then fetches the kernel across the network using the NFS protocol and then executes it. 

The second level boot program loads the standalone at the appropriate address, and then jumps to the newly loaded standalone. 

Typically, the standalone program is /kernel/unix.  Once the program is loaded, it starts the UNIX system, mounts the necessary filesystems (see vfstab(4)), and runs /sbin/init to bring the system to the "initdefault" state specified in /etc/inittab (see inittab(4)). 

OPTIONS

OBP names Specify the open boot prom designations.  For example, on Desktop SPARCsystems, the designation /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 into slot 0. 

filename Name of a standalone program to boot. The default is to boot /kernel/unix from the root partition, but you can specify another program, such as /stand/diag on the command line.  Some versions of the firmware allow the default filename to be saved in the non-volatile storage area of the system. 

−a The boot program interprets this flag to mean ask me , and so it prompts for the name of the standalone.  The ’−a’ flag is then handed onto the standalone. 

boot-flags The boot program passes all boot-flags to filename, they are not interpreted by boot.  See the kernel(1M) and kadb(1M) manual page for information on the options available with the default standalone program, /kernel/unix. 

SEE ALSO

eeprom(1M), init(1M), installboot(1M), kadb(1M), kernel(1M), shutdown(1M), inittab(4), vfstab(4)

SunOS 5.1 Routine System Administration Guide

NOTES

The boot program is not smart enough to know which files can be used as bootable programs.  If the booting of a file that is not bootable is requested from firmware, the boot program loads it and branches to it.  What happens after that is unpredictable. 

SunOS 5.2  —  Last change: 25 Jan 1993

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026