BOOT(8) BSD System Manager's Manual BOOT(8) NNAAMMEE bboooott - system bootstrapping procedures DDEESSCCRRIIPPTTIIOONN PPoowweerr ffaaiill aanndd ccrraasshh rreeccoovveerryy.. 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. CCoolldd ssttaarrttss.. 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 au- tomatic reboot. Thus these files are HPS and HPM for the single and mul- ti-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 consis- tency 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 speci- fy 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 <_s_y_s_/_r_e_b_o_o_t_._h>). The boot device is specified in register 10. The encoding of this register is al- so defined in <_s_y_s_/_r_e_b_o_o_t_._h>. The current encoding has a historical ba- sis, 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 (gen- erally 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 nor- mally selects the RK07 for boot. This will boot multi-user. To boot from RK07 with boot flags you may specify >>>B/--nn DMA0 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'' con- tains the correct parameters for an MSCP disk such as the RD53. On any processor, the _b_o_o_t program finds the corresponding file on the given device (_v_m_u_n_i_x by default), loads that file into memory location zero, and starts the program at the entry address specified in the pro- gram header (after clearing off the high bit of the specified entry ad- dress). The file specifications used with ``BOOT ANY'' or ``B/3'' are of the form: device(adaptor,controller,unit,minor) where _d_e_v_i_c_e is the type of the device to be searched, _a_d_a_p_t_o_r is the UNIBUS or MASSBUS number of the adaptor to which the device is attached, _c_o_n_t_r_o_l_l_e_r is the unit number of the controller or MASSBUS tape formatter on that adaptor, _u_n_i_t is the unit number of the disk or transport slave unit of the tape, and _m_i_n_o_r 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)vmunix' to the boot prompt; `hp(2,0,1,0)vmunix' would specify drive 1 on MASSBUS adaptor 2; `up(0,0)vmunix' would specify a UNIBUS drive, `hk(0,0)vmunix' would spec- ify an RK07 disk drive, `ra(1,0,0,0)vmunix' would specify a UDA50 disk drive on a second UNIBUS, and `rb(0,0)vmunix' 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 in- stalled by _b_o_o_t if the file _p_s_c_7_5_0_._b_i_n exists in the root of the filesys- tem from which the system is booted. In an emergency, the bootstrap methods described in the paper _I_n_s_t_a_l_l_i_n_g _a_n_d _O_p_e_r_a_t_i_n_g _4_._3_b_s_d can be used to boot from a distribution tape. FFIILLEESS /vmunix 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 SSEEEE AALLSSOO arff(8), halt(8), reboot(8), shutdown(8) HHIISSTTOORRYY The bboooott command appeared in 4.0BSD. 4.4BSD June 5, 1993 3