boot - start the system kernel or a standalone program
SUN-3, SUN-4 SYSTEMS
>>b [ device [ (c,u,p) ] ] [ filename ] [ -av ] boot-flags
>>b tapedev ([c,u,p])install [ filenum ]
SPARCstation 1 SYSTEMS
>>b [ device [ (c,u,p) ] ] [ filename ] boot-flags
SPARCstation 2, SPARCstation 10 SYSTEMS, SPARCsystem 600MP SERIES
>>b [ device-specifier ] [ filename ] boot-flags
The boot program is started by the PROM monitor and loads the kernel,
or another executable program, into memory.
The following applies to all Sun systems except Desktop SPARCsystems
and SPARCsystem 600MP series. See openboot(8S) for those systems.
The form b...install loads the miniroot from a SunOS distribution tape
or CDROM into the designated partition of diskdev (commonly 1, the swap
partition), and then boots the mini-root kernel in preparation for a
The form b? displays all boot devices and their device arguments.
The form b! boots, but does not perform a RESET.
When booting standalone, the boot program (/boot) is brought in by the
PROM from the file system. This program contains drivers for all
Booting a Sun-3 System Over the Network
When booting over the network, the Sun-3 system PROM obtains a version
of the boot program from a server using the Trivial File Transfer Pro-
tocol (TFTP). The client broadcasts a RARP request containing its Eth-
ernet address. A server responds with the client's Internet address.
The client then sends a TFTP request for its boot program to that
server (or if that fails, it broadcasts the request). The filename
requested (unqualified -- not a pathname) is the hexadecimal, uppercase
representation of the client's Internet address; for example:
Using IP Address 220.127.116.11 = C0090111
When the Sun server receives the request, it looks in the directory
/tftpboot for filename. That file is typically a symbolic link to the
client's boot program, normally boot.sun3, in the same directory. The
server invokes the TFTP server, tftpd(8C), to transfer the file to the
When the file is successfully read in by the client, the boot program
jumps to the load-point and loads vmunix (or a standalone program). In
order to do this, the boot program makes a broadcast RARP request to
find the client's IP address, and then makes a second broadcast request
to a bootparamd(8) bootparams daemon, for information necessary to boot
the client. The bootparams daemon obtains this information either from
a local /etc/bootparams database file, or from an NIS map. The boot
program sends two requests to the bootparams daemon -- the first,
whoami, to obtain its hostname, and the second, getfile, to obtain the
name of the client's server and the pathname of the client's root par-
The boot program then performs a mount(8) operation to mount the
client's root partition, after which it can read in and execute any
program within that partition by pathname (including a symbolic link to
another file within that same partition). Typically, it reads in the
file /vmunix. If the program is not read in successfully, boot
responds with a short diagnostic message.
Booting Other Sun Systems Over the Network
Other Sun systems boot over the network in a similar fashion. However,
the filename requested from a server must have a suffix that reflects
the kernel architecture of the machine being booted. For these sys-
tems, the requested filename has the form:
where ip-address is the machine's Internet Protocol (IP) address in
hex, and arch is a suffix representing its kernel architecture. Only
Sun-3 systems may omit the arch suffix. These filenames are restricted
to 14 characters for compatibility with UNIX System V and other operat-
ing systems. Therefore, the architecture suffix is limited to 5 char-
acters; it must be in upper case. At present, the following suffixes
are recognized: SUN3 for Sun-3 systems, SUN3X for Sun-3x systems, SUN4
for Sun-4 systems, S386 for Sun386i systems, and PCNFS for PC-NFS.
arch(1) may be used to determine the kernel architecture of a machine.
Once the system is loaded and running, the kernel performs some inter-
nal housekeeping, configures its device drivers, and allocates its
internal tables and buffers. The kernel then starts process number 1
to run init(8), which performs file system housekeeping, starts system
daemons, initializes the system console, and begins multiuser opera-
tion. Some of these activities are omitted when init is invoked with
certain boot-flags. These are typically entered as arguments to the
boot command and passed along by the kernel to init.
device One of:
le Lance Ethernet
ie Intel Ethernet (Sun-3, Sun-4 systems only)
sd SCSI disk, CDROM
st SCSI 1/4" or 1/2" tape
fd Diskette (Sun386i, Sun-3/80 systems and Desktop
id IPI disk (Sun-4 systems and SPARCsystem 600MP series
mt Tape Master 9-track 1/2" tape (Sun-3, Sun-4 systems
xd Xylogics 7053 disk (Sun-3, Sun-4 systems only)
xt Xylogics 1/2" tape (Sun-3, Sun-4 systems only)
xy Xylogics 440/450 disk (Sun-3, Sun-4 systems only)
diskdev Disk or CDROM; one of sd, id, xy from the above device set.
tapedev Tape; one of st, xt, mt from the above device set.
c Controller number, 0 if there is only one controller for
the indicated type of device.
u Unit number, 0 if there is only one driver.
p Partition number when booting off a disk, or tape file num-
ber when booting from a tape. Defaults to 0.
filename Name of a standalone program in the selected partition,
such as stand/diag or vmunix. Note: filename is relative
to the root of the selected device and partition. It never
begins with a `/' (slash). If filename is not given, the
boot program uses a default value (normally vmunix). This
is stored in the vmunix variable in the boot executable
file supplied by Sun, but can be patched to indicate
another standalone program loaded using adb(1).
filenum Filenumber to load from tapedev to diskdev. Defaults to 3,
which is the location of the miniroot on current SunOS dis-
-a Prompt interactively for the device and name of the file to
boot. For more information on how to boot from a specific
device, refer to
-v Verbose. Print more detailed information to assist in
diagnosing diskless booting problems.
boot-flags The boot program passes all boot-flags to the kernel or
standalone program. They are typically arguments to that
program or, as with those listed below, arguments to pro-
grams that it invokes.
-b Pass the -b flag through the kernel to init(8) to
skip execution of the /etc/rc.local script.
-h Halt after loading the system.
-s Pass the -s flag through the kernel to init(8) for
Pass the -i initname to the kernel to tell it to run
initname as the first program rather than the
/boot standalone boot program
/tftpboot/address symbolic link to the boot program for the client
whose Internet address, in uppercase hexadecimal,
/tftpboot/boot.sun3 Sun-3 first stage boot program
/tftpboot/boot.sun4 Sun-4 first stage boot program
/usr/etc/in.tftpd TFTP server
program to install boot blocks from a remote host
/vmunix kernel file that is booted by default
/etc/bootparams file defining root and swap paths for clients
adb(1), arch(1), tftp(1C), bootparamd(8), init(8), kadb(8S), moni-
tor(8S), mount(8), ndbootd(8C), openboot(8S), rc(8), reboot(8),
NIS was formerly known as Sun Yellow Pages (YP). The functionality of
the two remains the same; only the name has changed.
29 April 1992 BOOT(8S)