BOOT(8S)

NAME
boot - start the system kernel or a standalone program

SYNOPSIS

  SUN-3, SUN-4 SYSTEMS
>b [ device [ (c,u ,p) ] ] [ filename ] [ -av ] boot-flags
>b tapedev ([c,u,p])install [ filenum ]
diskdev ([c],[u],[p]) [vmunix[boot-flags]]
>b?
>b!

  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

DESCRIPTION

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 software installation.

The form b? displays all boot devices and their device arguments.

The form b! boots, but does not perform a RESET.

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 Address    192.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 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 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: 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.

  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:

    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 SPARCsystems only)
    id  IPI disk (Sun-4 systems and SPARCsystem 600MP series only)
    mt  Tape Master 9-track 1/2" tape (Sun-3, Sun-4 systems only)
    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 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).

filenum
    Filenumber to load from tapedev to diskdev. Defaults to 3, which is the location of the miniroot on current SunOS distribution tapes.

-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 programs 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 /sbin/init.

FILES
/boot
    standalone boot program
/tftpboot/address
    symbolic link to the boot program for the client whose Internet address, in uppercase hexadecimal, is address
/tftpboot/boot.sun3
    Sun-3 first stage boot program
/tftpboot/boot.sun4
    Sun-4 first stage boot program
/usr/etc/in.tftpd
    TFTP server
/usr/kvm/mdec/installboot
    program to install boot blocks from a remote host
/vmunix
    kernel file that is booted by default
/usr/kvm/boot
/etc/bootparams
    file defining root and swap paths for clients

SEE ALSO
adb(1), arch(1), tftp(1C), bootparamd(8), init(8), kadb(8S), monitor(8S), mount(8), ndbootd(8C), openboot(8S), rc(8), reboot(8), tftpd(8C)

NOTES

NIS was formerly known as Sun Yellow Pages (YP). The functionality of the two remains the same; only the name has changed.