.\" $NetBSD: format.8,v 1.14 2017/07/03 21:31:00 wiz Exp $
.\"
.\" Copyright (c) 1980, 1983, 1993
.\" The Regents of the University of California. All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the University nor the names of its contributors
.\" may be used to endorse or promote products derived from this software
.\" without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\" from: @(#)format.8 8.1 (Berkeley) 6/5/93
.\"
.Dd February 17, 2017
.Dt FORMAT 8 vax
.Os
.Sh NAME
.Nm format
.Nd how to format disk packs
.Sh DESCRIPTION
There are two ways to format disk packs. The simplest is to
use the
.Nm
program.
The alternative is to use the DEC standard formatting software which
operates under the DEC diagnostic supervisor.
This manual page describes the operation of
.Nm ,
then concludes with some remarks about using the DEC formatter.
.Pp
.Nm
is a standalone program used to format and check disks prior to
constructing file systems.
In addition to the formatting operation,
.Nm
records any bad sectors encountered according to DEC standard 144.
Formatting is performed one track at a time by writing the appropriate
headers and a test pattern and then checking the sector by reading and
verifying the pattern, using the controller's ECC for error detection.
A sector is marked bad if an unrecoverable media error is detected, or
if a correctable ECC error too many bits in length is detected (such
errors are indicated as
.Dq ECC
in the summary printed upon completing the format operation).
After the entire disk has been formatted and checked, the total number
of errors are reported, any bad sectors and skip sectors are marked,
and a bad sector forwarding table is written to the disk in the first
five even numbered sectors of the last track.
It is also possible to reformat sections of the disk in units of
tracks.
.Nm
may be used on any
.Tn UNIBUS
or
.Tn MASSBUS
drive supported by the
.Em up
and
.Em hp
device drivers which uses 4-byte headers (everything except RP's).
.Pp
The test pattern used during the media check may be selected from one
of: 0xf00f (RH750 worst case), 0xec6d (media worst case), and 0xa5a5
(alternating 1's and 0's).
Normally the media worst case pattern is used.
.Pp
.Nm
also has an option to perform an extended
.Dq severe burn-in ,
which makes a number of passes using different patterns.
The number of passes can be selected at run time, up to a maximum of
48, with provision for additional passes or termination after the
preselected number of passes.
This test runs for many hours, depending on the disk and processor.
.Pp
Each time
.Nm
is run to format an entire disk, a completely new bad sector table is
generated based on errors encountered while formatting.
The device driver, however, will always attempt to read any existing
bad sector table when the device is first opened.
Thus, if a disk pack has never previously been formatted, or has been
formatted with different sectoring, five error messages will be
printed when the driver attempts to read the bad sector table; these
diagnostics should be ignored.
.Pp
Formatting a 400 megabyte disk on a
.Tn MASSBUS
disk controller usually takes about 20 minutes.
Formatting on a
.Tn UNIBUS
disk controller takes significantly longer.
For every hundredth cylinder formatted
.Nm
prints a message indicating the current cylinder being formatted.
(This message is just to reassure people that nothing is amiss.)
.Pp
.Nm
uses the standard notation of the standalone I/O library in
identifying a drive to be formatted.
A drive is specified as
.Em zz(x,y) ,
where
.Em zz
refers to the controller type (either
.Em hp
or
.Em up ) ,
.Em x
is the unit number of the drive; 8 times the
.Tn UNIBUS
or
.Tn MASSBUS
adaptor number plus the
.Tn MASSBUS
drive number or
.Tn UNIBUS
drive unit number; and
.Em y
is the file system partition on drive
.Em x
(this should always be 0).
For example,
.Dq hp(1,0)
indicates that drive 1 on
.Tn MASSBUS
adaptor 0 should be formatted; while
.Dq up(10,0)
indicates that
.Tn UNIBUS
drive 2 on
.Tn UNIBUS
adaptor 1 should be formatted.
.Pp
Before each formatting attempt,
.Nm
prompts the user in case debugging should be enabled in the
appropriate device driver.
A carriage return disables debugging information.
.Pp
.Nm
should be used prior to building file systems (with
.Xr newfs 8
to ensure that all sectors with uncorrectable media errors are
remapped.
If a drive develops uncorrectable defects after formatting, either
.Xr bad144 8
or
.Xr badsect 8
should be able to avoid the bad sectors.
.Sh EXAMPLES
A sample run of
.Nm
is shown below.
In this example (using a
.Tn VAX-11/780 ) ,
.Nm
is loaded from the console floppy;
on an 11/750
.Nm
will be loaded from the root file system with
.Xr vax/boot 8
following a
.Dq B/3
command.
Boldface means user input.
As usual,
.Dq #
and
.Dq @
may be used to edit input.
.Bd -literal -offset 0.5i
>>>\fBL FORMAT\fP
LOAD DONE, 00004400 BYTES LOADED
>>>\fBS 2\fP
Disk format/check utility
.sp
Enable debugging (0=none, 1=bse, 2=ecc, 3=bse+ecc)? \fB0\fP
Device to format? \fBhp(8,0)\fP
(\fIerror messages may occur as old bad sector table is read\fP)
Formatting drive hp0 on adaptor 1: verify (yes/no)? \fByes\fP
Device data: #cylinders=842, #tracks=20, #sectors=48
Starting cylinder (0):
Starting track (0):
Ending cylinder (841):
Ending track (19):
Available test patterns are:
.Ed
.Bd -literal -offset 1.5i -compact
1 - (f00f) RH750 worst case
2 - (ec6d) media worst case
3 - (a5a5) alternating 1's and 0's
4 - (ffff) Severe burnin (up to 48 passes)
.Ed
.Bd -literal -offset 0.5i -compact
Pattern (one of the above, other to restart)? \fB2\fP
Maximum number of bit errors to allow for soft ECC (3):
Start formatting...make sure the drive is online
...
(\fIsoft ecc's and other errors are reported as they occur\fP)
...
(\fIif 4 write check errors were found, the program terminates like this...\fP)
...
Errors:
Bad sector: 0
Write check: 4
Hard ECC: 0
Other hard: 0
Marked bad: 0
Skipped: 0
Total of 4 hard errors revectored.
Writing bad sector table at block 808272
(\fI808272 is the block # of the first block in the bad sector table\fP)
Done
(\fI...program restarts to allow formatting other disks\fP)
(\fI...to abort halt machine with ^P\fP)
.Ed
.Sh DIAGNOSTICS
The diagnostics are intended to be self explanatory.
.Sh USING DEC SOFTWARE TO FORMAT
.Em Warning: These instructions are for people with 11/780 CPUs.
The steps needed for 11/750 or 11/730 CPU's are similar, but not
covered in detail here.
.Pp
The formatting procedures are different for each type of disk.
Listed here are the formatting procedures for RK07's, RP0X, and RM0X
disks.
.Pp
You should shut down UNIX and halt the machine to do any disk formatting.
Make certain you put in the pack you want formatted.
It is also a good idea to spin down or write protect the disks you
don't want to format, just in case.
.Ss Formatting an RK07
Load the console floppy labeled,
.Dq RX11 VAX DSK LD DEV #1
in the console disk drive, and type the following commands:
.Bd -literal -offset indent
>>>BOOT
DIAGNOSTIC SUPERVISOR. ZZ-ESSAA-X5.0-119 23-JAN-1980 12:44:40.03
DS>ATTACH DW780 SBI DW0 3 5
DS>ATTACH RK611 DMA
DS>ATTACH RK07 DW0 DMA0
DS>SELECT DMA0
DS>LOAD EVRAC
DS>START/SEC:PACKINIT
.Ed
.Ss Formatting an RP0X
Follow the above procedures except that the
ATTACH and SELECT lines should read:
.Bd -literal -offset indent
DS>ATTACH RH780 SBI RH0 8 5
DS>ATTACH RP0X RH0 DBA0 (RP0X is, e.g., RP06)
DS>SELECT DBA0
.Ed
.Pp
This is for drive 0 on mba0; use 9 instead of 8 for mba1, etc.
.Ss Formatting an RM0X
Follow the above procedures except that the
ATTACH and SELECT lines should read:
.Bd -literal -offset indent
DS>ATTACH RH780 SBI RH0 8 5
DS>ATTACH RM0X RH0 DRA0
DS>SELECT DRA0
.Ed
.Pp
Don't forget to put your UNIX console floppy back in the floppy disk
drive.
.Sh SEE ALSO
.Xr bad144 8 ,
.Xr badsect 8 ,
.Xr newfs 8
.Sh BUGS
An equivalent facility should be available which operates under a
running UNIX system.
.Pp
It should be possible to reformat or verify part or all of a disk,
then update the existing bad sector table.