SysIII/usr/src/man/docs/op_man

.ND "October 1, 1979"
.TL 70149-002 70149-002
P\s-1WB\s0/\s-1UNIX\s0 Operations Manual (Second Edition)
.AU "A. G. Petruccelli" AGP PY 3646 6647 2F-208
.TM 79-3782-xx
.AS
.P
This manual contains a complete description of
\s-1PDP\s0\(rg 11
console operations,
step-by-step instructions for normal operator functions,
as well as descriptions of the P\s-1WB\s0/\s-1UNIX\s0
system console error messages.
.P
The information in this manual was gathered from personal experience,
the \fIP\s-1WB\s0/\s-1UNIX\s0 User's Manual\fP,
Digital Equipment Corporation
(\s-1DEC\s0\(rg)
hardware manuals,
and technical memorandums contained in
.I "Documents for P\s-1WB\s+1/\s-1UNIX\s+1" .
.P
Because this manual is intended to be as general as possible, it is
suggested that each location add specific information about:
.BL 5 1
.LI
Hardware configuration.
.LI
Telephone line configuration.
.LI
Specific logging and record-keeping practices.
.LI
Contacts for hardware and software problems.
.LI
Site-dependent diagnostic procedures.
.LE
.P
This manual is partially based on, and supercedes the
.I "P\s-1WB\s0/\s-1UNIX\s0 Operations Manual"
by M. E. Pearlman.
.AE
.MT 4 1
.nr Hb 3
.nr Hc 1
.nr Cl 2
.nr Ej 1
.ds :? P\s-1WB\s+1/\s-1UNIX\s+1 Operations Manual
.PH "''''"
.OH "'\s9\f2\*(:?\fP''\\\\nP\s0'"
.EH "'\s9\\\\nP''\f2\*(:?\^\fP\s0'"
.de UH \" usage: .UH level "heading" -- to include unnumbered headings in TOC
.if \\$1=1 \{\
.nr Hu 1
.HU "\\$2"
'br \}
.if \\$1=2 \{\
.nr Hu 2
.HU "\\$2"
'br \}
.if \\$1=3 \{\
.nr Hu 3
.HU "\\$2"
'br \}
..
.ds o \v'.4m'\s-38\s0\v'-.4m'\" 	sub 8 for octal representation
.ds Ci 0 .5i 1i	\" Indentation format for Table of Contents
.ds HF 3 3 3 2 2 2 2
.rs
.SK
.UH 1 "HARDWARE OPERATIONS \- PDP 11/45, 11/70"
.DS
.sp 4i
.FG "\s-1PDP\s0 11/45 \s-1CONSOLE\s0"
.DE
.DS
.sp 4i
.FG "\s-1PDP\s0 11/70 \s-1CONSOLE\s0"
.DE
.SK
.UH 2 "INTRODUCTION"
.P
The following documentation is primarily intended to describe
the \s-1PDP\s0\(rg 11/70 console and its operation.
Differences in the \s-1PDP\s0 11/45 appear within brackets ``[\|]''.
Those cases that are applicable to only one of the two
systems are clearly labeled as such.
.UH 2 "CONSOLE DESCRIPTION"
.P
The console is composed of the following:
.AL
.LI
Power Key Switch (\s-1OFF\s0/\s-1POWER\s0/\s-1LOCK\s0).
.LI
\s-1ADDRESS\s0 Register \- 22-bit [18-bit]* 
.FS *
Differences in the \s-1PDP\s0 11/45 appear within brackets ``[\|]''.
.FE
Display.
.LI
\s-1DATA\s0 Register \- 16-bit Display.
.LI
\s-1PARITY\s0 bit \s-1HIGH\s0 byte & \s-1LOW\s0 byte Indicator Lights (11/70 only).
.LI
Switch Register \- 22 [18] switches.
.LI
Error Lights.
.VL 5 5 1
.LI
\s-1ADRS\s0 \s-1ERR\s0 (Address Error)
.LI
\s-1PAR\s0 \s-1ERR\s0 (Parity Error, 11/70 only)
.LE
.LI
Processor State Lights (7 indicators).
.VL 5 5 1
.LI
\s-1RUN\s0
.LI
\s-1PAUSE\s0
.LI
\s-1MASTER\s0
.LI
\s-1USER\s0
.LI
\s-1SUPER\s0
.LI
\s-1KERNEL\s0
.LI
\s-1DATA\s0
.LE
.LI
Mapping Lights (11/70 only).
.VL 5 5 1
.LI
16 \s-1BIT\s0
.LI
18 \s-1BIT\s0
.LI
22 \s-1BIT\s0
.LE
.LI
\s-1ADDRESS\s0 Display Select Switch (8 positions).
.VL 5 5 1
.LI
\s-1USER\s0 \s-1I\s0 (Virtual)
.LI
\s-1USER\s0 \s-1D\s0 (Virtual)
.LI
\s-1SUPER\s0 \s-1I\s0 (Virtual)
.LI
\s-1SUPER\s0 \s-1D\s0 (Virtual)
.LI
\s-1KERNEL\s0 I (Virtual)
.LI
\s-1KERNEL\s0 D (Virtual)
.LI
\s-1PROG\s0 \s-1PHY\s0 (Program Physical)
.LI
\s-1CONS\s0 \s-1PHY\s0 (Console Physical)
.LE
.LI
\s-1DATA\s0 Display Select Switch (4 positions)
.VL 5 5 1
.LI
\s-1DATA\s0 \s-1PATHS\s0
.LI
\s-1BUS\s0 \s-1REGISTER\s0
.LI
\(*m \s-1ADRS\s0 \s-1FPP\s0/\s-1CPU\s0 (Micro-program Addresses)
.LI
\s-1DISPLAY\s0 \s-1REGISTER\s0
.LE
.LI
Lamp Test Switch.
.LI
Control Switches.
.VL 5 5 1
.LI
\s-1LOAD\s0 \s-1ADRS\s0 (Load Address)
.LI
\s-1EXAM\s0 (examine)
.LI
\s-1DEP\s0 (deposit)
.LI
\s-1CONT\s0 (continue)
.LI
\s-1HALT\s0/\s-1ENABLE\s0 [\s-1ENABL\s0]
.LI
S \s-1INST\s0/S \s-1BUS\s0 \s-1CYCLE\s0 (single instruction/single bus cycle)
.LI
\s-1START\s0
.LI
\s-1REG\s0 \s-1EXAM\s0 (Register Examine, 11/45 only)
.LI
\s-1REG\s0 \s-1DEP\s0 (Register Deposit, 11/45 only)
.LE
.LE
.UH 2 "CONSOLE OPERATION \- LAMP TEST SWITCH"
.P
The
Lamp Test
Switch
is an unlabeled, white switch located between the Switch Register
and the
.B "\s-1LOAD ADRS\s0"
Switch.
When the
Lamp Test
Switch is raised, all console indicator lights should go on.
An indicator which does not light is defective and should be replaced.
.UH 2 "CONSOLE OPERATION \- POWER KEY"
.P
The Power Key controls power to the \s-1CPU\s0** 
.FS **
Central Processing Unit
.FE
and has three positions:
.VL 1.2i .5i
.LI \s-1OFF\s0
Power to the processor is
.B \s-1OFF\s0 .
.LI \s-1POWER\s0
Power to the processor is
.B \s-1ON\s0 ,
and all console switches function normally.
This is the
.I normal
position while P\s-1WB\s0/\s-1UNIX\s0 is running.
.LI \s-1LOCK\s0
Power to the processor is
.B \s-1ON\s0 ,
but the 7 control switches
.B "\s-1LOAD\s0 \s-1ADRS\s0"
through
.B \s-1START\s0
are disabled.
All other switches are functional.
.LE
.UH 2 "CONSOLE OPERATION \- SWITCH REGISTER"
.P
The
Switch Register
consists of 22 [18] switches labeled 0 through 21 [17]
from right to left (numbers correspond to bit positions).
They are used to manually enter both addresses and data into the
processor.
.P
To enter an address such as
165000\*o, the switches must be divided into groups of
three, starting from the right.
Bits 0-2 in the first group, bits 3-5 in the second, 6-8 in
the third, 9-11 in the fourth, 12-14 in the fifth, etc.
Each group of 3 switches is used to indicate an octal digit; thus, a number
can be represented on the switches as follows:
.DS 1 0
.ta +1.5i
zero	All 3 switches down.
.sp 1i
.DE
.DS 1 0
.ta +1.5i
one	Right-most switch up.
.sp .5i
.DE
.DS 1 0
.ta +1.5i
two	Middle switch up.
.sp 1i
.DE
.DS 1 0
.ta +1.5i
three	Middle and right switches up.
.sp 1i
.DE
.DS 1 0
.ta +1.5i
four	Left-most switch up.
.sp 1i
.DE
.DS 1 0
.ta +1.5i
five	Left and right switches up.
.sp 1i
.DE
.DS 1 0
.ta +1.5i
six	Left and middle switches up.
.sp 1i
.DE
.DS 1 0
.ta +1.5i
seven	All 3 switches up.
.sp 1i
.DE
.P
The arrows in Figures 3 and 4 depict which
switches should be up to enter the address 165000\*o on the
11/70 and address 173020\*o on the 11/45 respectively.
.DS
.tr ~ 
.I
.sp 2.5i
~~~~~~~~~~~~~~~~~one~~~~~~~~~~six~~~~~~~~~five~~~~~~~~~zero~~~~~~~~zero~~~~~~~~zero
.R
.sp 1
.FG "Address 165000\*o on the \s-1PDP\s0 11/70."
.tr ~~
.DE
.DS
.tr ~ 
.I
.sp 2.5i
~~~~one~~~~~~~~seven~~~~~~~three~~~~~~~~zero~~~~~~~~zero~~~~~~~~zero
.R
.sp 1
.FG "Address 173020\*o on the \s-1PDP\s0 11/45."
.tr ~~
.DE
.UH 2 "CONSOLE OPERATION \- CONTROL SWITCH FUNCTIONS
.UH 3 "LOAD ADRS (Load Address)."
When the
.B "\s-1LOAD\s0 \s-1ADRS\s0"
Switch is depressed, the contents of the Switch
Register are loaded into the Address Display.
The address displayed in the Address Display Lights depends on
the position of the Address Select Switch.
.UH 3 "EXAM (Examine)."
Depressing the
.B \s-1EXAM\s0
Switch causes the contents of the current location, specified
in the Address Display, to be displayed in the
.B \s-1DATA\s0
Display Register when the Data Select Switch is in the
.B "\s-1DATA\s0 \s-1PATHS\s0"
position.\(dg
.FS \(dg
The address in the Address Display will be mapped or unmapped
depending on the position of the Address Select Switch.
The location shown in the Address Display Lights is also a function of
that switch.
See Section 11.4 of [1] for more information.
.FE
.UH 3 "DEP (Deposit)."
Raising the
.B \s-1DEP\s0
Switch causes the current contents of the Switch Register
to be deposited into the address specified by the current contents
of the Address Display. 
.UH 3 "CONT (Continue)."
Depressing the
.B \s-1CONT\s0
Switch causes the \s-1CPU\s0 to resume execution.
The
.B \s-1CONT\s0
Switch has no effect when the \s-1CPU\s0 is in
.B \s-1RUN\s0
state.
.UH 3 "HALT/ENABLE [ENABL]."
The
.B "\s-1HALT\s0/\s-1ENABLE\s0 [\s-1ENABL\s0]"
Switch is a two position switch used to
stop machine execution or to enable the system to run.
.UH 3 "S INST/S BUS CYCLE (Single Instruction/Single Bus Cycle)."
This switch affects only the operation of the
.B \s-1CONT\s0
Switch.
It controls whether the machine stops after instructions or
bus cycles.\(dd 
.FS \(dd
The
.I bus
(or \s-1UNIBUS\s0\(rg) is the primary control and communications path connecting
most of the \s-1PDP\s0 11 system's components and peripherals.
.FE
The position of this switch has no effect unless the
.B "\s-1HALT\s0/\s-1ENABLE\s0 [\s-1ENABL\s0]"
Switch is in the
.B \s-1HALT\s0
position.
It is used chiefly for debugging.
See Section 11.7 of [1] for more information.
.UH 3 "START."
The functions of the
.B \s-1START\s0
Switch depend upon the setting of the
.B "\s-1HALT\s0/\s-1ENABLE\s0 [\s-1ENABL\s0]"
Switch.
If the \s-1CPU\s0 is in the
.B \s-1HALT\s0
position, the processor is reset.
If in the
.B "\s-1ENABLE\s0 [\s-1ENABL\s0]"
position, execution is started unless it is already
in the
.B \s-1RUN\s0
state.
.UH 3 "REG EXAM (Register Examine, 11/45 only)."
Depressing the
.B "\s-1REG\s0 \s-1EXAM\s0"
Switch causes the contents of the General Purpose Register
specified by the low order five bits of the Bus Address
Register to be displayed in the Data Display Register.
See Section 9.6.8 of [2] for interpretation of these contents.
.UH 3 "REG DEP (Register Deposit, 11/45 only)."
Raising the
.B "\s-1REG\s0 \s-1DEP\s0"
Switch causes the contents of the Switch Register to be
deposited into the General Purpose Register specified by
the current contents of the \s-1CPU\s0 Bus Address Register.
The \s-1CPU\s0 Bus Address Register should have been previously loaded by a
.B "\s-1LOAD\s0 \s-1ADRS\s0"
operation according to the Switch Register settings described in
.B "\s-1REG\s0 \s-1EXAM\s0"
above.
.UH 2 "CONSOLE OPERATION \- ADDRESS SELECT KNOB"
The Address Select Knob has 8 positions for observing the address of data
being examined or deposited.
These positions reference virtual or physical memory as described below:
.VL 1.5i .5i
.LI \s-1VIRTUAL\s0
The six positions:
.B "\s-1USER\s0 \s-1I\s0" ,
.B "\s-1USER\s0 \s-1D\s0" ,
.B "\s-1SUPER\s0 \s-1I\s0" ,
.B "\s-1SUPER\s0 \s-1D\s0" ,
.B "\s-1KERNEL\s0 \s-1I\s0" ,
and
.B "\s-1KERNEL\s0 \s-1D\s0"
indicate the current address as a 16-bit Virtual address when the
Memory Management Unit is turned on (i.e. \s-1UNIX\s0 is running), otherwise
it indicates the true 16-bit Physical Address.* 
.FS *
These positions make it convenient to examine and change programs which
are subject to relocation, without requiring any knowledge of where they have
actually been relocated in physical memory.
See Section 9.6.8, page 9-21 of [2] for more details.
See Section 6.4 of [1] or Chapter 10 of [2] for more information on the
Memory Management Unit.
.FE
These positions are generally used for debugging.
.LI "\s-1PROG\s0 \s-1PHY\s0"
This position displays the 22-bit [18-bit] Physical Address of the
current bus cycle that was generated by the Memory Management Unit.
This address is generally used for debugging.
.LI "\s-1CONS\s0 \s-1PHY\s0"
This position displays a 22-bit [16-bit] Physical Address to be used
for console operations such as
.B "\s-1LOAD\s0 \s-1ADRS\s0" ,
.B "\s-1EXAM\s0" ,
and
.B "\s-1DEP\s0" .
This is the
.I normal
position while \s-1PWB\s0/\s-1UNIX\s0 is running.
.LE
.UH 2 "CONSOLE OPERATION \- DATA SELECT KNOB"
The contents of the 16-bit Data Display Register are controlled by the
following positions of the Data Select knob:
.VL 2i .5i
.LI "\s-1DATA\s0 \s-1PATHS\s0"
The
.I normal
display mode.
This position enables examined or deposited data
to be shown in the Data Display.
.LI "\s-1BUS\s0 \s-1REG\s0"
The internal \s-1CPU\s0 register used for bus cycles.
.LI "\(*m\s-1ADRS\s0 \s-1FPP\s0/\s-1CPU\s0"
The \s-1ROM\s0** 
.FS **
Read Only Memory.
.FE
address, \s-1FPP\s0\(dg 
.FS \(dg
Floating Point Processor.
.FE
control micro-program (bits 15 to 8) and the
\s-1CPU\s0 control micro-program (bits 7 to 0).
.LI "\s-1DISPLAY\s0 \s-1REGISTER\s0"
The contents of the Display Register.
This has an address of 17 777 570\*o.
.LE
.UH 2 "CONSOLE OPERATION \- STATUS INDICATOR LIGHTS"
.UH 3 "Error Indicators."
.VL 1.5i .5i
.LI "\s-1PAR\s0 \s-1ERR\s0"
(11/70 only)
Lights to indicate a parity error during a reference to memory.
.LI "\s-1ADRS\s0 \s-1ERR\s0"
Lights to indicate any of the following addressing errors:
.BL "" 1.5i
.LI
Reference of non-existent memory.
.LI
Access control violation.
.LI
Reference of unassigned memory pages.
.LE
.LE
.UH 3 "Processor State."
.VL 1.5i .5i
.LI \s-1RUN\s0
The \s-1CPU\s0 is executing program instructions.
If the instruction being executed is a
.I wait
instruction, the
.B \s-1RUN\s0
light will be on.
.LI \s-1PAUSE\s0
The \s-1CPU\s0 is inactive because the current instruction execution
has been completed as far as possible without more data from the
\s-1UNIBUS\s0 or memory or the \s-1CPU\s0 is waiting to regain control of the \s-1UNIBUS\s0
(\s-1UNIBUS\s0 mastership).
.LI \s-1MASTER\s0
The \s-1CPU\s0 is in control of the \s-1UNIBUS\s0 (\s-1UNIBUS\s0 Master only when it needs
the \s-1UNIBUS\s0).
.LE
.UH 3 "Mode."
.VL 1.5i .5i
.LI \s-1USER\s0
The \s-1CPU\s0 is executing program instructions in
.B \s-1USER\s0
mode.
.LI \s-1SUPER\s0
The \s-1CPU\s0 is executing program instructions in
.B Supervisor
mode.
.LI \s-1KERNEL\s0
The \s-1CPU\s0 is executing program instructions in
.B \s-1KERNEL\s0
mode.
.LI \s-1DATA\s0
If on, the last memory reference was to
.B \s-1D\s0
(data) address space in the current \s-1CPU\s0 mode.
If off, the last reference was to
.B \s-1I\s0
(instruction) address space.
.LE
.UH 3 "Address (11/70 only)."
.VL 1.5i .5i
.LI 16-bit
Lights when the \s-1CPU\s0 is using 16-bit mapping.
.LI 18-bit
Lights when the \s-1CPU\s0 is using 18-bit mapping.
.LI 22-bit
Lights when the \s-1CPU\s0 is using 22-bit mapping.
This should be lit when running \s-1UNIX\s0.
.LE
.UH 2 "CONSOLE OPERATION \- STARTING AND STOPPING"
.UH 3 "Starting."
.P
While the
.B "\s-1HALT\s0/\s-1ENABLE\s0 [\s-1ENABL\s0]"
Switch is in the
.B \s-1HALT\s0
position (down),
depress the
.B \s-1START\s0
Switch to reset the processor.
At this time, an address can be entered on the Switch Register as described
above.
After the correct switches have been lifted
(check the
.B \s-1ADDRESS\s0
Register Display Lights),
depress the
.B "\s-1LOAD\s0 \s-1ADRS\s0"
Switch to load that address as the starting point of
execution,
lift the
.B "\s-1HALT\s0/\s-1ENABLE\s0 [\s-1ENABL\s0]"
Switch to the
.B "\s-1ENABLE\s0 [\s-1ENABL\s0]"
position,
then depress the
.B \s-1START\s0
Switch to commence execution.
Once execution has begun, depressing the
.B \s-1START\s0
Switch again has no effect.
.UH 3 "Stopping."
.P
To halt execution of the processor, depress the
.B "\s-1HALT\s0/\s-1ENABLE\s0 [\s-1ENABL\s0]"
Switch to the
.B \s-1HALT\s0
position.
Processing will cease, but the contents of all memory locations
will be retained.
The switch can then be lifted to the
.B "\s-1ENABLE\s0 [\s-1ENABL\s0]"
position
with no effect on the system.
.UH 3 "Continuing."
.P
After the computer has been stopped, execution can be resumed from
the point at which it was halted by using the
.B \s-1CONT\s0
Switch.
The function of the
.B \s-1CONT\s0
Switch depends on the position of the
.B "\s-1HALT\s0/\s-1ENABLE\s0 [\s-1ENABL\s0]"
Switch:
.in +.5i
.TS
c c l
l c aw(2.5i).
\s-1MODE\s0	\s-1POSITION\s0	\s-1USAGE\s0
.sp 1
\s-1ENABLE\s0 [\s-1ENABL\s0]	Up	T{
\s-1CPU\s0 resumes normal execution.
T}
.sp 1
\s-1HALT\s0	Down	T{
This mode is used for debugging purposes and forces
execution of only a single instruction or a single bus cycle.
See Section 11.7 of [1] for more details.
T}
.TE
.in -.5i
.UH 1 "BOOT PROCEDURES"
.UH 2 "INTRODUCTION"
The object of the boot procedure is to load a copy
of the \s-1UNIX\s0\(Tm operating system, from tape or disk, into memory and
execute it.
This procedure can be easily facilitated via an optionally supplied \s-1DEC\s0\(dd
.FS \(dd
Digital Equipment Corporation.
.FE
hardware bootstrap loader.
Depending upon which bootstrap loader is on your system, if any, the address
of a dedicated routine can be loaded via the Switch Register and
execution started.
If your configuration does not include this device, the boot procedure
must be manually entered via the Switch Register.
See
.I "romboot\^" (8)
of [3] for program listings.
.P
Throughout the remainder of this section, the symbol
.B (\s-1CR\s0)
is used to denote a carriage return key at the terminal
and the symbol
.I \s-1CSW\s0
represents the Console Switches.
.UH 2 "BOOTING FROM A ROM"
The following procedure is used when booting from a \s-1ROM\s0:
.AL 1
.LI
The Power Key Switch should be in the
.B \s-1POWER\s0
position.
.LI
The Address Select Knob should be in the
.B "\s-1CONS\s0 \s-1PHY\s0"
position.
.LI
The Data Select Knob should be in the
.B "\s-1DATA\s0 \s-1PATHS\s0"
position.
.LI
Ensure the
.B "\s-1HALT\s0/\s-1ENABLE\s0 [\s-1ENABL\s0]"
Switch is in the
.B \s-1HALT\s0
(down)
position.
.LI
Depress the
.B \s-1START\s0
Switch to reset the processor.
.LI
Set the
.I \s-1CSW\s0
to the address of your \s-1ROM\s0 bootstrap loader procedure
(i.e., 165000\*o, 173020\*o, etc.).
If you don't know which address, ask your DEC Customer Engineer (CE).
.LI
Depress the
.B "\s-1LOAD\s0 \s-1ADRS\s0"
Switch to deposit this address into the Switch Register.
Ensure the address was loaded correctly by checking the
contents of the Address Display Register.
.LI
Depending upon the \s-1ROM\s0, you may have to set the
.I \s-1CSW\s0
to another
address specifying from which
device you wish to boot (i.e., 000070\*o, 000060\*o).
Do
.B \s-1NOT\s0
depress the
.B "\s-1LOAD\s0 \s-1ADRS\s0"
Switch again, the bootstrap procedure will read this address.
.LI
Lift the
.B \s-1HALT\s0
Switch to the
.B "\s-1ENABLE\s0 [\s-1ENABL\s0]"
position.
.LI
Depress the
.B \s-1START\s0
Switch to commence execution.
.LI
A ``\fB#\fP'' will be printed at the console terminal.
You type a
.B 0 ,
\s-1UNIX\s0 reponds with an
.B = ,
and you type
.B unix
followed by a carriage return.
.DS 1
#\fB0\fP=\fBunix(\s-1CR\s0)\fP
.DE
If \s-1UNIX\s0 was booted properly, four lines of information about the
currently running system will be printed:
.BL .5i 1
.LI
The current operating system.
.LI
The available user memory.
.LI
The system's name.
.LI
The environment mode (single-user).
.LE
.LE
.UH 2 "MANUAL BOOT PROCEDURE"
If your configuration does not include a hardware bootstrap loader,
you will have
to toggle the boot program into the processor via the
.I \s-1CSW\s0 .
The
.I "romboot\^" (8)
manual page in [3] contains program listings for booting off of
a variety of devices.
The below procedure for manually booting
off of an RP04 disk drive will illustrate
how to enter one of these programs.
.AL 1
.LI
Ensure the Power Key is in the
.B \s-1POWER\s0
position.
.LI
The Address Select Knob must be in the
.B "\s-1CONS\s0 \s-1PHY\s0"
position.
.LI
The Data Select Knob must be in the
.B "\s-1DATA\s0 \s-1PATHS\s0"
position.
.LI
Ensure the
.B "\s-1HALT\s0/\s-1ENABLE\s0 [\s-1ENABL\s0]"
Switch is in the
.B \s-1HALT\s0
(down) position.
.LI
Depress the
.B \s-1START\s0
Switch to reset the processor.
.LI
Choose an arbitrary starting address to begin loading the program.
This address must not be too low because the program's execution
will overwrite it, and it cannot be too high
because the processor will not be able to access it (in the memory
management area of memory).
The address 004000\*o (only switch 11 up) works well.
.LI
Set the
.I \s-1CSW\s0
to this starting address and depress the
.B "\s-1LOAD\s0 \s-1ADRS\s0"
Switch.
You can now begin entering the program.
.DS 1 1
Set
.I \s-1CSW\s0
to 012700, lift
.B \s-1DEP\s0
Switch.
.br
Set
.I \s-1CSW\s0
to 176700, lift
.B \s-1DEP\s0
Switch.
.br
Set
.I \s-1CSW\s0
to 012720, lift
.B \s-1DEP\s0
Switch.
.br
Set
.I \s-1CSW\s0
to 000021, lift
.B \s-1DEP\s0
Switch.
.br
Set
.I \s-1CSW\s0
to 012760, lift
.B \s-1DEP\s0
Switch.
.br
Set
.I \s-1CSW\s0
to 010000, lift
.B \s-1DEP\s0
Switch.
.br
Set
.I \s-1CSW\s0
to 000030, lift
.B \s-1DEP\s0
Switch.
.br
Set
.I \s-1CSW\s0
to 010010, lift
.B \s-1DEP\s0
Switch.
.br
Set
.I \s-1CSW\s0
to 012740, lift
.B \s-1DEP\s0
Switch.
.br
Set
.I \s-1CSW\s0
to 000071, lift
.B \s-1DEP\s0
Switch.
.br
Set
.I \s-1CSW\s0
to 105710, lift
.B \s-1DEP\s0
Switch.
.br
Set
.I \s-1CSW\s0
to 002376, lift
.B \s-1DEP\s0
Switch.
.br
Set
.I \s-1CSW\s0
to 005007, lift
.B \s-1DEP\s0
Switch.
.DE
.B \s-1NOTE\s0 :
The above octal digits represent the program for booting
off of an RP04 disk drive only.
For any other device, you must use the appropriate program listed in
.I "romboot\^" (8)
in [3].
.LI
You can check to be sure the program was entered correctly by setting
the
.I \s-1CSW\s0
to your starting address (e.g., 004000\*o), depressing the
.B "\s-1LOAD\s0 \s-1ADRS\s0"
Switch, and depressing the
.B \s-1EXAM\s0
Switch.
The first octal digit you entered (012700) should appear in the
Data Display Register.
By subsequent use of the
.B \s-1EXAM\s0
Switch, the entire program can be listed for inspection.
.LI
After you are sure the program was entered correctly, reload the
starting address (e.g., 004000\*o) by setting the
.I \s-1CSW\s0
and depressing the
.B "\s-1LOAD\s0 \s-1ADRS\s0"
Switch.
.LI
Lift the
.B \s-1HALT\s0
Switch to the
.B "\s-1ENABLE\s0 [\s-1ENABL\s0]"
position.
.LI
Depress the
.B \s-1START\s0
Switch.
.LI
A ``\fB#\fP'' will be printed at the console terminal.
You type a
.B 0 ,
\s-1UNIX\s0 reponds with an
.B = ,
and you type
.B unix
followed by a carriage return.
.DS 1
#\fB0\fP=\fBunix(\s-1CR\s0)\fP
.DE
If \s-1UNIX\s0 was booted properly, four lines of information about the
currently running system will be printed:
.BL .5i 1
.LI
The current operating system.
.LI
The available user memory.
.LI
The system's name.
.LI
The environment mode (single-user).
.LE
.LE
.UH 1 "OPERATOR INSTRUCTIONS"
.UH 2 "INTRODUCTION"
There are two main modes of operation of a \s-1PWB\s0/\s-1UNIX\s0 system:
Single-User
and
Multi-User.
.P
When in Single-User mode,
all dial-up ports and hard-wired terminals are disabled
and only the console terminal may interact with
the processor.
This mode of operation enables any changes
necessary to be made to the system without any other processing taking place.
.P
Multi-User is the mode in which \s-1PWB\s0/\s-1UNIX\s0 is normally run.
.UH 2 "SINGLE USER ENVIRONMENT"
After successfully booting the \s-1UNIX\s0 Operating System, as described
in
.B "\s-1BOOT\s0 \s-1PROCEDURES\s0"
within this document,
a ``\fB#\fP'' will be typed as a prompt
to indicate that the system is
ready to receive commands.
You may then type any of the commands available followed by a
.B (\s-1CR\s0) .
When the system has completed execution of the command, it will prompt
with the ``\fB#\fP'' again on the next line.
The Single User environment is used primarily to do any system
maintenance, modification, or repair operations
to prepare the system for multi-user mode.
The typical sequence of commands to bring the system up into
multi-user mode are:
.BL .5i 1
.LI
fsck \-t  /tmp/junk
.LI
date
.I MMddhhmmyy
.LI
init 2
.LE
.UH 3 "Fsck."
This program will interactively repair any damaged file systems
that result from a crash of the operating system.
It is also useful to ensure that the file systems have no damage before
going into multi-user mode or taking file saves.
Usually, you will want to respond ``yes'' to all the prompts; however,
in the event of a system crash,
the damage may be extensive enough to warrant recovery from a backup pack.
The procedure for this is discussed in 
.B "\s-1FILE\s0 \s-1SAVES\s0"
in this document.
The
.B \-t
option is used to eliminate a prompt for the name of a scratch file
if the file system is large.
See
.I fsck\^ (1M)
of [3] for details on the various options available
and [4] for a description of all the different errors that can occur.
.P
An example of a check on a consistent file system is illustrated below:
.DS 1 0
# fsck /dev/rrp61

/dev/rrp61
File System: usr Volume: p0603

\(**\(** Phase 1 \- Check Blocks and Sizes
\(**\(** Phase 2 \- Check Pathnames
\(**\(** Phase 3 \- Check Connectivity
\(**\(** Phase 4 \- Check Reference Counts
\(**\(** Phase 5 \- Check Free List 
2441 files 16547 blocks 31889 free
#
.DE
A file system that has experienced some damage can be repaired interactively
as shown below.
The
.B y
is the operator response.
.DS 1 0
# fsck /dev/rrp60

/dev/rrp60
File System: fs1 Volume: p0603

\(**\(** Phase 1 \- Check Blocks and Sizes
\s-1POSSIBLE\s0 \s-1FILE\s0 \s-1SIZE\s0 \s-1ERROR\s0 I=2500

\(**\(** Phase 2 \- Check Pathnames
\(**\(** Phase 3 \- Check Connectivity
\(**\(** Phase 4 \- Check Reference Counts
\s-1UNREF\s0 \s-1FILE\s0 I=2500  \s-1OWNER\s0=255 \s-1MODE\s0=100755
\s-1SIZE\s0=0 \s-1MTIME\s0=Dec 31 19:00 1969
\s-1CLEAR\s0? \fBy\fP

\(**\(** Phase 5 \- Check Free List
2441 files 16547 blocks 889 free

\(**\(**\(**\(**\(** \s-1FILE\s0 \s-1SYSTEM\s0 \s-1WAS\s0 \s-1MODIFIED\s0 \(**\(**\(**\(**\(**
#
.DE
All mountable file systems should be listed in the file
.B /etc/checklist
which
.B fsck
uses, and these file systems checked each time the system is rebooted.
.P
.B W\s-1ARNING\s0 :
Never execute
.B fsck
on an already mounted file system; it will have a bad effect
since you are repairing only the physical disk.
The only exception to this is the
.B root
file system which is always mounted.
.P
An example of repairing the
.B root
file system
follows:
.in +.5i
.nf
# fsck /dev/rp0

/dev/rp0
File System: root Volume: p0001

\(**\(** Phase 1 \- Check Blocks and Sizes
\s-1POSSIBLE\s0 \s-1FILE\s0 \s-1SIZE\s0 \s-1ERROR\s0 I=416

\s-1POSSIBLE\s0 \s-1FILE\s0 \s-1SIZE\s0 \s-1ERROR\s0 I=610

\s-1POSSIBLE\s0 \s-1FILE\s0 \s-1SIZE\s0 \s-1ERROR\s0 I=614

\s-1POSSIBLE\s0 \s-1FILE\s0 \s-1SIZE\s0 \s-1ERROR\s0 I=618

\s-1POSSIBLE\s0 \s-1FILE\s0 \s-1SIZE\s0 \s-1ERROR\s0 I=625

\(**\(** Phase 2 \- Check Pathnames
\(**\(** Phase 3 \- Check Connectivity
\(**\(** Phase 4 \- Check Reference Counts
\s-1UNREF\s0 \s-1FILE\s0 I=416  \s-1OWNER\s0=uucp \s-1MODE\s0=100400
\s-1SIZE\s0=0 \s-1MTIME\s0=Nov 20 16:23 1979 
\s-1CLEAR\s0?  \fBy\fP

\s-1UNREF\s0 \s-1FILE\s0 I=610  \s-1OWNER\s0=csw \s-1MODE\s0=100400
\s-1SIZE\s0=0 \s-1MTIME\s0=Nov 20 16:26 1979 
\s-1CLEAR\s0?  \fBy\fP

\s-1UNREF\s0 \s-1FILE\s0 I=625  \s-1OWNER\s0=cath \s-1MODE\s0=100400
\s-1SIZE\s0=0 \s-1MTIME\s0=Nov 20 16:26 1979 
\s-1CLEAR\s0?  \fBy\fP

\s-1FREE\s0 \s-1INODE\s0 \s-1COUNT\s0 \s-1WRONG\s0 \s-1IN\s0 \s-1SUPERBLK\s0
\s-1FIX\s0?  \fBy\fP

\(**\(** Phase 5 \- Check Free List 
1 \s-1DUP\s0 \s-1BLKS\s0 \s-1IN\s0 \s-1FREE\s0 \s-1LIST\s0
\s-1BAD\s0 \s-1FREE\s0 \s-1LIST\s0
\s-1SALVAGE\s0?  \fBy\fP

\(**\(** Phase 6 \- Salvage Free List

585 files 5463 blocks 4223 free

\(**\(**\(**\(**\(** \s-1BOOT\s0 \s-1UNIX\s0 (\s-1NO\s0 \s-1SYNC\s0 !) \(**\(**\(**\(**\(**
#

At this time the processor should be halted and the system rebooted.
.fi
.in -.5i
.UH 3 "Date."
Each time the system is rebooted, the software clock must be reset
to the correct time of day.
The date should only be set once and only in single-user mode.
This will prevent confusion when the accounting routines run.
The format for setting the date is:
.DS 1 0
date \fIMMddhhmmyy\fP
.sp 1
where:
.VL .5i 2 1
.LI \fIMM\ \fP
is the two digit month.
.LI \fIdd\ \fP
is the two digit day.
.LI \fIhh\ \fP
is the two digit hour on a 24 hour clock.
.LI \fImm\ \fP
is the two digit minute.
.LI \fIyy\ \fP
is the optional last two digits of the year.
.LE
.DE
An example of how to set the date is:
.DS 1 0
date 0601073079
.DE
which would set the date for:
.DS 1 0
Fri\ Jun\ \ 1\ 07:30:00\ EDT\ 1979
.DE
More information concerning the
.B date
command can be found on
.I date\^ (1)
in [3].
.UH 3 "Init 2."
After you have performed the above consistency checks on the file systems
and set the date,
the mode of the operating system can be changed to multi-user.
This is accomplished by executing the command:
.B "/etc/init 2" .
This command activates processes that: allow users to
log on to the system, turn on the accounting and error logging, mount
any indicated file systems, and start the
.B cron
and any indicated daemons.
The operator may have to manually flip the toggles or pop the buttons on
the data sets, depending on what type of data set your site has, to allow
users to log in.
You can now type a
.I Ctrl\| /\fId\fP
character to log off the console terminal and log back in as a normal user.
.UH 2 "MULTI-USER ENVIRONMENT"
This mode results from the execution of the command:
.B "/etc/init 2" .
A user is permitted to access all mounted file systems and execute
all available commands.
In this mode, an operator can perform file restore procedures and
take periodic status checks of the system.
Some of these periodic status checks can include:
.BL .5i 1
.LI
A check of free blocks (\fBdf\fP) remaining on all mounted file systems
to ensure a file system does not run out of space.
.LI
A check on rje (\fBrjestat\fP).
.LI
A check on
.B mail
to root or whatever login receives requests for file restores.
.LI
A check on the number of users on the system (\fBwho\fP).
.LI
A check of all running processes (\fBps ax\fP or \fBwhodo\fP) to determine if
there is some process using an abnormally large amount of \s-1CPU\s0
time.
.LE
.UH 1 "OPERATOR DUTIES"
.UH 2 "INTRODUCTION"
This section is meant to serve as a guide to duties normally
performed by computer operators.
These duties do not represent what an operator's job duties are; they merely
outline the general procedures necessary to ensure that users on the
system remain contented.
.UH 2 "FILE SAVES"
Unless timely copies of the file systems are saved, a major system crash
could devastate the system's user community.
.P
Almost nothing is worse than working on a project and, just as you are about
completed, having the system crash from a lightning storm somewhere;
losing the file and all the work you've completed.
What
.I is
worse is when you request a file restore and find out that the
last file save was a week ago and that you have
nothing to show for a solid week's work.
.P
The easiest way to prevent this problem is to take daily file saves.
Then, at most, only a day's work will be lost.
.P
There are two main ways to perform file saves:
by disk and by tape.
Most sites utilize
.B volcopy
to perform these file save functions.
See
.I volcopy\^ (1M)
of [3] for more information on the options available
and the use of this command.
These procedures should normally be performed while in single-user
mode, with the file system unmounted, to preclude any file system
activity and subsequent damage on the saved copy.
.UH 3 "Disk Save Procedures."
Normally this is an automated procedure and is included as
part of the site's local operating instructions.
You must have at least two (2) disk drives, one of them a spare.
The file system to be copied should be unmounted, except for the
.B root
file system, and an
.B fsck
executed to ensure consistency.
For ease of mapping, file systems are normally saved in the same sections
on the backup pack as they exist on the working pack.
This is imperative if you are going to boot from the backup version.
It is required that
the
.B root
file system
reside on section
.B 0
of the pack.
The file save procedure is illustrated below.
For this example a save of the
.B root
file system will be made on the spare drive
.B 3.
Operator response is indicated in bold type.
.DS 1 0
# volcopy root /dev/rrp0 p0001 /dev/rrp30 p0105
arg.(p0105) doesn't agree with to vol.()
Type `y' to override:     \fBy\fP
warning! from fs(root) differs from to fs()
Type `y' to override:     \fBy\fP
From: /dev/rrp0, to: /dev/rrp30? (\s-1DEL\s0 if wrong)
\s-1END\s0: 6000 blocks.
#
.DE
You should conclude this procedure by executing
.B fsck
on the saved copy, just to be sure.
Again, a backup of a file system that is corrupted is almost as bad as no
save at all.
.UH 3 "Tape Save Procedures."
Tape saves are necessary for long term storage or for regular saves if you
do not have a spare disk drive.
Tapes must be labeled before a file save with
.B volcopy
can be accomplished.
If the save will require two or more tapes,
.I both
tapes must be labeled
.I before
the
.B volcopy
is started.
To determine the number of tapes the file save will require, try:
.DS 1 0
# volcopy \-bpi1600 \-feet2400  \fIfilesys\fP  /dev/rrp\fI??\fP  \fIvolume\fP  /dev/rmt1 t0001
You will need 1 reels.
From: /dev/rrp\fI??\fP, to: /dev/rmt1? (\s-1DEL\s0 if wrong)  \fIHit \s-1DEL\s0\fP
#
.DE
The above procedure assumes you are using 2400 feet reels, and
.B /dev/rmt1
indicates 1600 bytes-per-inch density.
To accomplish the labeling, follow the below example for
.B /usr .
It is assumed that
.B t0001
is the tape volume label.
If two or more tapes are required, they should be labeled
consecutively both externally and internally.
The external label should indicate which sequence number
the tape is of the set for the file system.
Note the use of the
.B \-n
option.
Unless you use this option on an unlabeled tape,
the program will scan the entire reel looking for a label to change
before it rewinds and labels the beginning.
This can be very time consuming on 2400 feet reels.
.DS 1 0
# labelit /dev/rmt1 usr t0001 \-n
Skipping label check!
\s-1NEW\s0 fsname = usr, \s-1NEW\s0 volume = t0001 \-\- \s-1DEL\s0 if wrong!!
#
.DE
After the tapes are labeled, you should then check the
disk file system for errors with
.B fsck .
The actual copy is accomplished much the same as from disk to disk.
The only difference is you may have to respond to more questions
if the options of
.B \-bpi
and
.B \-feet
are not included on the command line of
.B volcopy .
.DS 1 0
# volcopy usr /dev/rrp1 p0001 /dev/rmt1 t0001
Enter size of reel in feet for <t0001>:    \fB2400\fP
Tape density? (i.e., 800 | 1600 | 6250)?    \fB1600\fP
You will need 1 reels.
From: /dev/rrp1, to: /dev/rmt1? (\s-1DEL\s0 if wrong)
\s-1END\s0: 35000 blocks.
#
.DE
.UH 2 "FILE RESTORES"
If your installation includes daily filesaves as a normal
routine, these backup versions of the file systems can provide
a user good insurance against the loss of a lot of previous work due to
a system crash and subsequent file system damage.
.UH 3 "Restoring from Disk."
When a request is made to restore a file from a backup pack, the
operator should locate that pack and determine on which section the
requested file system resides.
Place that pack on a spare drive and power on the drive.
You may choose to mount the file system write
protected by specifying the
.B \-r
option of
.B mount .
At the console terminal the operator should log onto
the system as
.B root .
The following example shows
the procedure for restoring the file
.B /usr/adm/acct/sum/tacct
from a previous backup pack.
For this example, drive \fB4\fP is a spare drive
and
.B /usr
is on section \fB1\fP of the backup pack.
.DS 1 0
# mount  /dev/rp41  /bck \-r
\s-1WARNING\s0!! \- mounting: <usr> as </bck>
# ls \-l /bck/adm/acct/sum/tacct   (\^\fITo verify file existence and identify owner.\fP\^)
\-rw\-rw\-r\-\- 1 adm      3216 Oct 3 03:29 /usr/adm/acct/sum/tacct
# cp  /bck/adm/acct/sum/tacct  /usr/adm/acct/sum/tacct
# chown adm /usr/adm/acct/sum/tacct
# umount /dev/rp41
# 
.DE
It is usually a good practice for the operator performing the file
restore to
.B mail
a message to the requester upon its completion.
The procedure for this is:
.DS 1 0
# mail \fIuser\fP
I have restored the file /usr/adm/acct/sum/tacct
from Friday's backup.
.I "operator's initials"
.
#
.DE
.UH 3 "Restoring from Tape."
If the file does not exist on any of the backup packs or if your installation
does not perform disk file saves, then you will have to recover the file from
a tape save.
It is assumed that tape saves have been performed in the same
manner as disk saves, i.e., with
.B volcopy .
The subject of file saves is discussed in the section
.B "\s-1FILE\s0 \s-1SAVES\s0"
within this document.
In order to restore a file from tape, the whole file system must first be
placed back on a spare section of the disk.
The backup version can then be accessed in the same way as
described in
.B "Restoring from Disk"
within this document.
For this example, it is assumed that
the
.B usr
file system
is the second file on the tape and that section
.B 5
of disk drive
.B 0
is a spare section on that disk.
It is also assumed that the tape drive has 1600bpi
capability; if not, a similar procedure can be followed for
800bpi recorded tapes.
.DS 1 0
(\^\fImount tape on tape drive 0\fP\^)
# echo < /dev/mt4   (\fIspace past first file on tape, no rewind\fP)
# volcopy usr /dev/rmt1 t0001 /dev/rrp5 p0001
Enter size of reel in feet for <t0001>:    \fB2400\fP
Tape density? (i.e., 800 | 1600 | 6250)?    \fB1600\fP
You will need 1 reels.
From: /dev/rmt1, to: /dev/rrp5? (\s-1DEL\s0 if wrong)
\s-1END\s0: 35000 blocks.
# mount /dev/rp5 /bck
\s-1WARNING\s0!! \- mounting: <usr> as </bck>
# cp /bck/adm/acct/sum/tacct /usr/adm/acct/sum/tacct
# umount /dev/rp5
#
.DE
.UH 2 "MESSAGE OF THE DAY"
.P
When a user logs into the system,
part of the login procedure prints out a
message of the day.
This message can contain several lines of useful information
to the user
concerning scheduled down-time for hardware
preventive maintenance (\s-1PM\s0),
clean up messages for space-low file systems, or
any other useful warnings to which users may need to be alerted.
The trick to maintaining this file is to keep it short and to the point.
A user does not want to wait ten minutes while eloquent and
wordy dialogue is spewed from the terminal
before he or she can begin working.
.P
The contents of this message is stored in the file
.B /etc/motd .
You may change the contents of this file by using the
\s-1UNIX\s0 text editor
(see
.I ed\^ (1)
in [3]).
A sample of adding and deleting a line from this file
is shown below.
.DS 1 0
# ed /etc/motd
26
p
9/23: Reboot at 5pm today.
d
a
9/24: Down for PM 1700-2100 on 9/30.
.
w
37
q
#
.DE
You can also remove the contents of the entire file by:
.DS 1 0
# cp /dev/null /etc/motd
#
.DE
.UH 2 "SYSTEM SHUTDOWN"
.P
Whenever the system must be shutdown, such as for file saves or a reboot,
the program
.B /etc/shutdown
should be used.
This program is the graceful way to bring the system into single-user
mode.
You can specify the amount of grace period between sending a warning
message out and actually shutting down.
This grace period is the number of seconds of delay.
You may, optionally, send your own message.
A default message is sent to all logged in users if you don't
type your own.
The following shows a sample session of shutting the system down.
.nf
.in +.5i
.sp 1
# /etc/shutdown 300   (\fI5 minute grace period\fP\^)
shutdown: you must be in the root directory (/) to use shutdown
# cd /
# /etc/shutdown 300

\s-1SHUTDOWN\s0 \s-1PROGRAM\s0

Thu Sep  1 18:51:58 \s-1EST\s0 1979


Do you want to send your own message? (y or n):   \fBy\fP
Type your message followed by ctrl d....
.B
System coming down for filesaves!
Please log off.
.R
(\fICntl\|\fP/\fId\fP)

System coming down for filesaves!
Please log off.
(\fIwaits for 5 minutes\fP)
\s-1SYSTEM\s0 \s-1BEING\s0 \s-1BROUGHT\s0 \s-1DOWN\s0 \s-1NOW\s0 ! ! !

Busy out (push down) the appropriate
phone lines for this system.

Do you want to continue? (y or n):   \fBy\fP
Error logging stopped
Hasp stopped
Process accounting stopped.

All currently running processes will now be killed.

Changing init states, continue (y or n):  \fBy\fP
pwba
single-user

.tr ~
~~~\s-1PID\s0~\s-1TTY\s0~~~~\s-1TIME\s0~\s-1CMD\s0
~~~~~0~~~?~~187:48~swapper
~~~~~1~~~?~~~~0:03~\s-1INIT\s0~1
~11061~~co~~~~0:04~\-sh
~25023~~co~~~~0:03~/etc/shutdown
~25052~~co~~~~0:23~ps~ax

Will a file save be done at this time?
Type either ( y or n ) :  \fBy\fP
Want to run fsck at this time?
Type either ( y or n ) :  \fBy\fP
fsck will now be executed on files in checklist
.B
.ta .5i
\s+3
	.
	.
	.
\s0
.R


Halt the system when ready.
.in -.5i
.sp 1
.fi
.P
At the completion of this program you can either halt the system,
start the file save
routine, reboot the system, or bring it back to multi-user mode.
.UH 2 "SYSTEM CRASH RECOVERY"
.P
An operating system is considered to have ``crashed'' when it halts
itself without being asked to.
The reason for the halt is often unknown and can be hardware failure
or software related.
It is important, for obvious reasons, to determine the nature of the
crash so that it will not happen again.
One way to do this is to take a dump of memory on tape so that
debugging programs can later decipher what processing was
going on at the time the
crash occurred.
The method for this is:
.AL
.LI
Mount a tape on drive 0 with a write ring in.
.LI
Set
.I CSW\^
to the address 000044\*o (switches 5 and 2 up).
.LI
Lift the
.B \s-1HALT\s0
Switch
to the
.B "\s-1ENABLE\s0 [\s-1ENABL\s0]"
position.
.LI
Depress the
.B \s-1START\s0
Switch.
.LE
.P
When the tape has rewound, unmount it and afix a label with the
date and time of the crash written on it.
.P
You should now attempt to reboot \s-1UNIX\s0 as described in
.B "\s-1BOOT\s0 \s-1PROCEDURES\s0"
in this document.
If the system fails to reboot, the operating system was probably
damaged in the crash.
Now is the time to pull that vital backup version of the
.B root
file system off the shelf and use it for the reboot.
.P
When you have finally rebooted the system, it is likely to have a lot
of file system damage.
If this damage is extensive enough, you may have to restore
the entire file system.
A sample of this is:
.DS 1 0
(\fImount the backup pack on a spare drive\^\fP)
# volcopy fs1 /dev/rrp43 p0625 /dev/rrp3 p0601
From: /dev/rrp43, to: /dev/rrp3? (\s-1DEL\s0 if wrong)
\s-1END\s0: 65000 blocks.
#
.DE
.P
Be sure to run
.B fsck
on all the mountable file systems before setting the date
and going to multi-user mode.
.UH 1 "SYSTEM ERROR MESSAGES"
.UH 2 "INTRODUCTION"
.P
Sometimes before \s-1UNIX\s0 crashes, it has time to print some error messages
and warnings.
You may notice if you are logged in as a normal user, that the system
will stop everything for a period of time while it is printing
messages to the console terminal (remember to leave at least one
console switch up!).
There are a wide variety of messages that can occur
but there are only two distinct types:
.DS 1 0
Fatal \- System failure is imminent, and
Warning \- Something is happening that may lead to a system failure.
.DE
.UH 2 "SYSTEM ERROR MESSAGES \- FATAL"
.in +1i
.sp 1
.ti -.5i
panic: no clock
.br
Neither the KW11-L nor the KW11-P was found at
their standard \s-1UNIBUS\s0 addresses.
.sp 1
.ti -.5i
panic: buffers
.br
Insufficient memory space was found
when the system was attempting
to allocate the non-addressable buffer pool.
.sp 1
.ti -.5i
panic: iinit
.br
An error occurred while the system
was reading in the superblock
of the root file system.
.sp 1
.ti -.5i
< loop at User location 6 >
.br
The initialization and line monitor program,
/etc/init,
cannot be executed.
.sp 1
.ti -.5i
panic: IO err in swap
.br
An unrecoverable error has occurred
during a system swap operation.
.sp 1
.ti -.5i
panic: Out of swap
.br
Insufficient space was found on the system swap device
when attempting to allocate buffering for the arguments
to a process overlay.
.sp 1
.ti -.5i
panic: out of swap space
.br
Insufficient space was found on the swap device
when attempting to swap out a process
or a copy of a pure text image.
.sp 1
.ti -.5i
panic: trap
.br
An unexpected system fault has occurred.
This message is preceded by the type of trap
and the location of the currently running process.
.sp 1
.ti -.5i
death
.br
A system stack overflow has occurred, typically
caused by repetitive interrupting of a
faulty I/O device.
.sp 1
.ti -.5i
panic: parity
.br
A memory system error has occurred
in the realm of the operating system address space.
When this occurs in a User process, that process
is terminated without a panic.
.sp 1
.if t .bp
.ti -.5i
Timeout table overflow
.br
The system timeout table - used to implement
software interrupts - has overflowed
while attempting to add another entry.
.sp 1
.ti -.5i
panic: devtab
.br
The list header for the chain of buffers
attached to a block type device cannot be found.
.sp 1
.ti -.5i
panic: blkdev
.br
The major device number of a block type device
exceeds the number of such devices in the system.
This error should have been detected earlier.
.sp 1
.ti -.5i
panic: no fs
.br
The superblock of a mounted file system
cannot be found.
.sp 1
.ti -.5i
panic: no imt
.br
A mount point was not found in the system mount table
when traversing a file system boundary.
.sp 1
.ti -.5i
panic: no procs
.br
A process table entry cannot be found
during a process fork when it is known
that an entry is available.
.in -1i
.UH 2 "SYSTEM ERROR MESSAGES \- WARNINGS"
.in +1i
.sp 1
.ti -.5i
no space on dev major/minor
.br
The corresponding file system has run out of available
free blocks.
.sp 1
.ti -.5i
Out of inodes on dev major/minor
.br
The corresponding file system contains no more
free file control blocks.
.sp 1
.ti -.5i
bad block on dev major/minor
.br
A block number not in the valid range
of available free blocks on a file system has
been detected.
.sp 1
.ti -.5i
Bad free count on dev major/minor
.br
A corrupted freelist block has been
detected while attempting to allocate
a new block for a file.
.sp 1
.ti -.5i
bad count on dev major/minor
.br
The super block parameters for free blocks and inodes
have become corrupted for this file system.
.sp 1
.ti -.5i
Inode table overflow
.br
The system file control block table
has overflowed.
An access to a currently unused file has failed.
.sp 1
.ti -.5i
No file
.br
The system file access control table has overflowed.
A new reference to a file has failed.
.sp 1
.ti -.5i
Out of text
.br
The system shared text program control table has overflowed.
An attempt to execute a currently unused shared text program
has failed.
.sp 1
.ti -.5i
Power fail #
.br
A power fail condition has been detected.
If power fail recovery has been specified in the
system configuration, the initialization process
will be informed.
.sp 1
.ti -.5i
Stopped
.br
Printed after a power fail condition
if recovery has not been specified.
The system is halted.
.sp 1
.ti -.5i
iaddress > 2^24
.br
When updating the file control block for a file,
a block number in the inode was found to be
greater than that permissible.
.sp 1
.ti -.5i
proc on q
.br
When making a process runnable,
after the occurrence of a wakeup event,
it was found that the process was already
on the system run queue.
.sp 1
.ti -.5i
parity
.br
A system memory error has occurred.
This message is followed by the contents of
the low error address register,
the high error address register,
the memory system error register
and the memory control register.
.sp 1
.ti -.5i
Stray interrupt at vector
.br
A device has interrupted through a vector not specified in the
configuration description.
.sp 1
.ti -.5i
RP04/5/6 drive # not available
.br
The designated drive is no longer available
for I/O operations due to an error condition.
.sp 1
.ti -.5i
hard err on RP04/5/6 rpds rper1 rper2 rper3
.br
After a certain number of unsuccessful retry
attempts, a hard error still exists on a drive access.
The register contents are those of the drive status register
and the 3 drive error registers.
.sp 1
.ti -.5i
\s-1DMC\s0# lost block
.br
The buffer header for a dmc transfer operation
claimed to be completed cannot be found.
.sp 1
.ti -.5i
RS03/4 not available
.br
An RS03 or RS04 drive is no longer accessible.
.sp 1
.ti -.5i
dzk: xint
.br
In a system with DZ11 multiplexors with \s-1KMC\s011 assist,
a transmitter interrupt has occurred.
.sp 1
.ti -.5i
Hardware Error.
.br
When a hardware error occurs on a block type
device, certain device dependent registers are
displayed.
The message is of the form:
.br
.ti +.5i
err on dev major/minor
.br
followed by:
.br
.ti +.5i
bn=# er=#, #
.br
This is the block number in error
followed by an error register and a control register
whose contents can be interpreted in [5] under the appropriate
device.
.TS
l l l
c c c.
\s-1DEVICE\s0	\s-1ERROR\s0 \s-1REGISTER\s0	\s-1CONTROL\s0 \s-1REGISTER\s0
RP06	\s-1RPER\s01	\s-1RPCS\s02
RS04	\s-1RSCS\s02	0
TE16	\s-1MTER\s0	\s-1MTCS\s02
RP03	\s-1RPCS\s0	\s-1RPDS\s0
RK05	\s-1RKER\s0	\s-1RKDS\s0
RF11	\s-1RFCS\s0	\s-1RFDAE\s0
.TE
.in -1i
.UH 1 "REFERENCES"
.RL
.LI
.I "PDP 11/70 Processor Handbook" ,
Digital Equipment Corporation, 1977-78.
.LI
.I "PDP11 04/34/45/55 Processor Handbook" ,
Digital Equipment Corporation, 1976-77.
.LI
.I "PWB/UNIX User's Manual" ,
Release 2.0, June 1979.
.LI
.I "File System Check Program: Interactive File System Repair" ,
by T. J. Kowalski, Bell Laboratories.
.LI
.I "PDP11 Peripherals Handbook" ,
Digital Equipment Corporation, 1978-79.
.LE
.SG agp
.sp
.I "January 1980"
.TC
.CS