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.