BOOT PROCEDURES (VIII)       2/6/73        BOOT PROCEDURES (VIII)





NAME            bos, maki, vcboot, msys, et al.



DESCRIPTION

        On the RF disk, the highest 16K words are reserved for

        stand-alone programs.  These 16K words are allocated as

        follows:



        bos             (1K)

        Warm UNIX       (7K)

        Cold UNIX       (8K)



        The program bos (Bootstrap Operating System) examines the

        console switches and executes one of several internal

        programs depending on the setting.  The following set-

        tings are currently recognized:



        ???     Will read Warm UNIX from the RF into core loca-

                tion 0 and transfer to 600.



        1       Will read Cold UNIX from the RF into core loca-

                tion 0 and transfer to 600.



        10      Will dump all of memory from core location 0 onto

                DECtape drive 7 and then halt.



        20      Will read 256 words from RK0 into core 0 and

                transfer to zero.  This is the procedure to boot

                DOS from an RK.



        40      This is the same as 10 above, but instead of

                halting, UNIX warm is loaded.



        0       Will load a standard UNIX binary paper tape into

                core location 0 and transfer to 0.



        77500   Will load the standard DEC absolute and binary

                loaders and transfer to 77500.



        All manual methods of booting the system involve manipu-

        lation of the console switches.  In order for this to be

        possible, the panel must be unlocked and the machine must

        be halted.  Also, remember that at the time UNIX comes

        up, the console switches must contain 773030 for a

        single-user system; anything else gives a multi-user sys-

        tem.



        There are four temperatures of boots.  They are:



            Hot boot: restart the system without refreshing its

            code, that is simply by transferring to its start.

            The only use for this procedure is if the system has

            been patched and one doesn't wish to redo the

            patches.  The procedure is:



                    600 in switches

                    Load address

                    (773030 in switches for single-user system)

                    start



            Warm boot: refresh system code from the RF disk, but

            the "panic" routine must be in core.  Best for gen-

            eral use if it works, since outstanding I/O is

            cleaned up.  Procedure:



                    602 in switches

                    load address

                    (773030 in switches for single-user system)

                    start  (flushes any I/O, then executes bos)



            Cool boot: RF disk is OK, but nothing in core.  Pro-

            cedure:



                    UTIL DECtape on drive 0

                    773030 in switches

                    load address

                    (602 in switches for multi-user system)

                    start

                    type "boot" on console tty to load bos



            Cold boot: nothing in core, nothing on RF.  Best to

            have an expert around for this one.  Procedure:



                    INIT DECtape on drive 0

                    773030 in switches

                    load address

                    1 in switches

                    start

                    (machine halts. last chance to preserve RF!)

                    773030 in switches

                    continue

                    (reads in basic files)



            UNIX is then up, but for various reasons, one should

            do a warm boot (single user) right away.  At this

            point also, one might consider whether the INIT tape

            UNIX is the latest version.  If there is reason for

            doubt, mount the /sys disk pack, change to directory

            /sys/sys, do "msys u unix", and reboot.  Then get the

            /bin-/etc-/lib tape which contains the rest of of the

            RF disk, and do an "mt x".  Conceivably, "create er-

            rors" due to lack of some directories will occur;

            make the directories, then try again.  Set the date

            correctly; the system starts off at time 0.



            At this point UNIX is in full operation and can be

            rebooted for a multi-user system.



        Here is what happens during a cold boot: the INIT tape

        contains a program called vcboot.  The ROM program reads

        vcboot from the tape into core location 0 and transfers

        to it.  vcboot then reads 16K words from the DECtape

        (blocks 1-32) and copies the data to the highest 16K

        words of the RF.  Thus this initializes the read-only

        part of the RF.  vcboot then reads in bos and executes

        it.  bos reads in Cold UNIX and executes that.  Cold UNIX

        halts for a last chance before it completely initializes

        the RF file system.  When continue is pressed, Cold UNIX

        initializes the RF.  It then reads the DECtape for ini-

        tialization files starting from block 33.  Normal opera-

        tion then commences with the execution of "/etc/init".



        The INIT tape is made by the program maki running under

        UNIX.  maki writes vcboot on block 0 of /dev/tap7.  It

        then copies the RF 16K words (using /dev/rf0) onto blocks

        1 thru 32.  It has internally a list of files to be

        copied from block 33 on.  This list follows:



                /etc/init

                /bin/chmod

                /bin/date

                /bin/login

                /bin/ls

                /bin/mkdir

                /etc/mount

                /bin/sh

                /bin/tap

                /bin/mt



        Thus this is the set of programs available after a cold

        boot.  init and sh are mandatory.  For multi-user UNIX,

        getty and login are also necessary.  mkdir is necessary

        due to a bug in tap.  mt, tap and mount are useful to

        bring in new files.  As soon as possible, date should be

        done.  That leaves ls and chmod as frosting.



        The last link in this incestuous daisy chain is the pro-

        gram msys.



           msys char file



        will copy the file file onto the RF read only slot speci-

        fied by the character char.  Char is taken from the fol-

        lowing set:



           b bos

           u Warm UNIX

           1 Cold UNIX



FILES           /dev/rf0, /dev/tap?



SEE ALSO        init(VII), tap(I), sh(I), mkdir(I)



DIAGNOSTICS     --



BUGS            This section is very configuration dependent.