2.9BSD/usr/man/cat8/boot.8

Compare this file to the similar file:
Show the results in this format:


BOOT(8)             UNIX Programmer's Manual              BOOT(8)

NAME
     boot - startup procedures

DESCRIPTION
     A PDP-11 UNIX system is started by a two-stage process.  The
     first is a primary bootstrap which is able to read in rela-
     tively small stand-alone programs; the second (called _b_o_o_t)
     is used to read in the system itself.

     The primary bootstrap must reside in the otherwise unused
     block zero of the boot device.  It can be read in and
     started by the standard ROM programs, or if necessary by
     keying in a small startup routine.  This program is capable
     of loading type 407 executable files (not shared, not
     separate I&D).  It will normally load _b_o_o_t immediately after
     being executed; if _b_o_o_t is not found, the name of another
     file to try will be read from the console.  The named pro-
     gram is retrieved from the file system that starts at block
     0 of drive 0 of the boot device (this is usally root).  Some
     devices' primary bootstraps will prompt with a `>', others
     have no prompt.  No diagnostic message results if the file
     cannot be found, and no provision is made for correcting
     typographical errors.  Hitting a return will cause an error
     and allow restarting.

     The second step, called _b_o_o_t, actually brings in the system.
     When read into location 0 and executed, _b_o_o_t sets up memory
     management, relocates itself into high memory, and types its
     name and a `:' on the console.  If this is an automatic,
     unattended reboot, _b_o_o_t will use the default file for the
     installation, typing the file's name after the prompt.  Oth-
     erwise, it reads a device specification from the console
     (see below) followed immediately by a pathname.  Normal line
     editing characters can be used to make corrections while
     typing this (i.e. '#' and '@'). If only a carriage return is
     typed, the default name will be used.  _b_o_o_t finds the
     corresponding file on the given device, loads that file into
     memory location zero, sets up memory management as required,
     and calls the program by executing a `trap' instruction.

     Conventionally, the name of the secondary boot program is
     `/boot' (if the root is the first file system on the disk)
     and the name of the current version of the system is
     `/unix'.

     For the system to boot, three files (and the directories
     leading to them) must exist.  The first is /_e_t_c/_i_n_i_t, which
     must be present and executable; if it is not, the kernel
     will print a message to that effect and loop.  The other
     files are /_b_i_n/_s_h, which must also be executable, and
     /_d_e_v/_c_o_n_s_o_l_e.  (If either of these is missing, _i_n_i_t will
     attempt multi-user operation.) When the system is running,

Printed 8/2/83                                                  1

BOOT(8)             UNIX Programmer's Manual              BOOT(8)

     it starts a single-user shell on the console which types a
     `#' prompt.  After doing any file system checks and setting
     the date (_d_a_t_e(1)) a multi-user system is brought up by typ-
     ing an EOT (control-d) in response to the `#' prompt.

     Device specifications. A device specification has the fol-
     lowing form:

          device(unit,offset)

     where _d_e_v_i_c_e is the type of the device to be searched, _u_n_i_t
     is the unit number of the device, and _o_f_f_s_e_t is the block
     offset of the file system on the disk, in physical (512
     byte) blocks, or the file number if the device is a tape.
     Tape files are separated by single tape marks.  _d_e_v_i_c_e is
     one of the following
          hk   RK06/7
          hp   RP04/5/6
          ht   TU/TE16
          rk   RK05
          rl   RL01/2
          rm   RM02/3
          rp   RP03
          tm   TU/TE10
          ts   TS-11
          xp   RM05
     (actually, xp, hp and rm all use the same driver and distin-
     guish the drive type from the drive-type register).  For
     example, the specification

          rp(1,7000)

     indicates an RP03 disk, unit 1, and the file system found
     starting at block 7000 (cylinder 35).

     ROM programs. The following programs to call the primary
     bootstrap may be installed in read-only memories or manually
     keyed into main memory.  Each program is position-
     independent but should be placed well above location 0 so it
     will not be overwritten.  Each reads a block from the begin-
     ning of a device into core location zero.  The octal words
     constituting the program are listed on the left.

     RK (drive 0):
        012700      mov     $rkda,r0
        177412
        005040      clr     -(r0)          / rkda cleared by start
        010040      mov     r0,-(r0)
        012740      mov     $5,-(r0)
        000005
        105710  1:  tstb    (r0)
        002376      bge     1b

Printed 8/2/83                                                  2

BOOT(8)             UNIX Programmer's Manual              BOOT(8)

        005007      clr     pc

     RP (drive 0)
        012700      mov     $rpmr,r0
        176726
        005040      clr     -(r0)
        005040      clr     -(r0)
        005040      clr     -(r0)
        010040      mov     r0,-(r0)
        012740      mov     $5,-(r0)
        000005
        105710  1:  tstb    (r0)
        002376      bge     1b
        005007      clr     pc

FILES
     /unix                    system code
     /usr/src/sys/mdec/xxubootcopy of primary bootstrap for dev-
     ice xx
     /boot                    second stage bootstrap

SEE ALSO
     init(8), reboot(8)

Printed 8/2/83                                                  3