NAME
boot —
system bootstrapping
procedures
DESCRIPTION
Power fail and crash
recovery
Normally, the system will reboot itself at power-up or after crashes. Provided
the auto-restart is enabled on the machine front panel, an automatic
consistency check of the file systems will be performed, and unless this
fails, the system will resume multi-user operations.
Cold starts
These are processor-type dependent. On an 11/780, there are two floppy files for
each disk controller, both of which cause boots from unit 0 of the root file
system of a controller located on mba0 or uba0. One gives a single user shell,
while the other invokes the multi-user automatic reboot. Thus these files are
HPS and HPM for the single and multi-user boot from MASSBUS RP06/RM03/RM05
disks, UPS and UPM for UNIBUS storage module controller and disks such as the
EMULEX SC-21 and AMPEX 9300 pair, RAS and RAM to boot from MSCP controllers
and disks such as the RA81, or HKS and HKM for RK07 disks. There is also a
script for booting from the default device, which is normally a copy of one of
the standard multi-user boot scripts, but which may be modified to perform
other actions or to boot from a different unit. The situation on the 8600 is
similar, with scripts loaded from the console RL02.
Giving the command
>>>BOOT HPM
would boot the system from (e.g.) an RP06 and run the automatic consistency
check as described in
fsck(8).
(Note that it may be necessary to type control-P and halt the processor to
gain the attention of the LSI-11 before getting the >>> prompt.) The
command
>>>BOOT ANY
invokes a version of the boot program in a way which allows you to specify any
system as the system to be booted. It reads from the console a device
specification (see below) followed immediately by a pathname.
The scripts may be modified for local configuration if necessary. The flags are
placed in register 11 (as defined in
<sys/reboot.h>). The boot device is
specified in register 10. The encoding of this register is also defined in
<sys/reboot.h>. The current encoding
has a historical basis, and is shown in the following table:
bits usage
0-7 boot device type (the device major number)
8-15 disk partition
16-19 drive unit
20-23 controller number
24-27 adaptor number (UNIBUS or MASSBUS as appropriate)
The adaptor number corresponds to the normal configuration on the 11/750, and to
the order in which adaptors are found on the 11/780 and 8600 (generally the
same as the numbers used by
UNIX).
On an 11/750, the reset button will boot from the device selected by the front
panel boot device switch. In systems with RK07's, position B normally selects
the RK07 for boot. This will boot multi-user. To boot from RK07 with boot
flags you may specify
where, giving a
n of 1 causes the boot program to ask for
the name of the system to be bootstrapped, giving a
n of
2 causes the boot program to come up single user, and a
n of 3 causes both of these actions to occur. The ``DM''
specifies RK07, the ``A'' represents the adaptor number (UNIBUS or MASSBUS),
and the ``0'' is the drive unit number. Other disk types which may be used are
DB (MASSBUS), DD (TU58), and DU (UDA-50/RA disk). A non-zero disk partition
can be used by adding (partition times 1000 hex) to
n.
The boot procedure on the Micro VAX II is similar. A switch on the back panel
sets the power-up action to autoboot or to halt. When halted, the processor
may be booted using the same syntax as on the 11/750.
The 11/750 boot procedure uses the boot ROMs to load block 0 off of the
specified device. The
/usr/mdec directory contains a number
of bootstrap programs for the various disks which should be placed in a new
pack by
disklabel(8).
Similarly, the Micro VAX II boot procedure loads a boot parameter block from
block 0 of the disk. The
rdboot “bootstrap”
contains the correct parameters for an MSCP disk such as the RD53.
On any processor, the
boot program finds the corresponding
file on the given device (
netbsd by default), loads that
file into memory location zero, and starts the program at the entry address
specified in the program header (after clearing off the high bit of the
specified entry address).
The file specifications used with “BOOT ANY” or “B/3”
are of the form:
device(adaptor,controller,unit,minor)
where
device is the type of the device to be searched,
adaptor is the UNIBUS or MASSBUS number of the adaptor
to which the device is attached,
controller is the unit
number of the controller or MASSBUS tape formatter on that adaptor,
unit is the unit number of the disk or transport slave
unit of the tape, and
minor is the disk partition or
tape file number. Leading adaptor or controller numbers default to 0. Normal
line editing characters can be used when typing the file specification. The
following list of supported devices may vary from installation to
installation:
hp MASSBUS disk drive
up UNIBUS storage module drive
ht TE16,TU45,TU77 on MASSBUS
kra storage module on a KDB50
mt TU78 on MASSBUS
hk RK07 on UNIBUS
ra storage module on a MSCP-compatible UNIBUS controller
rb storage module on a 730 IDC
rl RL02 on UNIBUS
tm TM11 emulation tape drives on UNIBUS
tms TMSCP-compatible tape
ts TS11 on UNIBUS
ut UNIBUS TU45 emulator
For example, to boot from a file system which starts at cylinder 0 of unit 0 of
a MASSBUS disk, type ‘
hp(0,0)netbsd
’ to
the boot prompt; ‘
hp(2,0,1,0)netbsd
’ would
specify drive 1 on MASSBUS adaptor 2;
‘
up(0,0)netbsd
’ would specify a UNIBUS
drive, ‘
hk(0,0)netbsd
’ would specify an
RK07 disk drive, ‘
ra(1,0,0,0)netbsd
’ would
specify a UDA50 disk drive on a second UNIBUS, and
‘
rb(0,0)netbsd
’ would specify a disk on a
730 IDC. For tapes, the minor device number gives a file offset;
‘
mt(1,2,3,4)
’ would specify the fifth file
on slave 3 of the formatter at ‘
drive
’ 2
on mba 1.
On an 11/750 with patchable control store, microcode patches will be installed
by
boot if the file
psc750.bin exists in
the root of the filesystem from which the system is booted.
In an emergency, the bootstrap methods described in the paper
Installing and Operating 4.3bsd can be used to boot
from a distribution tape.
FILES
- /netbsd
- system code
- /boot
- system bootstrap
- /usr/mdec/xxboot
- sector-0 boot block for 750, xx is disk type
- /usr/mdec/bootxx
- second-stage boot for 750, xx is disk type
- /pcs750.bin
- microcode patch file on 750
SEE ALSO
arff(8),
halt(8),
reboot(8),
shutdown(8)
HISTORY
The
boot command appeared in
4.0BSD.