BOOT(8S) — MAINTENANCE COMMANDS
NAME
boot − start the system kernel, or a standalone program
SYNOPSIS
>b [ device [ (c,u ,p) ] ] [ filename ] [ −a ] boot-flags
>b?
>b!
SYNOPSIS — SPARCstation1 SYSTEMS
>b [ device [ (c,u ,p) ] ] [ filename ] [ −a ] boot-flags
DESCRIPTION
The boot program is started by the PROM monitor and loads the kernel, or another executable program, into memory.
The form b? displays all boot devices and their device arguments. This form is not available on SPARCstation 1 systems.
The form b! boots, but does not perform a RESET. This form is not available on SPARCstation 1 systems.
USAGE
Booting Standalone
When booting standalone, the boot program (/boot) is brought in by the PROM from the file system. This program contains drivers for all devices.
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 Protocol (TFTP). The client broadcasts a RARP request containing its Ethernet 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 Address192.9.1.17 = 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 client.
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 a Yellow Pages (YP) 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 partition.
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 systems, the requested filename has the form:
ip-address.arch
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 operating systems. Therefore, the architecture suffix is limited to 5 characters; it must be in upper case. At present, the following suffixes are recognized: SUN2 for Sun-2 systems, SUN3 for Sun-3 systems, SUN3X for Sun-3x systems, SUN4 for Sun-4 systems, SUN4C for Sun-4c systems, S386 for Sun386i systems, and PCNFS for PC-NFS. arch(1) may be used to determine the kernel architecture of a machine.
Note: a Sun-2 system boots from its server using one extra step. It broadcasts an ND request which is intercepted by the user-level ndbootd(8C) server. This server sends back a standalone program that carries out the same TFTP request sequence as is done for all the other systems.
System Startup
Once the system is loaded and running, the kernel performs some internal 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 operation. 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.
OPTIONS
device One of:
ie Intel 82586 Ethernet
ec 3Com Ethernet
fd3½′′ floppy disk
le AMD 7990 Lance Ethernet
mt Tapemaster 9-track ½′′ tape
sd SCSI disk
st SCSI ¼′′ tape
xd Xylogics 7053 SMD-4 disk
xt Xylogics 9-track ½′′ tape
xy Xylogics 440/450/451 SMD disk
c Controller number, 0 if there is only one controller for the indicated type of device.
u Unit number, 0 if only there is only one driver.
p Partition number when booting off a disk, or tape file number 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).
−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 Installing the SunOS.
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 progams 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 single-user operation.
−i initname
Pass the −i initname to the kernel to tell it to run initname as the first program rather than the default /single/init.
FILES
/boot standalone boot program
/tftpboot/????????
symbolic link to the boot program for a client
/tftpboot/boot.sun3
programs to boot from the client’s root partition
/usr/etc/in.tftpd TFTP server
/usr/mdec/installboot
program to install boot blocks from a remote host
/vmunix
/usr/boot
/etc/bootparams
SEE ALSO
adb(1), arch(1), tftp(1C), bootparamd(8), init(8), kadb(8S), monitor(8S), mount(8), ndbootd(8C), rc(8), reboot(8), tftpd(8C)
Installing the SunOS
System and Network Administration
BUGS
On Sun-2 systems, the PROM passes in the default name vmunix, overriding the the boot program’s patchable default.
Sun Release 4.0 — Last change: 2 May 1989