DISK BOOT(8) — UNIX 3.0
NAME
diskboot − disk bootstrap programs
DESCRIPTION
There are several programs available to accomplish bootstraps off of a variety of disks. These programs reside in the directory /stand.
The program must be located in block 0 of the disk pack. The space available for the program is thus only one block (256 words) which severely constrains the amount of error handling. Block 0 is unused by the UNIX file system, so this does not affect normal file system operation. To boot, the program must be read into memory starting at address 0 and started at address 0. This may be accomplished by standard DEC ROM bootstraps, special ROM bootstraps, or manual procedures.
After initial load, the program relocates itself to high core as specified when assembled (typically 24K words, maximum of 28K). Next, memory below the program is cleared and the prompt # is typed on the console. A one digit field specifying the disk drive is expected. For example, 2 would correspond to drive 2, starting at cylinder 0. The last word in the boot block contains a cylinder offset, initially zero, which may be changed to access another section of the disk pack. No error checking is done on this field; invalid data will cause unpredictable results. Also, there is no error checking on disk reads.
After the file system select, the program prompts with =. The user must then enter the UNIX path name of the desired file. The # character will erase the last character typed, the @ character will kill the entire line, and A through Z is translated to a through z. Also, carriage return (CR) is mapped into line-feed (LF) on input, and LF is output as CR-LF. The upper-case to lower-case conversion is used to handle upper-case-only terminals such as the TELETYPE® Model 33 or the DEC LA30. Therefore, a file name with upper case characters cannot be booted using this procedure.
After the name has been completely entered by typing CR or LF, the program searches the file system specified for the path name. Note, the path name may be any valid UNIX file system path name. If the file does not exist, or if the file is a directory or special file, the bootstrap starts over and prompts with #. Otherwise, the file is read into memory starting at address 0. If address 0 contains 000 407, a UNIX a.out program is assumed and the first 8 words are stripped off by relocating the loaded program toward address 0. Finally, a jump to address 0 is done by executing jsr pc,∗$0.
FILES
/usr/src/stand source directory
SEE ALSO
a.out(5), fs(5), tapeboot(8), unixboot(8).
May 16, 1980 — PDP-11 only